cirnogodot/Scripts/Actors/Chair.cs

50 lines
1.1 KiB
C#
Raw Permalink Normal View History

2025-03-10 15:49:28 +01:00
using Godot;
using System;
using System.Threading.Tasks;
2025-03-10 17:33:43 +01:00
using Cirno.Scripts.Components;
using Cirno.Scripts.Enums;
2025-03-10 15:49:28 +01:00
2025-03-10 17:33:43 +01:00
public partial class Chair : StaticBody2D, IIRotateable
2025-03-10 15:49:28 +01:00
{
[Export]
2025-03-10 17:33:43 +01:00
public Direction Direction { get; set; } = Direction.Down;
2025-03-10 15:49:28 +01:00
private AnimatedSprite2D _animatedSprite;
[Export]
public StringName SpinAnimationName = "Spin";
[Export] public float SpinTime { get; private set; } = 4f;
private double _timer = 0f;
public override void _Ready()
{
_animatedSprite = GetNode<AnimatedSprite2D>("AnimatedSprite2D");
2025-03-10 17:33:43 +01:00
//_animatedSprite.Play(Direction.ToString());
2025-03-10 15:49:28 +01:00
}
public override void _Process(double delta)
{
if (_animatedSprite.Animation != SpinAnimationName) return;
_timer += delta;
if (_timer >= SpinTime)
{
_timer = 0;
_animatedSprite.SpeedScale = 0;
}
}
private void OnBulletCollision(Area2D area)
{
_animatedSprite.SpeedScale = 1;
_animatedSprite.Play("Spin");
_timer = 0;
}
}