|
@@ -13,12 +13,14 @@ enum State {
|
|
|
MOVING,
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+onready var life_container = $LifeContainer
|
|
|
+
|
|
|
+
|
|
|
var current_state = State.DONE
|
|
|
|
|
|
var current_row = 1
|
|
|
|
|
|
-var living_cells = {}
|
|
|
-
|
|
|
|
|
|
func generate_and_move():
|
|
|
generate_row()
|
|
@@ -39,20 +41,18 @@ func generate_cell(x, y):
|
|
|
|
|
|
func build_brick(x, y):
|
|
|
set_cell(x, y, Tile.BRICK)
|
|
|
- living_cells[Vector2(x, y)] = current_row * current_row
|
|
|
+ life_container.spawn_brick(x, y, current_row * current_row)
|
|
|
|
|
|
|
|
|
func damage_cell(tile_pos : Vector2):
|
|
|
var cell_id = get_cellv(tile_pos)
|
|
|
if cell_id != TileMap.INVALID_CELL and cell_id == Tile.BRICK:
|
|
|
- living_cells[tile_pos] -= 1
|
|
|
emit_signal("kace_damaged")
|
|
|
- if living_cells[tile_pos] <= 0:
|
|
|
+ if life_container.may_die_by_taking_this(tile_pos, 1):
|
|
|
break_cell(tile_pos)
|
|
|
|
|
|
|
|
|
func break_cell(tile_pos):
|
|
|
- living_cells.erase(tile_pos)
|
|
|
set_cellv(tile_pos, -1)
|
|
|
emit_signal("kace_broken")
|
|
|
|