CapersProject/Assets/02.Scripts/Character/Npc/Customer/State/VomitState.cs

37 lines
1.0 KiB
C#
Raw Normal View History

2024-12-06 13:20:10 +00:00
using BlueWater.Audios;
2024-10-20 17:21:39 +00:00
using BlueWater.Interfaces;
namespace BlueWater.Npcs.Customers
{
2024-11-04 12:22:07 +00:00
public class VomitState : IStateMachine<Customer>
2024-10-20 17:21:39 +00:00
{
2024-12-06 13:20:10 +00:00
private string _vomitSfxName = "Vomit";
2024-10-20 17:21:39 +00:00
private bool _isVomiting;
public void EnterState(Customer character)
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.VomitingForm, false);
}
public void UpdateState(Customer character)
{
2024-12-06 13:20:10 +00:00
if (!_isVomiting && character.SpineController.IsAnimationComplete())
2024-10-20 17:21:39 +00:00
{
2024-12-06 13:20:10 +00:00
AudioManager.Instance.PlaySfx(_vomitSfxName);
2024-10-20 17:21:39 +00:00
character.SpineController.PlayAnimation(CustomerSpineAnimation.Vomiting, false);
_isVomiting = true;
}
if (_isVomiting && character.SpineController.IsAnimationComplete())
{
character.InstanceVomit();
}
}
public void ExitState(Customer character)
{
}
}
}