Initial commit

This commit is contained in:
Haze Weathers 2025-08-06 10:26:28 -06:00
commit 3b96451047
71 changed files with 2302 additions and 0 deletions

View file

@ -0,0 +1,37 @@
@icon("move_character_event.svg")
class_name WBMoveCharacterEvent
extends WBEvent
## Event that moves a character to the specified tile.
## Charcter to move.
@export var character: WBCharacter
## Tile position to move the target to.
@export var target_tile: Vector2i
## Whether the character should be running.
@export var run: bool = false
## Whether the character should move vertically or horizontally first.
@export var prefer_vertical: bool = false
func _perform() -> void:
while character.tile_position != target_tile:
if prefer_vertical:
if character.tile_position.y < target_tile.y:
character.start_move(WBCharacter.Dir.DOWN, true)
elif character.tile_position.y > target_tile.y:
character.start_move(WBCharacter.Dir.UP, true)
elif character.tile_position.x < target_tile.x:
character.start_move(WBCharacter.Dir.RIGHT, true)
elif character.tile_position.x > target_tile.x:
character.start_move(WBCharacter.Dir.LEFT, true)
else:
if character.tile_position.x < target_tile.x:
character.start_move(WBCharacter.Dir.RIGHT, true)
elif character.tile_position.x > target_tile.x:
character.start_move(WBCharacter.Dir.LEFT, true)
elif character.tile_position.y < target_tile.y:
character.start_move(WBCharacter.Dir.DOWN, true)
elif character.tile_position.y > target_tile.y:
character.start_move(WBCharacter.Dir.UP, true)
await character.move_finished