Exemplo n.º 1
0
        public void SpawnEnemy(UpdateContext context)
        {
            var enemy = EnemyFactory.GetEnemyFromPool(context.ObjectPool, enemySettings);

            enemy.Init(initContext, enemySettings, Path);
            enemy.CopyContentFrom(enemyTemplate);
            enemy.Start();
            enemies.Add(enemy);
            logger.Info($"Enemy spawned for wave {settings.Id}");
        }
Exemplo n.º 2
0
 public void Init(IInitContext context, Settings.EnemySet settings, Settings.Enemy enemySettings, Settings.Path pathSettings)
 {
     initContext   = context;
     this.settings = settings;
     Path          = context.ObjectPool.GetObject <Path>();
     Path.Init(pathSettings);
     this.enemySettings = enemySettings;
     enemies            = context.ObjectPool.GetObject <List <Enemy> >();
     completedEnemies   = context.ObjectPool.GetObject <List <Enemy> >();
     enemyTemplate      = EnemyFactory.GetEnemyFromPool(context.ObjectPool, enemySettings);
     logger.Info($"Wave {settings.Id} init");
     Relative = TimeSpan.FromMilliseconds(settings.StartTimeOffset);
     Status   = EnemySetStatus.Ready;
 }