using BlueWater.Audios; using BlueWater.Interfaces; namespace BlueWater.Npcs.Customers { public class VomitState : IStateMachine { private string _vomitSfxName = "Vomit"; private bool _isVomiting; public void EnterState(Customer character) { if (character.CustomerSkin == CustomerSkin.Cat) { character.SpineController.PlayAnimation(CatSpineAnimation.VomitingForm, false); } else { character.SpineController.PlayAnimation(CustomerSpineAnimation.VomitingForm, false); } } public void UpdateState(Customer character) { if (!_isVomiting && character.SpineController.IsAnimationComplete()) { AudioManager.Instance.PlaySfx(_vomitSfxName); if (character.CustomerSkin == CustomerSkin.Cat) { character.SpineController.PlayAnimation(CatSpineAnimation.Vomiting, false); } else { character.SpineController.PlayAnimation(CustomerSpineAnimation.Vomiting, false); } _isVomiting = true; } if (_isVomiting && character.SpineController.IsAnimationComplete()) { character.InstanceVomit(); } } public void ExitState(Customer character) { } } }