private void AddWalkers(int count) { _waveCount++; for (int i = 0; i < count; i++) { var walker = new EnemyWalker(_graphics, "walker", 1, 3, new EnemyData(_player.Data.PlayerLevel), GetEnemyStartPosition()); walker.LoadContent(Content); _walkers.Add(walker); } }
internal void SetHit(EnemyWalker hitWalker) { switch (Data.Effect) { case ProjectileEffect.AoeSlow: break; case ProjectileEffect.Heal: break; case ProjectileEffect.Burn: break; case ProjectileEffect.Explode: break; case ProjectileEffect.Slow: case ProjectileEffect.None: var projectileHitPos = hitWalker.Position.X + (hitWalker.Size.Width / 2) - 45; Position = new Vector2(projectileHitPos, Position.Y); DoRemove = true; IsUsed = true; _currentFrameIndex = 1; break; default: break; } }
private void AddLoot(EnemyWalker enemyWalker) { var loot = new LootSprite("loot", 1, 3); loot.Position = new Vector2(enemyWalker.Position.X, enemyWalker.Position.Y + 30); loot.LoadContent(Content); loot.Scale = 0.5f; loot.Data.DropRate = enemyWalker.Data.DropRate; loot.Data.Gold = enemyWalker.Data.GoldValue; loot.Data.Level = enemyWalker.Data.Level; _drops.Add(loot); }