コード例 #1
0
ファイル: GameMechanics.cs プロジェクト: rtridz/somegame
    void FixedUpdate()
    {
        int incrementScoreByBumpersTimes = 0;

        if (Bumper1.IsActive() != field_bumper1IsActive)
        {
            field_bumper1IsActive = !field_bumper1IsActive;
            if (field_bumper1IsActive)
            {
                incrementScoreByBumpersTimes++;
            }
        }
        if (Bumper2.IsActive() != field_bumper2IsActive)
        {
            field_bumper2IsActive = !field_bumper2IsActive;
            if (field_bumper2IsActive)
            {
                incrementScoreByBumpersTimes++;
            }
        }
        if (Bumper3.IsActive() != field_bumper3IsActive)
        {
            field_bumper3IsActive = !field_bumper3IsActive;
            if (field_bumper3IsActive)
            {
                incrementScoreByBumpersTimes++;
            }
        }
        if (Bumper4.IsActive() != field_bumper4IsActive)
        {
            field_bumper4IsActive = !field_bumper4IsActive;
            if (field_bumper4IsActive)
            {
                incrementScoreByBumpersTimes++;
            }
        }
        if (Bumper5.IsActive() != field_bumper5IsActive)
        {
            field_bumper5IsActive = !field_bumper5IsActive;
            if (field_bumper5IsActive)
            {
                incrementScoreByBumpersTimes++;
            }
        }
        if (Bumper6.IsActive() != field_bumper6IsActive)
        {
            field_bumper6IsActive = !field_bumper6IsActive;
            if (field_bumper6IsActive)
            {
                incrementScoreByBumpersTimes++;
            }
        }
        IncrementScoreByBumpers(incrementScoreByBumpersTimes);

        bool flagJustGotActivated = false;

        if (Flag1.IsActive() != field_flag1IsActive)
        {
            field_flag1IsActive = !field_flag1IsActive;
            if (field_flag1IsActive)
            {
                flagJustGotActivated = true;
            }
        }
        if (Flag2.IsActive() != field_flag2IsActive)
        {
            field_flag2IsActive = !field_flag2IsActive;
            if (field_flag2IsActive)
            {
                flagJustGotActivated = true;
            }
        }
        if (Flag3.IsActive() != field_flag3IsActive)
        {
            field_flag3IsActive = !field_flag3IsActive;
            if (field_flag3IsActive)
            {
                flagJustGotActivated = true;
            }
        }
        if (flagJustGotActivated)
        {
            IncrementScoreByFlags((field_flag1IsActive ? 1 : 0) + (field_flag2IsActive ? 1 : 0) + (field_flag3IsActive ? 1 : 0));
        }
        if (field_flag1IsActive && field_flag2IsActive && field_flag3IsActive)
        {
            Flag1.Deactivate();
            Flag2.Deactivate();
            Flag3.Deactivate();

            field_flag1IsActive = false;
            field_flag2IsActive = false;
            field_flag3IsActive = false;
        }
    }