Exemple #1
0
 public static void SaveInstance(InstanceGame instance, bool force = false)
 {
     if (force || LocalMultiplayer.IsLocalMultiplayer())
     {
         if (instance.staticVarHolder == null)
         {
             instance.staticVarHolder = Activator.CreateInstance(LocalMultiplayer.StaticVarHolderType);
         }
         LocalMultiplayer.StaticSave(instance.staticVarHolder);
     }
 }
Exemple #2
0
 public static void LoadInstance(InstanceGame instance, bool force = false)
 {
     Game1.game1 = (instance as Game1);
     if ((force || LocalMultiplayer.IsLocalMultiplayer()) && instance.staticVarHolder != null)
     {
         LocalMultiplayer.StaticLoad(instance.staticVarHolder);
         if (Game1.player != null && (bool)Game1.player.isCustomized && Game1.splitscreenOptions.ContainsKey(Game1.player.UniqueMultiplayerID))
         {
             Game1.options = Game1.splitscreenOptions[Game1.player.UniqueMultiplayerID];
             Game1.options.lightingQuality = GameRunner.instance.gameInstances[0].instanceOptions.lightingQuality;
         }
     }
 }
Exemple #3
0
 private static void SetInstanceDefaults(InstanceGame instance)
 {
     for (int i = 0; i < LocalMultiplayer.staticDefaults.Count; i++)
     {
         object value = LocalMultiplayer.staticDefaults[i];
         if (value != null)
         {
             value = value.DeepClone();
         }
         LocalMultiplayer.staticFields[i].SetValue(null, value);
     }
     SaveInstance(instance);
 }