2024-04-28 08:52:21 +00:00
|
|
|
extends BetterCharacterBody2D
|
2024-04-14 03:13:37 +00:00
|
|
|
class_name Sheep
|
|
|
|
|
|
|
|
|
2024-04-26 01:57:07 +00:00
|
|
|
@onready var sprite: SpriteLeftRight = %"Sprite"
|
2024-04-24 02:16:09 +00:00
|
|
|
@onready var animator: AnimationPlayer = %"Animator"
|
2024-05-01 03:01:38 +00:00
|
|
|
@onready var tophatter: Eater = %"TopHatter"
|
|
|
|
@onready var monocler: Eater = %"Monocler"
|
2024-04-14 05:46:06 +00:00
|
|
|
|
2024-04-29 01:20:27 +00:00
|
|
|
|
2024-04-27 13:32:57 +00:00
|
|
|
func _ready():
|
|
|
|
# Setup index and layers
|
|
|
|
_on_fallen()
|
2024-04-14 03:13:37 +00:00
|
|
|
|
|
|
|
func _on_move(movement: Vector2) -> void:
|
2024-04-28 08:52:21 +00:00
|
|
|
better_move_and_collide(movement)
|
2024-04-18 23:33:44 +00:00
|
|
|
sprite.handle_move(movement)
|
2024-04-20 01:49:32 +00:00
|
|
|
|
2024-04-21 23:05:21 +00:00
|
|
|
func _on_dragged(_cursor: Cursor) -> void:
|
2024-04-20 01:49:32 +00:00
|
|
|
collision_layer = 16
|
2024-05-02 00:32:14 +00:00
|
|
|
collision_mask = 16
|
2024-05-01 03:01:38 +00:00
|
|
|
tophatter.collision_mask = 16
|
|
|
|
monocler.collision_mask = 16
|
2024-04-27 13:32:57 +00:00
|
|
|
z_index = Enums.ZIndex.EntityAir
|
2024-04-29 01:33:43 +00:00
|
|
|
y_sort_enabled = false
|
2024-04-24 02:16:09 +00:00
|
|
|
animator.play(&"drag_start")
|
2024-04-20 01:49:32 +00:00
|
|
|
|
2024-04-21 23:05:21 +00:00
|
|
|
func _on_fallen() -> void:
|
2024-04-20 01:49:32 +00:00
|
|
|
collision_layer = 8
|
2024-05-02 00:32:14 +00:00
|
|
|
collision_mask = 8
|
2024-05-01 03:01:38 +00:00
|
|
|
tophatter.collision_mask = 8
|
|
|
|
monocler.collision_mask = 8
|
2024-04-27 13:32:57 +00:00
|
|
|
z_index = Enums.ZIndex.EntityGround
|
2024-04-29 01:33:43 +00:00
|
|
|
y_sort_enabled = true
|
2024-04-24 02:16:09 +00:00
|
|
|
animator.play(&"RESET")
|
2024-04-29 01:20:27 +00:00
|
|
|
|
|
|
|
func _on_trapped() -> void:
|
|
|
|
z_index = Enums.ZIndex.EntitySacrifice
|
2024-04-29 01:33:43 +00:00
|
|
|
y_sort_enabled = false
|
2024-04-29 01:20:27 +00:00
|
|
|
|
|
|
|
func _on_freed() -> void:
|
|
|
|
z_index = Enums.ZIndex.EntityGround
|
2024-04-29 01:33:43 +00:00
|
|
|
y_sort_enabled = true
|
2024-04-30 03:17:57 +00:00
|
|
|
|
|
|
|
func _on_eater_eaten(edible: Edible) -> void:
|
|
|
|
edible.get_parent().queue_free()
|