public void RemoveFaction(Faction faction) { if (base.HasGameObject(faction)) { foreach (Architecture architecture in faction.Architectures.GetList()) { faction.RemoveArchitecture(architecture); } foreach (Troop troop in faction.Troops.GetList()) { faction.RemoveTroop(troop); } foreach (Legion legion in faction.Legions.GetList()) { faction.RemoveLegion(legion); } foreach (Section section in faction.Sections.GetList()) { faction.RemoveSection(section); } base.GameObjects.Remove(faction); } }