chip-game/Assets/Scripts/GameFSM/TakeOrRiskState.cs

49 lines
1.2 KiB
C#

using PrizeSystem;
public class TakeOrRiskState : IState
{
private IState nextState;
private TakeOrRiskPanel takeOrRiskPanel;
public TakeOrRiskState(IState nextState, TakeOrRiskPanel takeOrRiskPanel)
{
this.nextState = nextState;
this.takeOrRiskPanel = takeOrRiskPanel;
}
public void enter()
{
takeOrRiskPanel.gameObject.SetActive(true);
takeOrRiskPanel.OnComplete += TakeOrRiskPanel_OnComplete;
}
private void TakeOrRiskPanel_OnComplete(TakeOrRiskOption selectedOption)
{
if (selectedOption == TakeOrRiskOption.Take)
{
if (CharacterController.CurrentCharacter.HasPrize)
{
PrizeSystemManager.GivePrize(CharacterController.CurrentCharacter.prize);
CharacterController.CurrentCharacter.HasPrize = false;
}
GameManager.instance.stateMachine.ChangeState(new PrizeState(StateRouter.ToMenu()));
}
else
{
//Следующий бот
GameManager.instance.stateMachine.ChangeState(nextState);
}
}
public void exit()
{
takeOrRiskPanel.OnComplete -= TakeOrRiskPanel_OnComplete;
}
public void update()
{
}
}