Files
Corupture/scripts/expansion_patterns/expansion_square_pattern.gd
Eric 78c4291b6a created basic building class
started building groups
temp ui placed
#11 #13 #6
2024-02-09 12:19:22 -06:00

19 lines
698 B
GDScript

class_name ExpansionSquarePattern extends ExpansionBase
const EXPANSION_STAGES: int = 3
var expansion_stage: int = 0
var expansion_tiles: Array[Vector2i] = []
func expand_next_tile() -> Vector2i:
if expansion_tiles.is_empty():
if expansion_stage < EXPANSION_STAGES:
expansion_stage += 1
for x in range(-expansion_stage, expansion_stage + 1):
for y in range(-expansion_stage, expansion_stage + 1):
if abs(x) == expansion_stage or abs(y) == expansion_stage:
expansion_tiles.append(Vector2i(x, y))
if expansion_stage == EXPANSION_STAGES and expansion_tiles.size() == 1:
expansion_finished.emit()
return expansion_tiles.pop_at(randi_range(0, expansion_tiles.size() - 1))