1234567891011121314151617181920212223242526272829303132333435363738394041 |
- extends TileMap
- signal kace_broken
- signal has_moved
- enum Tile {
- BRICK = 0,
- }
- enum State {
- DONE,
- MOVING,
- }
- var current_state = State.DONE
- var current_row = 1
- func generate_row():
- for k in range(10):
- set_cell(k, -current_row, Tile.BRICK)
- func move():
- current_row += 1
- position.y += cell_size.y
- func _on_Ball_kace_contact(contact_pos:Vector2):
- var local_position = to_local(contact_pos)
- var tile_pos = world_to_map(local_position)
- var cell = get_cellv(tile_pos)
- if cell != TileMap.INVALID_CELL and cell == Tile.BRICK:
- set_cellv(tile_pos, -1)
- emit_signal("kace_broken")
- func _on_Launcher_is_full():
- generate_row()
- current_state = State.MOVING
- move()
- current_state = State.DONE
- emit_signal("has_moved")
|