Пример #1
0
 public void ApplySpawnPoint(SpawnPointParams spawnPoint)
 {
     if (spawnPoint == null)
     {
         return;
     }
     this.playerCharactersSpawnPoint = spawnPoint.playersSpawnPoint;
     this.enemiesSpawnPoint          = spawnPoint.enemiesSpawnPoint;
     this.stageSpawnPoint            = spawnPoint.stageSpawnPoint;
     this.enemiesTargetSelectOrder   = spawnPoint.enemiesTargetSelectOrder;
     this.normalCommandSelectTweenTargetCamera.SetTargets(spawnPoint.GetHalfSpanwPointPosition());
     if (this.bigBossCommandSelectTweenTargetCamera != null)
     {
         Vector3[] halfSpanwPointPosition = spawnPoint.GetHalfSpanwPointPosition();
         Vector3[] array = new Vector3[halfSpanwPointPosition.Length];
         for (int i = 0; i < halfSpanwPointPosition.Length; i++)
         {
             float num = 5f;
             array[i] = new Vector3(halfSpanwPointPosition[i].x, halfSpanwPointPosition[i].y + num, halfSpanwPointPosition[i].z);
         }
         this.bigBossCommandSelectTweenTargetCamera.SetTargets(array);
     }
 }
Пример #2
0
    public void CharacterWaveReset(int waveNumber, bool isRecover = false)
    {
        this.BattleWaveChangeResourcesCleaning();
        base.battleStateData.enemies = base.battleStateData.preloadEnemies[waveNumber];
        base.battleStateData.leaderEnemyCharacter = base.battleStateData.enemies[base.hierarchyData.leaderCharacter];
        int              cameraType   = base.hierarchyData.batteWaves[waveNumber].cameraType;
        string           spawnPointId = ResourcesPath.ReservedID.SpawnPoints.GetSpawnPointId(base.battleStateData.enemies.Length, base.battleMode, cameraType);
        SpawnPointParams @object      = base.battleStateData.preloadSpawnPoints.GetObject(spawnPointId);

        base.battleStateData.ApplySpawnPoint(@object);
        foreach (CharacterParams characterParams in base.battleStateData.preloadEnemiesParams.GetAllObject())
        {
            characterParams.gameObject.SetActive(false);
        }
        Dictionary <string, int> dictionary = new Dictionary <string, int>();

        for (int j = 0; j < base.battleStateData.enemies.Length; j++)
        {
            string prefabId = base.battleStateData.enemies[j].characterStatus.prefabId;
            int    num      = 0;
            if (dictionary.ContainsKey(prefabId))
            {
                Dictionary <string, int> dictionary2;
                string key;
                (dictionary2 = dictionary)[key = prefabId] = dictionary2[key] + 1;
                num = dictionary[prefabId];
            }
            else
            {
                dictionary.Add(prefabId, 0);
            }
            this.WaveResetEnemyResetupFunction(prefabId, num, j, isRecover);
            int index = base.battleStateData.playerCharacters.Length + j;
            base.stateManager.uiControl.ApplyCharacterHudBoss(index, base.hierarchyData.batteWaves[waveNumber].enemiesBossFlag[j]);
            base.stateManager.uiControl.ApplyCharacterHudContent(index, base.battleStateData.enemies[j]);
            base.stateManager.uiControl.ApplyCharacterHudReset(index);
        }
        base.stateManager.uiControl.ApplyBigBossCharacterHudBoss(false);
        base.stateManager.uiControl.ApplyBigBossCharacterHudContent(base.battleStateData.enemies[0]);
        base.stateManager.uiControl.ApplyBigBossCharacterHudReset();
        for (int k = 0; k < base.battleStateData.playerCharacters.Length; k++)
        {
            this.WaveResetPlayerResetupFunction(k);
            CharacterStateControl characterStateControl = base.battleStateData.playerCharacters[k];
            if (!characterStateControl.isDied)
            {
                if (!isRecover)
                {
                    if (characterStateControl.WaveCountInitialize(base.hierarchyData.batteWaves[waveNumber].hpRevivalPercentage))
                    {
                        base.battleStateData.isRoundStartHpRevival[k] = true;
                    }
                }
                if (waveNumber == 0)
                {
                    base.stateManager.uiControl.ApplyCharacterHudBoss(k, false);
                    base.stateManager.uiControl.ApplyCharacterHudContent(k, characterStateControl);
                    base.stateManager.uiControl.ApplyCharacterHudReset(k);
                }
            }
        }
    }