static void Prefix(DateNotifier __instance, ref int?__state) { if (Multiplayer.Client == null && Multiplayer.RealPlayerFaction != null) { return; } Map map = __instance.FindPlayerHomeWithMinTimezone(); if (map == null) { return; } __state = Find.TickManager.TicksGame; FactionContext.Push(Multiplayer.RealPlayerFaction); Find.TickManager.DebugSetTicksGame(map.AsyncTime().mapTicks); }
private static void CleanupFactionDB(FactionInfoList factions, FactionContext DB) { try { var dictFactions = factions.factions.ToDictionary(K => K.abbrev, K => K); DB.Factions .Where(F => !dictFactions.ContainsKey(F.Abbrev)) .ToList() .ForEach(F => DB.Factions.Remove(F)); DB.SaveChanges(); } catch (System.Exception Error) { System.Console.WriteLine(Error); } }
public FactionsController(FactionContext aFactionContext) { DB = aFactionContext; FactionManager = Program.GetManager <FactionManager>(); }