StormyExtraction/scenes/game/collectionArea/collection_area.gd
2024-09-15 00:04:31 +02:00

50 lines
1.2 KiB
GDScript

extends Area2D
@onready var collectArea = $CollectArea
@onready var animatedSprite = $AnimatedSprite2D
func _ready() -> void:
animatedSprite.play("default")
func _physics_process(delta: float) -> void:
for i in get_overlapping_bodies():
if i.is_in_group("Player"):
if G.isStormThreshold():
moveTowardsCenter(i)
for i in get_overlapping_areas():
if i.is_in_group("Object"):
if not i.isCarryied():
moveTowardsCenter(i)
else:
scale = Vector2(1,1)
#cashInObject()
func cashInObject():
for i in collectArea.get_overlapping_areas():
if not i.isCarryied():
G.addMoney(i.getValue())
i.queue_free()
func moveTowardsCenter(object : Node2D):
object.global_position.y = move_toward(object.global_position.y, global_position.y, 2)
object.global_position.x = move_toward(object.global_position.x, global_position.x, 2)
object.scale.y -= 0.01
object.scale.x -= 0.01
func extractPlayer():
G.extractPlayer()
func _on_collect_area_area_entered(area: Area2D) -> void:
if area.is_in_group("Object"):
cashInObject()
func _on_collect_area_body_entered(body: Node2D) -> void:
if G.isStormThreshold():
if body.is_in_group("Player"):
extractPlayer()