Name refactor
This commit is contained in:
parent
6f56fffb59
commit
e1cdf38dfb
21 changed files with 44 additions and 40 deletions
43
scripts/placement_manager.gd
Normal file
43
scripts/placement_manager.gd
Normal file
|
@ -0,0 +1,43 @@
|
|||
extends Node2D
|
||||
|
||||
var held_construction : Structure
|
||||
|
||||
func _ready() -> void:
|
||||
GuiEventBus.construction_selected.connect(on_construction_selected)
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if held_construction == null:
|
||||
return
|
||||
if event.is_action_pressed("plc_place"):
|
||||
var zone = try_get_zone(held_construction.global_position)
|
||||
if zone == null:
|
||||
held_construction.queue_free()
|
||||
else:
|
||||
if held_construction.try_place(zone):
|
||||
held_construction = null
|
||||
|
||||
if event.is_action_pressed("plc_cancel"):
|
||||
held_construction.queue_free()
|
||||
|
||||
func on_construction_selected(constructible : Prototype):
|
||||
if held_construction:
|
||||
held_construction.queue_free()
|
||||
held_construction = constructible.scene.instantiate()
|
||||
add_child(held_construction)
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if held_construction == null:
|
||||
return
|
||||
var mouse_pos = get_global_mouse_position()
|
||||
var zone = try_get_zone(mouse_pos)
|
||||
if zone and held_construction.can_be_placed(zone):
|
||||
global_position = zone.get_placement_position(mouse_pos)
|
||||
else:
|
||||
global_position = mouse_pos
|
||||
|
||||
func try_get_zone(point : Vector2) -> PlacementZone:
|
||||
for zone in RuntimePlayerData.build_zones:
|
||||
if zone.is_global_point_in_zone(point):
|
||||
return zone
|
||||
return null
|
Loading…
Add table
Add a link
Reference in a new issue