17 lines
582 B
GDScript
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)
|