Exemple #1
0
 private void UpdateSaveData()
 {
     if (Timer > 0)
     {
         Timer--;
     }
     else
     {
         if (Global.save_file == null)
         {
             Phase = Save_Phases.World_Map;
         }
         else
         {
             // If we've run out of chapters to write to, write the save file
             if (Saving_Complete)
             {
                 Timer = WAIT_TIME;
                 // Save file
                 CallSaveData();
                 Phase = Save_Phases.World_Map;
             }
             // Check if data for this file exists already
             else
             {
                 // If so test if we actually want to overwrite
                 if (ConfirmOverwrite(Global.game_state.chapter_id))
                 {
                     MenuManager = new SaveMenuManager(this);
                     Phase       = Save_Phases.Overwrite_Confirm;
                 }
                 // Otherwise save the file
                 else
                 {
                     Save();
                     close_save_overwrite_window();
                 }
             }
         }
     }
 }
Exemple #2
0
        public override void update()
        {
            Player.update_anim();
            switch (Phase)
            {
            case Save_Phases.Load_File:
                Global.load_save_file      = true;
                Global.ignore_options_load = true;
                Phase = Save_Phases.Cleanup;
                break;

            case Save_Phases.Cleanup:
                Global.game_actors.heal_battalion();
                Global.game_actors.temp_clear();
                Global.current_save_info.ResetStartedChapter();
                if (Global.game_system.Style != Mode_Styles.Classic)
                {
                    Global.save_file.Difficulty = Global.game_system.Difficulty_Mode;
                }

                Phase = Save_Phases.Save_Data;
                break;

            case Save_Phases.Save_Data:
                if (MenuManager != null)
                {
                    MenuManager.Update();
                    if (MenuManager.Finished)
                    {
                        MenuManager = null;
                    }
                }
                else
                {
                    UpdateSaveData();
                }
                break;

            case Save_Phases.Overwrite_Confirm:
                MenuManager.Update();
                break;

            case Save_Phases.World_Map:
                // Advance after save complete
                if (!this.save_data_calling)
                {
                    if (Timer > 0)
                    {
                        Timer--;
                    }
                    else
                    {
                        Global.Audio.StopBgm();

                        Global.scene_change("Scene_Worldmap");
                        if (All_Saves_Overwritten)
                        {
                            Global.delete_suspend = true;
                        }
                        Global.load_save_info     = true;
                        Global.skipUpdatingFileId = true;
                    }
                }
                break;
            }
        }