private bool isFactionDefeated(Faction factionL, Region capital, DefeatManager defeatManager, int regionCount) //ALL DEFEAT CONDITIONS SHOULD BE HERE { if (factionL.defeated == false) { if (factionLostCapital(factionL, capital)) { factionL.defeated = true; return(true); } // return defeatManager.defeatCondition(factionL, regionCount, factionByNameIndex(factionL.name)); } return(false); }
public GameInstance(string _roomId) { armyManager = new ArmyManager(); mapManager = new MapManager(); factionManager = new FactionManager(); factionMaintenances = openMaintenanceList(); defeatManager = new DefeatManager(factionManager.getFactions()); turn = 0; roomId = _roomId; concurrentGameQueue = new ConcurrentQueue <GameRequest>(); concurrentPlayerQueue = new ConcurrentQueue <string>(); editable = false; defeatedcount = 0; playerCount = 0; editableCounter = 0; canMakeEditable = true; }
//DEFEAT CONDITIONS public int checkFactionsDefeat(List <Region> capitals, DefeatManager defeatManager, List <int> regionCount) { int defeatCounter = 0; int ix = 0; foreach (Faction factionL in factions) { foreach (Region capital in capitals) { if (isFactionDefeated(factionL, capital, defeatManager, regionCount[ix])) { defeatCounter++; } } ix++; } return(defeatCounter); }