public void UpdateDiplomacyProperties() { if (Faction1Wars == null) { Faction1Wars = new MBBindingList <DiplomacyFactionRelationshipVM>(); } if (Faction1Allies == null) { Faction1Allies = new MBBindingList <DiplomacyFactionRelationshipVM>(); } if (Faction2Wars == null) { Faction2Wars = new MBBindingList <DiplomacyFactionRelationshipVM>(); } if (Faction2Allies == null) { Faction2Allies = new MBBindingList <DiplomacyFactionRelationshipVM>(); } if (Faction1Pacts == null) { Faction1Pacts = new MBBindingList <DiplomacyFactionRelationshipVM>(); } if (Faction2Pacts == null) { Faction2Pacts = new MBBindingList <DiplomacyFactionRelationshipVM>(); } Faction1Wars.Clear(); Faction1Allies.Clear(); Faction2Wars.Clear(); Faction2Allies.Clear(); Faction1Pacts.Clear(); Faction2Pacts.Clear(); AddWarRelationships(Faction1.Stances); AddWarRelationships(Faction2.Stances); foreach (Kingdom kingdom in Kingdom.All) { if (FactionManager.IsAlliedWithFaction(kingdom, Faction1) && kingdom != Faction1) { Faction1Allies.Add(new DiplomacyFactionRelationshipVM(kingdom)); } if (FactionManager.IsAlliedWithFaction(kingdom, Faction2) && kingdom != Faction2) { Faction2Allies.Add(new DiplomacyFactionRelationshipVM(kingdom)); } AddNonAggressionPactRelationships(kingdom, Faction1, Faction1Pacts); AddNonAggressionPactRelationships(kingdom, Faction2, Faction2Pacts); } }
protected override void UpdateDiplomacyProperties() { if (this.Faction1Wars == null) { this.Faction1Wars = new MBBindingList <DiplomacyFactionRelationshipVM>(); } if (this.Faction1Allies == null) { this.Faction1Allies = new MBBindingList <DiplomacyFactionRelationshipVM>(); } if (this.Faction2Wars == null) { this.Faction2Wars = new MBBindingList <DiplomacyFactionRelationshipVM>(); } if (this.Faction2Allies == null) { this.Faction2Allies = new MBBindingList <DiplomacyFactionRelationshipVM>(); } this.Faction1Wars.Clear(); this.Faction1Allies.Clear(); this.Faction2Wars.Clear(); this.Faction2Allies.Clear(); AddWarRelationships(Faction1.Stances); AddWarRelationships(Faction2.Stances); foreach (Kingdom kingdom in Kingdom.All) { if (FactionManager.IsAlliedWithFaction(kingdom, Faction1) && kingdom != Faction1) { Faction1Allies.Add(new DiplomacyFactionRelationshipVM(kingdom)); } if (FactionManager.IsAlliedWithFaction(kingdom, Faction2) && kingdom != Faction2) { Faction2Allies.Add(new DiplomacyFactionRelationshipVM(kingdom)); } } base.UpdateDiplomacyProperties(); UpdateActionAvailability(); if (Settings.Instance.EnableWarExhaustion) { this.Stats.Insert(1, new KingdomWarComparableStatVM( (int)Math.Ceiling(WarExhaustionManager.Instance.GetWarExhaustion((Kingdom)this.Faction1, (Kingdom)this.Faction2)), (int)Math.Ceiling(WarExhaustionManager.Instance.GetWarExhaustion((Kingdom)this.Faction2, (Kingdom)this.Faction1)), new TextObject("{=XmVTQ0bH}War Exhaustion"), this._faction1Color, this._faction2Color, 100, null)); } }