Prevent overlapping buildings
This commit is contained in:
@ -24,10 +24,25 @@ func _ready() -> void:
|
||||
func _process(delta: float) -> void:
|
||||
if follower:
|
||||
position = get_viewport().get_mouse_position()
|
||||
if not target:
|
||||
if not name.contains("MortarTower"):
|
||||
if get_node("Area2D").get_overlapping_bodies().size() > 1:
|
||||
get_node("CharacterBody2D/AnimatedSprite2D").modulate = Color(255, 0, 0, 0.3)
|
||||
else:
|
||||
get_node("CharacterBody2D/AnimatedSprite2D").modulate = Color(1, 1, 1, 1)
|
||||
else:
|
||||
if get_node("Area2D").get_overlapping_bodies().size() > 1:
|
||||
get_node("CharacterBody2D/lifter - 1").modulate = Color(255, 0, 0, 0.3)
|
||||
get_node("CharacterBody2D/lifter - 2").modulate = Color(255, 0, 0, 0.3)
|
||||
get_node("CharacterBody2D/MortarPart(2)").modulate = Color(255, 0, 0, 0.3)
|
||||
else:
|
||||
get_node("CharacterBody2D/lifter - 1").modulate = Color(1, 1, 1, 1)
|
||||
get_node("CharacterBody2D/lifter - 2").modulate = Color(1, 1, 1, 1)
|
||||
get_node("CharacterBody2D/MortarPart(2)").modulate = Color(1, 1, 1, 1)
|
||||
|
||||
elif not target:
|
||||
if get_node("CharacterBody2D/Area2D").get_overlapping_bodies():
|
||||
choose_target(null)
|
||||
if lifter:
|
||||
elif lifter:
|
||||
lifteramount += 4
|
||||
if lifteramount <= 40:
|
||||
get_node("CharacterBody2D/lifter - 1").position.y -= 4
|
||||
@ -59,7 +74,8 @@ func get_if_moving_state():
|
||||
func _input(event):
|
||||
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
|
||||
if abs(position) <= get_viewport().get_mouse_position():
|
||||
follower = false
|
||||
if get_node("Area2D").get_overlapping_bodies().size() <= 1:
|
||||
follower = false
|
||||
|
||||
func choose_target(body : Node2D) -> void:
|
||||
if not follower:
|
||||
|
Reference in New Issue
Block a user