/// <summary> /// <para>Eng. Pushed Saved Button. </para> /// <para>Kor. 저장된 게임 버튼을 눌렀습니다. </para> /// </summary> public void SavedButtonPushed(GameObject _pushedButton) { switch (_state) { case SaveLoadSlotManagerState.NewGameSave: _pushedSavedButton = _pushedButton; _rewritePanel.SetActive(true); break; case SaveLoadSlotManagerState.OptionSave: _pushedSavedButton = _pushedButton; _rewritePanel.SetActive(true); break; case SaveLoadSlotManagerState.Load: _pushedSavedButton = _pushedButton; VinoveGameSaveData _savedData = _pushedSavedButton.GetComponent <SavedButtonManager>()._savedData; InGameManager.GetInstance().LoadGameByScript(_savedData); DisableSlot(); MainMenuManager.GetInstance().DisableMainMenu(); InGameManager.GetInstance().VinoveInitialize(); InGameManager.GetInstance().GameState = Enum.GameState.InGame; break; } }
/// <summary> /// <para>Eng. Load all save file in local save folder </para> /// <para>Kor. 세이브 폴더내에 저장된 파일을 게임으로 모두 불러옵니다. </para> /// </summary> void ReloadSaveFile(VinoveGameSaveData _saveData) { VinoveScript _script = InGameManager.GetInstance()._currentVinove.FindSceneWithUID(_saveData._parentSceneUID).FindScriptWithUID(_saveData._scriptUID); _pushedSavedButton.GetComponent <SavedButtonManager>().ChangeSaveData(_saveData); _pushedSavedButton.GetComponent <SavedButtonManager>().ChangeTexts(_saveData._savedDate, _script.ScriptConversation.Speaker, _script.ScriptConversation.Dialog); _pushedSavedButton = null; }
/// <summary> /// <para>Eng. Load all save file in local save folder </para> /// <para>Kor. 세이브 폴더내에 저장된 파일을 게임으로 모두 불러옵니다. </para> /// </summary> void ReloadSaveFile(string _path) { VinoveGameSaveData _saveData = BinaryIOManager.GetInst().BinaryDeserialize <VinoveGameSaveData>(_path); _saveDatas.Add(_saveData); VinoveScript _script = InGameManager.GetInstance()._currentVinove.FindSceneWithUID(_saveData._parentSceneUID).FindScriptWithUID(_saveData._scriptUID); GameObject _instantiatedButton = Instantiate(_savedFileButtonPrefab, _contentParent.transform); _instantiatedButton.GetComponent <SavedButtonManager>().ChangeSaveData(_saveData); _instantiatedButton.GetComponent <SavedButtonManager>().ChangeTexts(_saveData._savedDate, _script.ScriptConversation.Speaker, _script.ScriptConversation.Dialog); _savedFileButtons.Add(_instantiatedButton); }
/////////////////////////////// /// Save & Load Sequence /// <summary> /// <para>Eng. Load all save file in local save folder </para> /// <para>Kor. 세이브 폴더내에 저장된 파일을 게임으로 모두 불러옵니다. </para> /// </summary> void ReloadSaveFiles() { DirectoryInfo info = new System.IO.DirectoryInfo(_saveFolderDir); FileInfo [] fileInfo = info.GetFiles(); foreach (FileInfo file in fileInfo) { if (file.Name.EndsWith(".sav")) { VinoveGameSaveData _saveData = BinaryIOManager.GetInst().BinaryDeserialize <VinoveGameSaveData>(file.FullName); _saveDatas.Add(_saveData); VinoveScript _script = InGameManager.GetInstance()._currentVinove.FindSceneWithUID(_saveData._parentSceneUID).FindScriptWithUID(_saveData._scriptUID); GameObject _instantiatedButton = Instantiate(_savedFileButtonPrefab, _contentParent.transform); _instantiatedButton.GetComponent <SavedButtonManager>().ChangeSaveData(_saveData); _instantiatedButton.GetComponent <SavedButtonManager>().ChangeTexts(_saveData._savedDate, _script.ScriptConversation.Speaker, _script.ScriptConversation.Dialog); _savedFileButtons.Add(_instantiatedButton); } } }
/// <summary> /// <para>Eng. Create class for archive and save to file. </para> /// <para>Kor. 저장용 클래스를 생성하고, 파일화 하여 저장합니다. </para> /// </summary> void SaveData() { VinoveGameSaveData _saveData = new VinoveGameSaveData(); _saveData._parentSceneUID = _parentSceneUID; _saveData._scriptUID = _saveTargetUID; _saveData._speakerIllustKey = _speakerIllustKey; _saveData._speakerIllustColorAlpha = _speakerIllustColorAlpha; _saveData._speakerIllustActivated = _speakerIllustActivated; _saveData._savedDate = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"); BinaryIOManager.GetInst().BinarySerialize <VinoveGameSaveData>(_saveData, _saveFolderDir + _saveData._savedDate + ".sav"); ReloadSaveFile(_saveFolderDir + _saveData._savedDate + ".sav"); if (_state == SaveLoadSlotManagerState.NewGameSave) { DisableSlot(); MainMenuManager.GetInstance().DisableMainMenu(); InGameManager.GetInstance().NewGameInitialize(); } }
/// <summary> /// <para>Eng. Create class for archive and save to file. </para> /// <para>Kor. 저장용 클래스를 생성하고, 파일화 하여 저장합니다. </para> /// </summary> void SaveData(GameObject _button) { VinoveGameSaveData _saveData = _button.GetComponent <SavedButtonManager>()._savedData; string _tmpDate = _saveData._savedDate; _saveData._parentSceneUID = _parentSceneUID; _saveData._scriptUID = _saveTargetUID; _saveData._savedDate = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"); _saveData._speakerIllustKey = _speakerIllustKey; _saveData._speakerIllustColorAlpha = _speakerIllustColorAlpha; _saveData._speakerIllustActivated = _speakerIllustActivated; System.IO.File.Delete(_saveFolderDir + _tmpDate + ".sav"); BinaryIOManager.GetInst().BinarySerialize <VinoveGameSaveData>(_saveData, _saveFolderDir + _saveData._savedDate + ".sav"); ReloadSaveFile(_saveData); if (_state == SaveLoadSlotManagerState.NewGameSave) { DisableSlot(); MainMenuManager.GetInstance().DisableMainMenu(); InGameManager.GetInstance().NewGameInitialize(); } }
//////////////////////////////////////////////////////////////////////// /// Func /// <summary> /// <para>Eng. Change Saved Data. </para> /// <para>Kor. 저장 데이터를 변경합니다. </para> /// </summary> public void ChangeSaveData(VinoveGameSaveData _data) { _savedData = _data; }