nature-sim/Utilities/MapData/MapData.gd
2025-06-23 19:39:55 +01:00

47 lines
999 B
GDScript

class_name MapDataClass
extends Node
var map_data: Array
var cell_data: CellDataResource
func _init() -> void:
map_data.resize(500) # First resize the main array
for y in range(500):
map_data[y] = []
map_data[y].resize(500)
func _ready() -> void:
Log.pr('MapData class ready...')
func setup_cell_data(x, z, density, path = false, water = false):
var cell_data_res = CellDataResource.new()
cell_data_res.x = x
cell_data_res.z = z
if path or water:
cell_data_res.vegetation_density = 0
else:
cell_data_res.vegetation_density = density
if path:
cell_data_res.ground_compaction = 1
# Set water level
if water:
cell_data_res.water = 100
cell_data_res.moisture_level = 100
map_data[x][z] = cell_data_res
func get_map_data(x, z) -> CellDataResource:
if x < map_data.size() and x >= 0:
if z < map_data[x].size() and z >= 0:
return map_data[x][z]
else:
Log.pr("Z index out of bounds")
else:
Log.pr("X index out of bounds")
return CellDataResource.new()