This commit is contained in:
2026-01-21 23:40:20 +01:00
commit d1f8068081
478 changed files with 24902 additions and 0 deletions

59
script/map_screen.gd Normal file
View File

@@ -0,0 +1,59 @@
extends Control
class_name MapScreen
@onready var map: TextureRect = $TextureRect
@onready var playerIndicator: ColorRect = $PlayerIndicator
@onready var taskListContainer: VBoxContainer = $TaskList
@onready var taskLabelSettings: LabelSettings = preload("res://test/TaskListLabelSettingstest.tres")
var mapImmage: Image
var playerCharacter: PlayerCharacter
var mapDimensions: Vector2 = Vector2(0,0)
var trackPlayer: bool = false
var taskList: Array[MissionTask]
func _process(_delta: float) -> void:
#Update Player Pos on map
if trackPlayer and playerCharacter:
playerIndicator.position = Vector2(playerCharacter.position.x, playerCharacter.position.z) * map.size/mapDimensions + Vector2(map.size.x/2 + map.position.x,map.size.y/2 + map.position.y) - playerIndicator.size/2
func generateMap(grid: Array[Array]) -> void: #Seccond Array contains gridCells
mapImmage = Image.create_empty(grid.size(),grid[0].size(),false,Image.FORMAT_RGB8)
for x in grid.size():
for y in grid[x].size():
if grid[x][y].biomeConnection:
mapImmage.set_pixel(x,y,Color.DARK_GREEN)
elif grid[x][y].spaceTaken:
mapImmage.set_pixel(x,y,Color.GREEN)
else:
mapImmage.set_pixel(x,y,Color.DIM_GRAY)
map.texture = ImageTexture.create_from_image(mapImmage)
mapDimensions = Vector2(grid.size(),grid[0].size())
if !playerCharacter:
playerCharacter = Multiplayer.thisPlayer
trackPlayer = true
func addTask(task: MissionTask) -> void:
taskList.push_back(task)
var label := Label.new()
label.name = task.taskName
label.text = task.description
label.label_settings = taskLabelSettings
taskListContainer.add_child(label)
task.taskLabel = label
func completeTask(task: MissionTask) -> void:
if taskList.has(task):
task.taskLabel.queue_free()
taskList.erase(task)