21 lines
698 B
GDScript
21 lines
698 B
GDScript
extends RigidBody2D
|
|
|
|
func _integrate_forces(state: PhysicsDirectBodyState2D):
|
|
var contact_count = state.get_contact_count()
|
|
for i in range(contact_count):
|
|
#print("bb")
|
|
var collider_object = state.get_contact_collider_object(i)
|
|
if collider_object and collider_object.get_parent() is Player:
|
|
handle_player_collision(collider_object.get_parent())
|
|
if collider_object and collider_object.get_parent() is Pool:
|
|
handle_pool_collision(collider_object.get_parent())
|
|
|
|
func handle_player_collision(player: Player):
|
|
if $"..".is_carrying() and player.is_carrying():
|
|
$"..".doubledrop(player)
|
|
$"..".drop()
|
|
player.drop()
|
|
|
|
func handle_pool_collision(pool: Pool):
|
|
$"..".exchange_with(pool)
|