Exemplo n.º 1
0
    //更新目前場上有幾隻敵人
    //還有對應WaveRemainTime
    //用來顯示玩家壓力
    void UpdatePlayerPower()
    {
        /*
         * //更先顯示狀態
         * //目前敵人數量
         * int totlaEnemyNumber = 0;
         *
         * //目前場上所有敵人
         * foreach (SingleWave wave in _listWave)
         * {
         *  totlaEnemyNumber = totlaEnemyNumber + wave.GetListEnemy().Count;
         * }
         * //所有(要打敗的)數量
         * int totalProductEnemy = _listWave[_nowWaveIndex]._nowCleanAllEnemyStageDifficulty._defeatEnemyNumber;
         *
         * //隊單位進行換算
         * float power = 1 - (1-hp / maxHp) * (1 / 3) - (totlaEnemyNumber / totalProductEnemy) * (2 / 3);
         */

        SingleWeakPointParameter parameter = (SingleWeakPointParameter)_player.GetComponent <SteamVR_CharacterController>()._character.GetComponent <SingleWeakPoint>()._nowdifficulty;
        float maxHp = parameter.HP;
        float hp    = _player.GetComponent <SteamVR_CharacterController>()._character.GetComponent <SingleWeakPoint>()._nowHP;

        //顯示目前HP
        _player.GetComponent <SteamVR_ControllerManager>().head.GetComponent <SteamVRCharacterHeadController>()._characterInfoGUI.SetMaxTeamProgress(hp / maxHp);
    }
Exemplo n.º 2
0
 //如果Enemy被打敗
 public void SetEnemyDeath(SingleWeakPointParameter difficulty)
 {
     if (_enemyDefeated != null)
     {
         _enemyDefeated(difficulty);
     }
 }
Exemplo n.º 3
0
 //如果敵人被打敗
 //可以取得一些參數
 void EnemyCreatorEnemyDefeated(SingleWeakPointParameter difficulty)
 {
     //通知整理陣列
     ResreshEnemyList();
     //目前敵人打敗數量+1;
     _defeatedEnemyNumber++;
     //然後通知打敗敵人
     _enemyDefeated(difficulty);
 }
    //如果打到敵人
    void DefeatedEnemy(SingleWeakPointParameter difficulty)
    {
        //剩餘目標-1
        _remainNumber--;

        //如果所有敵人都被打完,通知階段完成
        //往上升一個難度
        if (_remainNumber == 0)
        {
            UpgradeStageDifficulty();
        }
        //通知任務完成
        ConditionFinish();
    }
Exemplo n.º 5
0
 //如果打到敵人
 //目標較少一個
 void DefeatedEnemy(SingleWeakPointParameter difficulty)
 {
     //剩餘目標-1
     _remainNumber--;
     //如果所有敵人都被打完,通知階段完成
     if (_remainNumber <= 0)
     {
         if (_finish == false)
         {
             _finish = true;
             //通知任務完成
             ConditionFinish();
         }
     }
     //打敗的分數
     _totlaScore = _totlaScore + difficulty.DefeatScore;
     //顯示敵人數量
     UpdateWaveDefeatEnemyNumber(_remainNumber, _nowCleanAllEnemyStageDifficulty._defeatEnemyNumber);
     NotifyDefeatEnemy();
 }
Exemplo n.º 7
0
 //如果玩家被攻擊
 void PlayerHit(SingleWeakPointParameter parameter)
 {
     //更新顯示資訊
     UpdatePlayerPower();
 }
Exemplo n.º 8
0
 //如果玩家死掉
 void PlayerDefeat(SingleWeakPointParameter parameter)
 {
     OnWaveFail();
     //更新顯示資訊
     UpdatePlayerPower();
 }