brackeys-12/tile_map.gd
2024-09-09 14:19:38 -04:00

43 lines
946 B
GDScript

extends TileMap
var GridSize = 16
var Dic = {}
var Building_Mode: bool = false
func _ready():
for x in GridSize:
for y in GridSize:
Dic[str(Vector2(x,y))] = {
#"Type": "Ground",
"Placed": false
}
set_cell(0, Vector2(x, y), 0, Vector2i(0,0), 0)
func _process(delta):
#if (Input.is_action_just_pressed("rclick")):
if Building_Mode:
var tile = local_to_map(get_global_mouse_position())
for x in GridSize:
for y in GridSize:
if !Dic[str(Vector2(x,y))].get("Placed"):
erase_cell(1, Vector2(x,y))
if Dic.has(str(tile)):
set_cell(1, tile, 1, Vector2i(0,0), 0)
func _on_mouse_handler_clicked():
if Building_Mode:
var tile = local_to_map(get_global_mouse_position())
Dic[str(tile)]["Placed"] = true
func _on_mouse_handler_rclicked():
Building_Mode = !Building_Mode
for x in GridSize:
for y in GridSize:
if !Dic[str(Vector2(x,y))].get("Placed"):
erase_cell(1, Vector2(x,y))