22 lines
796 B
GDScript
22 lines
796 B
GDScript
extends Node2D
|
|
class_name Base
|
|
|
|
@export var world: World
|
|
var grid_loc: Vector2i
|
|
|
|
const curruption_directions := [Vector2i.LEFT, Vector2i.RIGHT, Vector2i.UP, Vector2i.DOWN]
|
|
var corruption_tiles: Array[Vector2i] = []
|
|
|
|
func _ready() -> void:
|
|
grid_loc = world.grid_location(position)
|
|
world.change_location_data(grid_loc, Constants.TilemapLayers.BUILDINGS, Vector2i(17,7))
|
|
corruption_tiles.append(grid_loc)
|
|
world.corrupt_location(grid_loc)
|
|
|
|
func _on_expand_timer_timeout() -> void:
|
|
var corrupt_tile: Vector2i = corruption_tiles.pick_random() + self.curruption_directions.pick_random()
|
|
while corruption_tiles.has(corrupt_tile):
|
|
corrupt_tile = corruption_tiles.pick_random() + self.curruption_directions.pick_random()
|
|
corruption_tiles.append(corrupt_tile)
|
|
world.corrupt_location(corrupt_tile)
|