Made building consume resources
Now may build more than one if resources allow building placement is red/green for indicating success
This commit is contained in:
@@ -35,13 +35,12 @@ func _physics_process(delta: float) -> void:
|
||||
|
||||
if _build_placement:
|
||||
_build_placement.position = Grid.grid_to_world_center(interaction_location)
|
||||
_build_placement.self_modulate = Color(0, 1, 0, 0.5) if Grid.get_location_data(interaction_location).is_buildable() else Color(1, 0, 0, 0.4)
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed("interact"):
|
||||
if _attempting_build and Grid.get_location_data(interaction_location).is_buildable():
|
||||
var build: BuildingBase = BUILDING_BASE.instantiate()
|
||||
build.initialize(_attempting_build, interaction_location)
|
||||
add_sibling(build)
|
||||
_build()
|
||||
elif not _interacting and Grid.get_location_data(interaction_location).is_interactable():
|
||||
var interaction = INTERACTION_BAR.instantiate()
|
||||
interaction.interaction_finished.connect(_on_interaction_finished)
|
||||
@@ -64,6 +63,18 @@ func _on_build_menu_build(building: Building) -> void:
|
||||
_build_placement.self_modulate = Color(1, 0, 0, 0.4)
|
||||
add_sibling(_build_placement)
|
||||
|
||||
func _build() -> void:
|
||||
ResourceManager.use_resources(_attempting_build.cost)
|
||||
var build: BuildingBase = BUILDING_BASE.instantiate()
|
||||
build.initialize(_attempting_build, interaction_location)
|
||||
add_sibling(build)
|
||||
Grid.change_location_building(interaction_location, build)
|
||||
|
||||
if not ResourceManager.has_resources(_attempting_build.cost):
|
||||
_attempting_build = null
|
||||
_build_placement.queue_free()
|
||||
_build_placement = null
|
||||
|
||||
func _on_interation_options_closed() -> void:
|
||||
_interaction_options = null
|
||||
|
||||
|
||||
Reference in New Issue
Block a user