public void MapRemoval(userTileClass character) { if (character.getTileType() == userTileClass.tileType.Enemy) { EnemyClass[] new_list = new EnemyClass[userEnemies.Length - 1]; int index = 0; for (int i = 0; i < userEnemies.Length; ++i) { if (userEnemies[i].died()) { map[userEnemies[i].getY(), userEnemies[i].getX()] = new emptyUserTileClass(userEnemies[i].getY(), userEnemies[i].getX()); } else { new_list[index] = userEnemies[i]; ++index; } } userEnemies = new_list; updateVision(); } }
public void enemyAttackedUser() { EnemyClass[] copyOfEnemies = new EnemyClass[map.fetchEnemies().Length]; Array.Copy(map.fetchEnemies(), 0, copyOfEnemies, 0, map.fetchEnemies().Length); string statusOfAttack; for (int i = 0; i < copyOfEnemies.Length; ++i) { if (!copyOfEnemies[i].died()) { copyOfEnemies[i].userLockedVision(); for (int j = 0; j < copyOfEnemies[i].userFindVision().Length; ++j) { if (copyOfEnemies[i] is GoblinClass && j < 4) { statusOfAttack = userAttacksEnemy(copyOfEnemies[i], CharacterClass.Movement.NoMovement, copyOfEnemies[i].userFindVision()[j]); } else if (copyOfEnemies[i] is MagesClass) { statusOfAttack = userAttacksEnemy(copyOfEnemies[i], CharacterClass.Movement.NoMovement, copyOfEnemies[i].userFindVision()[j]); } } copyOfEnemies[i].userUnlockedVision(); map.findCharacterPosition(copyOfEnemies[i], CharacterClass.Movement.NoMovement); } } }