Dimensions for constructibles
This commit is contained in:
parent
d37c4ec858
commit
6f56fffb59
18 changed files with 135 additions and 25 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue