Exemple #1
0
        public void ChangeRelationshipOfFaction(Faction_Relations relation, Faction_Relations ChangedRelation, bool ExpectedResult)
        {
            //    [Review] wtf? Why loop through relationships when you can access them like FactionRelationships[Key]?

            Unit.AddRelationship(Friend.FactionModel, relation);

            var result  = false;
            var result2 = false;

            Unit.ChangeRelationship(Friend.FactionModel, ChangedRelation);

            foreach (KeyValuePair <FactionModel, Faction_Relations> relationship in Unit.FactionModel.FactionRelationships)
            {
                if (relationship.Key.Name == Friend.FactionModel.Name && relationship.Value != relation)
                {
                    result = true;
                }
            }

            foreach (KeyValuePair <FactionModel, Faction_Relations> relationship in Friend.FactionModel.FactionRelationships)
            {
                if (relationship.Key.Name == Unit.FactionModel.Name && relationship.Value != relation)
                {
                    result2 = true;
                }
            }

            Assert.IsTrue(result == ExpectedResult);
            Assert.IsTrue(result2 == ExpectedResult);
        }
        // Adds a relationship to the faction if it doesnt exist yet
        public void AddRelationship(FactionModel faction, Faction_Relations relation)
        {
            if (FactionModel.FactionRelationships.ContainsKey(faction))
            {
                return;
            }

            FactionModel.FactionRelationships.Add(faction, relation);
            faction.FactionRelationships.Add(FactionModel, relation);
        }
Exemple #3
0
        public void IsHostileToFaction(Faction_Relations relation, bool ExpectedResult)
        {
            Unit.AddRelationship(Enemy.FactionModel, relation);


            var result  = Unit.IsHostileTo(Enemy.FactionModel);
            var result2 = Enemy.IsHostileTo(Unit.FactionModel);


            Assert.IsTrue(result == ExpectedResult);
            Assert.IsTrue(result2 == ExpectedResult);
        }
        // Checks if there is a relation with the given faction and changes it to the given relation if not the same
        public void ChangeRelationship(FactionModel faction, Faction_Relations relation)
        {
            if (FactionModel.FactionRelationships[faction] == relation)
            {
                return;
            }

            FactionModel.FactionRelationships.Remove(faction);
            FactionModel.FactionRelationships.Add(faction, relation);

            faction.FactionRelationships.Remove(FactionModel);
            faction.FactionRelationships.Add(FactionModel, relation);
        }