Dimensions for constructibles

This commit is contained in:
Rendo 2025-10-11 12:58:36 +05:00
commit 6f56fffb59
18 changed files with 135 additions and 25 deletions

View file

@ -11,12 +11,18 @@ func _ready() -> void:
constructions.resize(building_zone.get_capacity())
func add_construction(construction : Construction) -> bool:
if constructions[building_zone.indexify_global_point(construction.global_position)]:
return false
var construction_dp = construction.get_dimension_points()
for point in construction_dp:
if constructions[building_zone.indexify_global_point(construction.global_position + point)]:
return false
construction.reparent(self)
construction.global_position = building_zone.get_placement_position(construction.global_position)
constructions[building_zone.indexify_global_point(construction.global_position)] = construction
for point in construction_dp:
constructions[building_zone.indexify_global_point(construction.global_position + point)] = construction
return true
func get_at(point : Vector2):
func get_at(point : Vector2) -> Construction:
return constructions[building_zone.indexify_global_point(point)]
func is_point_occupied(point : Vector2) -> bool:
return get_at(point) != null