37 lines
1.0 KiB
C#
37 lines
1.0 KiB
C#
using BlueWater.Audios;
|
|
using BlueWater.Interfaces;
|
|
|
|
namespace BlueWater.Npcs.Customers
|
|
{
|
|
public class VomitState : IStateMachine<Customer>
|
|
{
|
|
private string _vomitSfxName = "Vomit";
|
|
private bool _isVomiting;
|
|
|
|
public void EnterState(Customer character)
|
|
{
|
|
character.SpineController.PlayAnimation(CustomerSpineAnimation.VomitingForm, false);
|
|
}
|
|
|
|
public void UpdateState(Customer character)
|
|
{
|
|
if (!_isVomiting && character.SpineController.IsAnimationComplete())
|
|
{
|
|
AudioManager.Instance.PlaySfx(_vomitSfxName);
|
|
character.SpineController.PlayAnimation(CustomerSpineAnimation.Vomiting, false);
|
|
_isVomiting = true;
|
|
}
|
|
|
|
if (_isVomiting && character.SpineController.IsAnimationComplete())
|
|
{
|
|
character.InstanceVomit();
|
|
}
|
|
}
|
|
|
|
public void ExitState(Customer character)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|