generated from krampus/template-godot4
29 lines
905 B
GDScript
29 lines
905 B
GDScript
extends Building
|
|
|
|
var citizen_count: int = 0
|
|
|
|
|
|
func can_citizen_enter(coord: Vector2i, direction: Board.Direction) -> bool:
|
|
var down_adjustment := Board.get_next_direction(Board.Direction.DOWN, get_rotation_count())
|
|
var correct_heading := Board.get_next_direction(Board.Direction.UP, get_rotation_count())
|
|
|
|
var entrance := starting_coord + Board.get_direction_vector(down_adjustment)
|
|
return coord == entrance and direction == correct_heading
|
|
|
|
|
|
func get_tile_coords() -> Array[Vector2i]:
|
|
var result: Array[Vector2i] = []
|
|
result.push_back(starting_coord)
|
|
return result
|
|
|
|
|
|
func get_direction_queue(_citizen: Citizen) -> Array[Board.Direction]:
|
|
citizen_count += 1
|
|
if citizen_count % 2 == 0:
|
|
return [Board.get_next_direction(Board.Direction.RIGHT, get_rotation_count())]
|
|
return [Board.get_next_direction(Board.Direction.LEFT, get_rotation_count())]
|
|
|
|
|
|
func activate(_citizen: Citizen) -> void:
|
|
pass
|