예제 #1
0
    public void SetState(STATE st)
    {
        mState = st;
        switch (mState)
        {
        case STATE.INIT:
            mShooter.GetComponent <Shooter>().enabled = true;
            enabled                   = true;
            forceSpawnLine            = false;
            totalScore                = 0;
            eggDownAnimTime           = 0;
            currentCombo              = 0;
            mCurrentLevel             = INITIALIZE_LEVEL;
            mTimeToDrop               = DEFAULT_DROP_TIME;
            mPlayerDragonState        = PLAYER_DRAGON_STATE.RELOAD_MOVE_TO_SHOOTER;
            mPlayerDragonPosUp        = mPlayerDragonPositions.transform.GetChild(0).gameObject;
            mPlayerDragonPosDown      = mPlayerDragonPositions.transform.GetChild(1).gameObject;
            mPlayerDragonPosShooter   = mPlayerDragonPositions.transform.GetChild(2).gameObject;
            mPlayerDragonPosWarehouse = mPlayerDragonPositions.transform.GetChild(3).gameObject;
            mPlayerDragonTarget       = mPlayerDragonPosShooter;
            currentHazardCount        = 0;
            mActiveHazard             = 0;
            frozenHazardObject.SetActive(false);
            firewallHazardObject.SetActive(false);
            SetHazardState(HAZARD_STATUS.NONE);
            mFirewallHazardLine   = firewallHazardObject.transform.GetChild(2).gameObject;
            mFirewallLineLeftPos  = firewallHazardLinePos.transform.GetChild(0).gameObject;
            mFirewallLineRightPos = firewallHazardLinePos.transform.GetChild(1).gameObject;
            break;

        case STATE.PLAYGAME:
            mTimer.SetDuration(mTimeToDrop);
            mLevelTimer.SetDuration(INSCREASE_LEVEL_TIME);
            AudioManager.Instance().PlayMusicGamePlayBackground();
            break;

        case STATE.GAMEOVER:
            enabled = false;
            mShooter.GetComponent <Shooter>().enabled = false;
            SaveHighScore();
            mGameOverPopup.SetActive(true);
            mGameOverPopup.GetComponent <GameOverPopup>().Setup(totalScore, LoadHighScore());
            AudioManager.Instance().PlayMusicGameOverBackground();
            break;

        default:
            break;
        }
    }
예제 #2
0
 public void SetHazardState(HAZARD_STATUS newVal)
 {
     mActiveHazard = newVal;
 }
예제 #3
0
 public bool IsHazardState(HAZARD_STATUS value)
 {
     return(mActiveHazard == value);
 }