Пример #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
    public void OnChange(int prevIdx)
    {
        Color color = Color.white;

        switch (machine.GetActiveState())
        {
        case 0: color = Color.white; break;

        case 1: color = thisBody.mainColor; break;

        case 2: color = selectedColor; break;

        case 3: color = Color.red; break;

        case 4: color = Color.magenta; break;

        case 5: color = Color.cyan; break;

        case 6: color = Color.yellow; break;

        case 7: color = Color.white; break;
        }
        debugState = (PartState)machine.GetActiveState();
        //PartState lastState = (PartState)prevIdx;
        SetColor(color);
    }