コード例 #1
0
    private void OnStageChanged(AllianceStage stage)
    {
        if (stage.Alliance == Alliance)
        {
            switch (stage.Stage)
            {
            case Stage.One:
                stage1Label.Visible = true;
                stage1Label.Text    = stage.StageBallsRemaining.ToString();
                stage1Label.Show();
                stage1Lock.Visible = false;
                break;

            case Stage.Two:
                stage1Label.Visible    = false;
                stage1Complete.Visible = true;
                stage2Lock.Visible     = false;

                if (stage.StageState == StageState.Balls)
                {
                    stage2Label.Visible = true;
                    stage2Label.Text    = stage.StageBallsRemaining.ToString();
                }
                else if (stage.StageState == StageState.SpinColorWheel)
                {
                    stage2Label.Visible          = false;
                    stage2SpinColorWheel.Visible = true;
                }
                break;

            case Stage.Three:
                stage2Label.Visible          = false;
                stage2SpinColorWheel.Visible = false;
                stage2Complete.Visible       = true;
                stage3Lock.Visible           = false;

                if (stage.StageState == StageState.Balls)
                {
                    stage3Label.Visible = true;
                    stage3Label.Text    = stage.StageBallsRemaining.ToString();
                }
                else if (stage.StageState == StageState.PositionColorWheel)
                {
                    stage3Label.Visible = false;
                    stage3PositionColorWheel.Visible = true;
                }
                else if (stage.StageState == StageState.Complete)
                {
                    stage3PositionColorWheel.Visible = false;
                    stage3Complete.Visible           = true;
                }

                break;
            }
        }
    }
コード例 #2
0
    private void OnColorWheelPositioned(Robot robot)
    {
        AllianceStage stage = GetAllianceStage(robot.Alliance);

        stage.PositionColorWheel();
    }
コード例 #3
0
    private void OnColorWheelSpun(Robot robot)
    {
        AllianceStage stage = GetAllianceStage(robot.Alliance);

        stage.SpinColorWheel();
    }
コード例 #4
0
    private void OnBallScored(Robot robot)
    {
        AllianceStage stage = GetAllianceStage(robot.Alliance);

        stage.ScoreBall();
    }
コード例 #5
0
 public static void PublishStageChangedEvent(AllianceStage allianceStage)
 {
     StageChangedEvent?.Invoke(allianceStage);
     Instance.EmitSignal(nameof(StageChanged), allianceStage);
 }