End of lesson 30

This commit is contained in:
2025-04-18 17:46:43 -03:00
parent 2d87794af9
commit f4e4de59f5
9 changed files with 69 additions and 11 deletions

View File

@@ -11,15 +11,17 @@ var player
func _ready():
CommandDispatcher.PLAYER_MOVE.connect(onPlayerMove)
CommandDispatcher.TOGGLE_TILEMAP_LAYER.connect(onToggleRequest)
func spawnPlayerAtPosition(position, facing):
@warning_ignore("unused_parameter")
func spawnPlayerAtPosition(newPosition, facing):
var spawnposition:Vector2i
if (position == null):
if (newPosition == null):
spawnposition = defaultPlayerStartPosition
else:
spawnposition = position
spawnposition = newPosition
player.position = Vector2(spawnposition.x * 16, spawnposition.y * 16)
@@ -43,5 +45,15 @@ func onPlayerMove(direction):
player.updateAnimation(direction)
func playerCanMoveTo(position) -> bool:
@warning_ignore("unused_parameter")
func playerCanMoveTo(newPosition) -> bool:
return false
func onToggleRequest(layerName):
for layer in range(get_layers_count()):
if(get_layer_name(layer) == layerName):
if(is_layer_enabled(layer)):
set_layer_enabled(layer, false)
else:
set_layer_enabled(layer, true)

View File

@@ -4,6 +4,7 @@ class_name Map2d
enum TerrainDataTypes { TerrainType }
func getTerrainDataForTile(layer, data, x, y):
var tile:TileData = get_cell_tile_data(layer, Vector2i(x, y))
@@ -13,15 +14,15 @@ func getTerrainDataForTile(layer, data, x, y):
return null
func spawnPlayerAtPosition(position, facing):
func spawnPlayerAtPosition(newPosition, facing):
player = load("res://scenes/game/maps/entities/player.tscn").instantiate()
super.spawnPlayerAtPosition(position, facing)
super.spawnPlayerAtPosition(newPosition, facing)
player.updateFacing(facing)
get_node("Entities").add_child(player)
func playerCanMoveTo(position:Vector2) -> bool:
return !player.wouldCollideAt(position)
func playerCanMoveTo(newPosition:Vector2) -> bool:
return !player.wouldCollideAt(newPosition)

View File

@@ -6,5 +6,6 @@ class_name ChangeMapTrigger
@export var spawnpoint: Vector2i
@export var facing:Map.Direction
@warning_ignore("unused_parameter")
func execute(target):
CommandDispatcher.LOAD_MAP.emit(map, spawnpoint, facing)

View File

@@ -0,0 +1,12 @@
extends MapEntity
class_name ToggleRoofTrigger
@export var layerName:String
func execute(target):
CommandDispatcher.TOGGLE_TILEMAP_LAYER.emit(layerName)
func _on_area_entered(area: Area2D) -> void:
execute(area.get_parent())

View File

@@ -0,0 +1 @@
uid://c50fmagffbdas

View File

@@ -3,7 +3,7 @@ extends Area2D
class_name MapEntity
func execute(target):
print(target.name)
print("MapEntity.execute(%s)" % target.name)