예제 #1
0
    public void Update()
    {
        if (machine.failedState != null)
        {
            machine.RetryFailedState();
        }

        recountTick--;
        if (recountTick < 0)
        {
            recountTick   = 10;
            blueCount     = livingActors.FindAll(x => x.team == ActorTeam.BLUE).Count;
            blueText.text = "BLUE: " + blueCount.ToString();
            redCount      = livingActors.FindAll(x => x.team == ActorTeam.RED).Count;
            redText.text  = "RED: " + redCount.ToString();
            if (redCount == 0 || blueCount == 0)
            {
                GameState currentState = (GameState)machine.GetActiveState();
                if (currentState == GameState.ACTION)
                {
                    machine.SetState(GameState.INTRO);
                }
            }
        }
    }
예제 #2
0
 void StateLock(bool val)
 {
     stateLock = val;
     if (!val)
     {
         if (machine.failedState != null)
         {
             machine.RetryFailedState();
         }
     }
 }