building templated

added corruption
changed tile placement to base obj
This commit is contained in:
2024-02-04 08:29:40 -06:00
parent 5b546291bf
commit 736dc9b704
7 changed files with 211 additions and 312 deletions

23
scripts/Base.gd Normal file
View File

@@ -0,0 +1,23 @@
extends Node2D
class_name Base
@export var world_grid: TileMap
var grid_loc
var i = 1
const curruption_directions := [Vector2i.LEFT, Vector2i.RIGHT, Vector2i.UP, Vector2i.DOWN]
var corruption_tiles: Array[Vector2i] = []
func _ready():
grid_loc = world_grid.local_to_map(position)
corruption_tiles.append(grid_loc)
world_grid.set_cell(Constants.TilemapLayers.BUILDINGS, grid_loc, 0, Vector2i(17,7))
func _on_expand_timer_timeout():
var corrupt_tile = corruption_tiles.pick_random() + self.curruption_directions.pick_random()
while corruption_tiles.has(corrupt_tile):
corrupt_tile = corruption_tiles.pick_random() + self.curruption_directions.pick_random()
corruption_tiles.append(corrupt_tile)
world_grid.set_cells_terrain_connect(Constants.TilemapLayers.ENVIRONMENT, corruption_tiles, 0, 0)
i += 1

View File

@@ -1,8 +1,12 @@
extends Node2D
@onready var world_grid = $"../world_grid"
var base = preload("res://scene/base.tscn")
func _unhandled_input(event):
if event is InputEventMouseButton and event.is_pressed() and event.button_index == MOUSE_BUTTON_LEFT:
prints(event.position, get_global_mouse_position(), world_grid.local_to_map(event.position), get_global_mouse_position(), world_grid.local_to_map(get_global_mouse_position()))
world_grid.set_cell(2, world_grid.local_to_map(get_global_mouse_position()), 0, Vector2i(16,2))
var build = base.instantiate()
build.position = get_global_mouse_position()
build.world_grid = world_grid
add_child(build)
#world_grid.set_cell(2, world_grid.local_to_map(get_global_mouse_position()), 0, Vector2i(16,2))

9
scripts/constants.gd Normal file
View File

@@ -0,0 +1,9 @@
extends Node
class_name Constants
enum TilemapLayers {
GROUND = 0,
CURSOR = 1,
ENVIRONMENT = 2,
BUILDINGS = 3,
}