49 lines
1.2 KiB
C#
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()
|
|
{
|
|
|
|
}
|
|
}
|