Example #1
0
 /// <summary>Perform any required update logic.</summary>
 public void Update()
 {
     // perform passive save
     if (this.WaitingToSave && Game1.activeClickableMenu == null)
     {
         this.currentSaveMenu = new NewSaveGameMenuV2();
         this.currentSaveMenu.SaveComplete += this.CurrentSaveMenu_SaveComplete;
         Game1.activeClickableMenu          = this.currentSaveMenu;
         this.WaitingToSave = false;
     }
 }
Example #2
0
        /// <summary>Event function for NewSaveGameMenu event SaveComplete</summary>
        /// <param name="sender">The event sender.</param>
        /// <param name="e">The event arguments.</param>
        private void CurrentSaveMenu_SaveComplete(object sender, EventArgs e)
        {
            this.currentSaveMenu.SaveComplete -= this.CurrentSaveMenu_SaveComplete;
            this.currentSaveMenu = null;
            SaveAnywhere.RestoreMonsters();
            if (this.afterSave != null)
            {
                this.afterSave.Invoke(this, EventArgs.Empty);
            }

            foreach (var v in this.afterCustomSavingCompleted)
            {
                v.Value.Invoke();
            }
        }
Example #3
0
        /// <summary>Initiate a game save.</summary>
        public void BeginSaveData()
        {
            if (this.beforeSave != null)
            {
                this.beforeSave.Invoke(this, EventArgs.Empty);
            }
            foreach (var v in this.beforeCustomSavingBegins)
            {
                v.Value.Invoke();
            }

            SaveAnywhere.Instance.cleanMonsters();

            // save game data
            Farm farm = Game1.getFarm();

            if (farm.getShippingBin(Game1.player) != null)
            {
                //Game1.activeClickableMenu = new NewShippingMenu(farm.getShippingBin(Game1.player), this.Reflection);
                Game1.activeClickableMenu = new NewShippingMenuV2(farm.getShippingBin(Game1.player));
                //farm.getShippingBin(Game1.player).Clear();
                farm.lastItemShipped = null;
                this.WaitingToSave   = true;
            }
            else
            {
                this.currentSaveMenu = new NewSaveGameMenuV2();
                this.currentSaveMenu.SaveComplete += this.CurrentSaveMenu_SaveComplete;
                Game1.activeClickableMenu          = this.currentSaveMenu;
            }


            // save data to disk
            PlayerData data = new PlayerData
            {
                Time                = Game1.timeOfDay,
                Characters          = this.GetPositions().ToArray(),
                IsCharacterSwimming = Game1.player.swimming.Value
            };

            this.Helper.Data.WriteJsonFile(this.RelativeDataPath, data);

            // clear any legacy data (no longer needed as backup)
            this.RemoveLegacyDataForThisPlayer();
        }
Example #4
0
 public override void update(GameTime time)
 {
     if (this.quit)
     {
         return;
     }
     //base.update(time);
     if (Game1.client != null && Game1.client.timedOut)
     {
         this.quit = true;
         if (!Game1.activeClickableMenu.Equals((object)this))
         {
             return;
         }
         Game1.player.checkForLevelTenStatus();
         Game1.exitActiveMenu();
     }
     else
     {
         TimeSpan elapsedGameTime;
         if (this.loader != null)
         {
             this.loader.MoveNext();
             if (this.loader.Current >= 100)
             {
                 int num = this.margin;
                 elapsedGameTime = time.ElapsedGameTime;
                 int milliseconds = elapsedGameTime.Milliseconds;
                 this.margin = num - milliseconds;
                 if (this.margin <= 0)
                 {
                     this.complete();
                 }
             }
             double num1 = (double)this._ellipsisDelay;
             elapsedGameTime = time.ElapsedGameTime;
             double totalSeconds = elapsedGameTime.TotalSeconds;
             this._ellipsisDelay = (float)(num1 - totalSeconds);
             if ((double)this._ellipsisDelay <= 0.0)
             {
                 this._ellipsisDelay = this._ellipsisDelay + 0.75f;
                 this._ellipsisCount = this._ellipsisCount + 1;
                 if (this._ellipsisCount > 3)
                 {
                     this._ellipsisCount = 1;
                 }
             }
         }
         else if (this.hasDrawn && this.completePause == -1)
         {
             Game1.game1.IsSaving = true;
             if (Game1.IsMasterGame)
             {
                 if (Game1.saveOnNewDay)
                 {
                     this.loader = SaveGame.Save();
                 }
                 else
                 {
                     this.margin = -1;
                     this.complete();
                 }
             }
             else
             {
                 NewSaveGameMenuV2.saveClientOptions();
                 this.complete();
             }
         }
         if (this.completePause < 0)
         {
             return;
         }
         int num2 = this.completePause;
         elapsedGameTime = time.ElapsedGameTime;
         int milliseconds1 = elapsedGameTime.Milliseconds;
         this.completePause = num2 - milliseconds1;
         this.saveText.update(time);
         if (this.completePause >= 0)
         {
             return;
         }
         this.quit          = true;
         this.completePause = -9999;
         if (Game1.activeClickableMenu.Equals((object)this))
         {
             Game1.player.checkForLevelTenStatus();
             Game1.exitActiveMenu();
         }
         Game1.currentLocation.resetForPlayerEntry();
     }
 }