Fixed teleport enemies bug (swapped Y and Z values....)
This commit is contained in:
@@ -20,25 +20,15 @@ public class EffectService
|
||||
_map = map;
|
||||
}
|
||||
|
||||
public void TeleportEnemiesToCurrentRoom()
|
||||
public void TeleportEnemiesToCurrentRoom(List<IEnemy> enemyList)
|
||||
{
|
||||
var currentFloor = _game.CurrentFloor;
|
||||
var rooms = currentFloor.Rooms;
|
||||
var currentRoom = _map.GetPlayersCurrentRoom();
|
||||
|
||||
if (currentRoom is not MonsterRoom)
|
||||
return;
|
||||
|
||||
var validRooms = rooms.OfType<MonsterRoom>().ToList();
|
||||
if (currentRoom is MonsterRoom monsterRoom)
|
||||
validRooms.Remove(monsterRoom);
|
||||
|
||||
var currentMonsterRoom = (MonsterRoom)currentRoom;
|
||||
|
||||
var enemyList = validRooms.SelectMany(x => x.GetEnemiesInCurrentRoom()).OfType<Enemy>();
|
||||
|
||||
foreach (var enemy in enemyList)
|
||||
enemy.MoveEnemyToNewRoom(currentMonsterRoom);
|
||||
if (currentRoom is MonsterRoom currentMonsterRoom)
|
||||
{
|
||||
foreach (var enemy in enemyList)
|
||||
enemy.MoveEnemyToNewRoom(currentMonsterRoom);
|
||||
}
|
||||
}
|
||||
|
||||
public void KillHalfEnemiesInRoom()
|
||||
@@ -48,7 +38,7 @@ public class EffectService
|
||||
return;
|
||||
|
||||
var currentMonsterRoom = (MonsterRoom)currentRoom;
|
||||
var enemyList = currentMonsterRoom.GetEnemiesInCurrentRoom().OfType<Enemy>().ToList();
|
||||
var enemyList = currentMonsterRoom.GetEnemiesInCurrentRoom().OfType<IEnemy>().ToList();
|
||||
var enemiesToKill = enemyList.Count / 2;
|
||||
for (var i = 0; i < enemiesToKill; i++)
|
||||
enemyList[i].Die();
|
||||
@@ -61,7 +51,7 @@ public class EffectService
|
||||
if (currentRoom is not MonsterRoom)
|
||||
return;
|
||||
|
||||
var currentEnemies = currentRoom.EnemiesInRoom.OfType<Enemy>().ToList();
|
||||
var currentEnemies = currentRoom.EnemiesInRoom.OfType<IEnemy>().ToList();
|
||||
foreach (var enemy in currentEnemies)
|
||||
{
|
||||
enemy.OnMorph();
|
||||
|
||||
Reference in New Issue
Block a user