public static IEnumerable<NPC> GenerateEnemies() { if (AllObjects.Count(gameObj => gameObj is NPC) < 10) { int rnd; for (int i = 0; i < Constants.ENTITIES_DEFAULT_COUNT; i++) { rnd = RandomInstance.Next(0, 2); EnemyType enemyType = EnemyType.Mindless; switch (RandomInstance.Next(0, 6)) { case 0: enemyType = EnemyType.Zombie; break; case 1: enemyType = EnemyType.Ghoul; break; case 2: enemyType = EnemyType.Skeleton; break; case 3: enemyType = EnemyType.Warrior; break; case 4: //enemyType = EnemyType.Butcher; break; case 5: enemyType = EnemyType.Mindless; break; } NPC generatedNPC = new NPC(Constants.ENTITY_DEFAULT_TEXTURE, enemyType) { Position = rnd == 1 ? Constants.ENTITY_LEFT_POSITION : Constants.ENTITY_RIGHT_POSITION, Direction = rnd == 1 ? MoveDirection.Left : MoveDirection.Right, Speed = (float)RandomInstance.Next(3, 7) / 10 }; yield return generatedNPC; } } }
public static NPC GenerateEnemy(float x, float y, EnemyType type) { NPC generatedNPC = new NPC(Constants.ENTITY_DEFAULT_TEXTURE, type) { Position = new Vector2(x, y), Speed = 1 }; return generatedNPC; }