Exemple #1
0
 private static bool ValidateFaction(FactionOnline pkt, FactionOnline data)
 {
     if (pkt.DefName == data.DefName &&
         pkt.LabelCap == data.LabelCap &&
         pkt.loadID == data.loadID)
     {
         return(true);
     }
     return(false);
 }
        public static FactionOnline GetFactions(Faction obj)
        {
            var faction = new FactionOnline();

            faction.Name     = obj.Name;
            faction.LabelCap = obj.def.LabelCap;
            faction.DefName  = obj.def.defName;
            faction.loadID   = obj.loadID;
            return(faction);
        }
 private static bool ValidateFaction(FactionOnline fOnline1, Faction fOnline2)
 {
     if (fOnline1.LabelCap == fOnline2.def.LabelCap &&
         fOnline1.DefName == fOnline2.def.defName &&
         fOnline1.loadID == fOnline2.loadID)
     {
         return(true);
     }
     return(false);
 }
        public static void AddNewFaction(FactionOnline factionOnline)
        {
            FactionDef facDef = DefDatabase <FactionDef> .GetNamed(factionOnline.DefName);

            Faction faction = new Faction();

            faction.def               = facDef;
            faction.loadID            = factionOnline.loadID;
            faction.colorFromSpectrum = FactionGenerator.NewRandomColorFromSpectrum(faction);

            faction.Name           = factionOnline.Name;
            faction.centralMelanin = Rand.Value;
            foreach (Faction current in Find.FactionManager.AllFactionsListForReading)
            {
                faction.TryMakeInitialRelationsWith(current);
            }
            faction.TryGenerateNewLeader();

            Find.FactionManager.Add(faction);
            typeof(FactionManager).GetMethod("RecacheFactions", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).Invoke(Find.FactionManager, null);
        }