示例#1
0
    void EditSet(object obj)
    {
        EnemyWaveSet       set = (EnemyWaveSet)obj;
        EnemyWaveSetEditor w   = EditorWindow.GetWindow(typeof(EnemyWaveSetEditor), true) as EnemyWaveSetEditor;

        w.SetEditor(set);
    }
示例#2
0
    public void SetEditor(EnemyWaveSet waveSet)
    {
        this.titleContent = new GUIContent("Enemy Wave Set Editor");
        target            = waveSet;
        refTarget         = new EnemyWaveSet(waveSet);
        rolist            = new ReorderableList(refTarget.wave.enemys, typeof(SpawnSequence), true, true, true, true);
#if (DEBUG)
        Debug.Log("Open");
#endif
    }
示例#3
0
 private GameObject CreateEnemy(EnemyWaveSet set)
 {
     if (_difficultyManager.CanCreateEnemy(set.Mode))
     {
         _difficultyManager.NotifyEnemyTypeSelected(set.EnemyType, set.Mode);
         var position = ScreenHelper.GetRandomScreenPoint(y: _defaultSpawnPoint.transform.position.y);
         return(_enemyFactory.Create(set.EnemyType, position));
     }
     return(null);
 }
示例#4
0
        public void AddEnemyCreate(Enemy enemy, EnemyWaveSet set)
        {
            EnemiesCreated++;

            if (!_enemies.ContainsKey(set))
            {
                _enemies.Add(set, new List <Enemy>());
            }

            _enemies[set].Add(enemy);
        }
示例#5
0
        private void InvertPath(EnemyWaveSet set)
        {
            // TODO: Improve to dont create many multiple inverted paths unecessarily

            var invertedPath = GameObject.Instantiate(set.Path);
            var creator      = invertedPath.GetComponent <PathCreator>();

            var totalPoints = creator.bezierPath.NumPoints;
            var points      = totalPoints / 2;

            for (int i = 0; i < points; i++)
            {
                var i2  = totalPoints - i - 1;
                var pt1 = creator.bezierPath[i];
                var pt2 = creator.bezierPath[i2];

                creator.bezierPath.SetPoint(i, pt2, true);
                creator.bezierPath.SetPoint(i2, pt1, true);
            }
            creator.bezierPath.NotifyPathModified();

            set.Path = invertedPath;
        }
示例#6
0
 // helper
 private void SetMovementMode(Enemy enemy, EnemyWaveSet set)
 {
     enemy.Spawn(_difficultyManager.Difficulty, set.ToEnemyMode());
 }
示例#7
0
 public bool IsSetFullyCreated(EnemyWaveSet set) => _enemies.ContainsKey(set) && _enemies[set].Count >= set.EnemyCount;