public void UpdateBoosterPartners()
 {
     foreach (BoosterData partner in RelationsBoosterCache)
     {
         float       relation        = partner.Relation;
         double      time            = partner.Time;
         string      partnerName     = partner.faction;
         FactionData TargetedFaction = factionsData[partnerName];
         BoosterData TheBooster      = null;
         foreach (BoosterData TempRelation in TargetedFaction.Boosters)
         {
             if (TempRelation.faction == FactionName)
             {
                 TheBooster = TempRelation;
             }
         }
         if (TheBooster != null)
         {
             TheBooster.Relation = relation;
             TheBooster.Time     = time;
         }
         else
         {
             Logger.Error("A partner did not found the current faction in its booster relation list.");
         }
     }
 }
 public void RemoveBooster(BoosterData booster)
 {
     booster.Remove();
     Boosters.Remove(booster);
     if (Boosters.Count <= 0 && Relations.Count <= 0)
     {
         // Only removed if both Relations and Boosters are null (they have the same parent node "relations" in save file).
         FactionNode.RemoveChild(XMLFunctions.FindChild(FactionNode, "relations"));
     }
 }