notSpore/langtons-ant/tile_map_layer.gd

17 lines
582 B
GDScript

extends TileMapLayer
var tiles: Dictionary = {}
@onready var numTiles: int = get_tile_set().get_source(0).get_tiles_count()
#@onready var texSize: Vector2 = get_tile_set().get_tile_texture(get_tile_set().get_tile_id(0))
@onready var texSize: Vector2 = Vector2(32, 32) # TODO: get from tileSet
func get_tile_colour(pos: Vector2i) -> int:
return self.tiles.get_or_add(pos, 0)
# TODO: state should be an enum probably
func set_tile(pos: Vector2i, state: int) -> void:
set_cell(pos, 0, Vector2i(0, state))
self.tiles.erase(pos)
self.tiles.get_or_add(pos, state % self.numTiles)