feat: ant randomization

This commit is contained in:
2025-11-12 20:17:29 +01:00
parent 9156f8b979
commit b3d488e031
4 changed files with 42 additions and 20 deletions

View File

@@ -4,13 +4,19 @@ 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
@export var randomColors: bool = true
var stateColMap: Dictionary = {
}
var rng: RandomNumberGenerator = RandomNumberGenerator.new()
func get_tile_colour(pos: Vector2i) -> int:
return self.tiles.get_or_add(pos, 0)
return 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)
self.set_cell(pos, 0, Vector2i(0, state%numTiles))
if randomColors:
var col: Color = stateColMap.get_or_add(state, Color(rng.randf(), rng.randf(), rng.randf(), 1))
self.get_cell_tile_data(pos).set_modulate(col)
tiles.erase(pos)
tiles.get_or_add(pos, state)