76 lines
1.6 KiB
C#

using PrizeSystem;
using UnityEngine;
public class PrizeState : IState
{
private GameManager gm;
private IState nextState;
private VitrinaPanel vitrina;
private QrPanel qr;
public PrizeState(IState nextState)
{
this.nextState = nextState;
}
public void enter()
{
Debug.Log("Çàøåë â ïðèç");
gm = GameManager.instance;
gm.timerManager.StopAllTimers();
if(PrizeSystemManager.HasVitrinaPrizeToGive)
{
if(gm.vitrinaPanel.TryGetComponent(out vitrina))
{
vitrina.OnComplete += OnComplete;
gm.vitrinaPanel.gameObject.SetActive(true);
VitrinaPrize prize = PrizeSystemManager.DequeueVitrinaPrize();
gm.vitrinaPanel.Initialize(prize.Boxes);
}
}
else if (PrizeSystemManager.HasQrPrizeToGive)
{
if (gm.qrPanel.TryGetComponent(out qr))
{
qr.OnComplete += OnComplete;
gm.qrPanel.gameObject.SetActive(true);
QrPrize prize = PrizeSystemManager.DequeueQrPrize();
gm.qrPanel.Initialize(prize);
}
}
//äîáàâèòü qr ïàíåëü-âûäàò÷èê.
else
{
gm.stateMachine.ChangeState(nextState);
}
}
private void OnComplete()
{
gm.stateMachine.ChangeState(nextState);
}
public void exit()
{
if (vitrina != null)
{
vitrina.OnComplete -= OnComplete;
vitrina = null;
}
}
public void update()
{
}
}