Mostly done?
This commit is contained in:
parent
22d7326565
commit
a08c13b1a3
118 changed files with 2558 additions and 2519 deletions
79
scenes/scripts/animal.gd
Normal file
79
scenes/scripts/animal.gd
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
@tool
|
||||
extends Node2D
|
||||
|
||||
@export var animal_type : String:
|
||||
set(value):
|
||||
animal_type = value
|
||||
if is_node_ready():
|
||||
_update_sprite()
|
||||
|
||||
@export var flip_horizontal : bool = false:
|
||||
set(value):
|
||||
flip_horizontal = value
|
||||
if is_node_ready():
|
||||
_update_sprite()
|
||||
|
||||
@export var show_shavings : bool = false:
|
||||
set(value):
|
||||
show_shavings = value
|
||||
if is_node_ready():
|
||||
_update_shavings()
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
_update_sprite()
|
||||
_update_shavings()
|
||||
|
||||
|
||||
func _update_sprite() -> void:
|
||||
|
||||
# Hide all animal sprites first
|
||||
%Fox.visible = false
|
||||
%Porcupine.visible = false
|
||||
%Wolf.visible = false
|
||||
%Cat.visible = false
|
||||
%Goose.visible = false
|
||||
%Frog.visible = false
|
||||
%Chick.visible = false
|
||||
%Dog.visible = false
|
||||
|
||||
# Show the appropriate animal based on animal_type
|
||||
var active_sprite: AnimatedSprite2D
|
||||
match animal_type:
|
||||
"Fox":
|
||||
%Fox.visible = true
|
||||
active_sprite = %Fox
|
||||
"Porcupine":
|
||||
%Porcupine.visible = true
|
||||
active_sprite = %Porcupine
|
||||
"Wolf":
|
||||
%Wolf.visible = true
|
||||
active_sprite = %Wolf
|
||||
"Cat":
|
||||
%Cat.visible = true
|
||||
active_sprite = %Cat
|
||||
"Goose":
|
||||
%Goose.visible = true
|
||||
active_sprite = %Goose
|
||||
"Frog":
|
||||
%Frog.visible = true
|
||||
active_sprite = %Frog
|
||||
"Chick":
|
||||
%Chick.visible = true
|
||||
active_sprite = %Chick
|
||||
"Dog":
|
||||
%Dog.visible = true
|
||||
active_sprite = %Dog
|
||||
|
||||
# Apply horizontal flip if enabled
|
||||
if active_sprite:
|
||||
active_sprite.flip_h = flip_horizontal
|
||||
|
||||
|
||||
func _update_shavings() -> void:
|
||||
%Shavings.visible = show_shavings
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
Loading…
Add table
Add a link
Reference in a new issue