Files
Corupture/scripts/expansion_patterns/expansion_square_pattern.gd
Eric 33334f03e8 Added corruption pattern
#11 starting building ui
2024-02-08 11:00:05 -06:00

20 lines
700 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))