public void Enter(Architecture a) { if (a.BelongedFaction == this.BelongedFaction) { PersonList list = new PersonList(); foreach (Person person in this.Persons) { list.Add(person); a.AddPerson(person); } this.Persons.ApplyInfluences(); foreach (Person person in list) { this.RemovePerson(person); } if (this.Army.ShelledMilitary == null) { a.AddMilitary(this.Army); } else { a.AddMilitary(this.Army.ShelledMilitary); base.Scenario.Militaries.Remove(this.Army); } if (this.Food > 0) { a.IncreaseFood(this.Food); } this.MoveCaptiveIntoArchitecture(a); this.Destroy(); this.BelongedLegion.RemoveTroop(this); this.BelongedFaction.RemoveTroop(this); base.Scenario.Troops.RemoveTroop(this); } }