Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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));
            }
        }