/// <summary> /// Load saved game data from saveddata file /// </summary> /// <returns>Return saved datas list, including null value</returns> public List <SavedDataModel> LoadSavedDatas() { if (!Directory.Exists(savedDataPath)) { Directory.CreateDirectory(savedDataPath); } using (FileStream fs = new FileStream(savedDataPath + savedDataFile, FileMode.OpenOrCreate)) { using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string savedDataJson = sr.ReadToEnd(); if (null == savedDatas) { savedDatas = InitList <SavedDataModel>(savdDataPageCount * 12); } if (!string.IsNullOrEmpty(savedDataJson)) { JArray savedDataJArray = JArray.Parse(savedDataJson); foreach (JToken jSavedData in savedDataJArray) { if (null != jSavedData && jSavedData.Type != JTokenType.Null) { SavedDataModel thisModel = JsonConvert.DeserializeObject <SavedDataModel>(jSavedData.ToString()); savedDatas[thisModel.savedDataIndex] = thisModel; } } return(savedDatas); } } } return(InitList <SavedDataModel>(savdDataPageCount * 12)); }
/// <summary> /// Handles the click of the delete button to delete the current profile /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DeleteProfileButton_Click(object sender, EventArgs e) { if (this.profileCombobox.SelectedItem is ProfileModel pm) { if (pm.GUID == "DEFAULT") { MessageBox.Show("You cannot delete the default profile."); return; } else { ProfileModel deleteModel = null; foreach (var profile in VoltageDisplayForm.SavedData.Profiles) { if (profile.GUID == pm.GUID) { deleteModel = profile; break; } } if (deleteModel != null) { VoltageDisplayForm.SavedData.Profiles.Remove(deleteModel); SavedDataModel.Write(VoltageDisplayForm.SavedData); SetupProfileList(); this.profileCombobox.SelectedIndex = 0; } } } }
public SavedDataModel GetCurrentData() { SavedDataModel tmpData = new SavedDataModel(); tmpData.dialogInedx = dialogIndex - 1; tmpData.savedTime = DateTime.Now; tmpData.chapterIndex = chapterIndex; tmpData.savedPicName = screenPicName; return(tmpData); }
public void InitDataList(int size) { if (size > 0) { for (int i = 1; i <= size; i++) { SavedDataModel tempData = new SavedDataModel(); tempData.chapterIndex = 0; tempData.dialogInedx = 0; tempData.savedTime = DateTime.Now; tempData.savedDataIndex = i; savedDatas.Add(tempData); } } }
public VoltageDisplayForm() { InitializeComponent(); SavedData = SavedDataModel.Read(); SavedData.DataChanged += this.SavedData_DataChanged; this.FormClosed += this.OnFormClosed; this.SetScreenSizeAndPosition(); this.IsConnected = false; this.SetupComPortMenu(); this.dataWriterDelegate = new WriteDataDelegate(DataWriter); this.GetVerionInfo(); this.SetupProfiles(); }
public void Load() { if (File.Exists(savedFileName)) { BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Open(savedFileName, FileMode.Open); SavedDataModel savedDataModel = (SavedDataModel)bf.Deserialize(file); GameStateController.LoadData(savedDataModel); } else { GameStateController.LoadData(null); // will start new game } }
public bool Save() { try { BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Create(savedFileName); SavedDataModel savedDataModel = new SavedDataModel(GameStateController.playerController.playerModel, GameStateController.jobsController.GetJobLevelsSnapshot(), GameStateController.characterMetaDataController.characterMetaDataModel); bf.Serialize(file, savedDataModel); file.Close(); return(true); } catch (FileNotFoundException) { return(false); } }
private void Start() { GameObject.DontDestroyOnLoad(gameObject); rootPath = Application.dataPath; savedDatasPath = rootPath + "/Resources/SavedData/"; savedDatasFile = "savedData.json"; qSavedDataFile = "quickSavedData.json"; settingDataFile = "settingData.json"; zeroCGArray = "0;0;0;0;0;0"; fullCGArray = "1_1,1_2,1_3;2_1,2_in,2_out;3_1,3_2;4_1,4_2;5_1,5_2;6_1,6_2"; titleContainer = displayCanvas.transform.Find("TitleContainer").gameObject; savedDataPanel = displayCanvas.transform.Find("SavedDataPanel").gameObject; skipContainer = displayCanvas.transform.Find("SkipContainer").gameObject; extraContainer = displayCanvas.transform.Find("ExtraContainer").gameObject; cgPanel = displayCanvas.transform.Find("CGPanel").gameObject; cgDetail = displayCanvas.transform.Find("CGDetail").gameObject; fullCGBtn = extraContainer.transform.Find("FullCG").GetComponent <Button>(); zeroCGBtn = extraContainer.transform.Find("ZeroCG").GetComponent <Button>(); confirmPanel = extraContainer.transform.Find("ConfirmPanel").gameObject; bgmPanel = displayCanvas.transform.Find("BGMPanel").gameObject; bgmSource = displayCanvas.transform.Find("AudioContainer").gameObject.transform.Find("TitleAudio").GetComponent <AudioSource>(); memoryPanel = displayCanvas.transform.Find("MemoryPanel").gameObject; memoryStartArray = new int[] { 29, 46 }; memoryEndArray = new int[] { 43, 67 }; settingPannel = displayCanvas.transform.Find("SettingPanel").gameObject; savedDatas = new List <SavedDataModel>(); //LoadDatas<List<SavedDataModel>>(savedDatasFile, savedDatas); qSavedData = new SavedDataModel(); // LoadDatas<SavedDataModel>(qSavedDataFile, qSavedData); settingDatas = new SettingModel(); //LoadDatas<SettingModel>(settingDataFile, settingDatas); //AnalyzeCGArray(settingDatas.cgSavedData); ChapterController._instance.noClothes = settingDatas.noClothes;//先要读取是否着装的设置 }
/// <summary> /// Handles the click of the save button to save the current settings /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SaveProfileButton_Click(object sender, EventArgs e) { if (this.profileCombobox.SelectedItem is ProfileModel pm) { if (pm.GUID != "Default") { pm.ProfileName = this.profileNameTextbox.Text.Trim(); // Ensure a unique name foreach (var existingProfile in VoltageDisplayForm.SavedData.Profiles) { if (pm.ProfileName == existingProfile.ProfileName && pm.GUID != existingProfile.GUID) { pm.ProfileName += " (Copy)"; this.profileNameTextbox.Text = pm.ProfileName; break; } } if (!this.minValueTextbox.Text.Contains(".")) { this.minValueTextbox.Text += ".00"; } if (!this.maxValueTextbox.Text.Contains(".")) { this.maxValueTextbox.Text += ".00"; } float.TryParse(this.minValueTextbox.Text, out float minValue); float.TryParse(this.maxValueTextbox.Text, out float maxValue); this.minValueTextbox.Text = minValue.ToString("F2"); this.maxValueTextbox.Text = maxValue.ToString("F2"); pm.MinValue = minValue; pm.MaxValue = maxValue; if (pm.GUID == "New") { // we're adding a new item pm.GUID = Guid.NewGuid().ToString(); VoltageDisplayForm.SavedData.Profiles.Add(pm); } else { // we're updating an existing item foreach (var profile in VoltageDisplayForm.SavedData.Profiles) { if (profile.GUID == pm.GUID) { pm = profile; // overwrite all properties break; } } } } SavedDataModel.Write(VoltageDisplayForm.SavedData); SetupProfileList(); this.SelectByGUID(pm.GUID); } }
/* * /// <summary> * /// 将存储数据存入本地 * /// </summary> * public void SaveDatas<T>(string fileName, T datas) * { * if (!Directory.Exists(savedDatasPath)) * { * Directory.CreateDirectory(savedDatasPath); * } * using (StreamWriter w = new StreamWriter(savedDatasPath + fileName, false, Encoding.UTF8)) * { * string savedDataJson = JsonConvert.SerializeObject(datas); * w.Write(savedDataJson); * } * } */ public void SetQuickSavedData() { qSavedData = ChapterController._instance.GetCurrentData(); //SaveDatas<SavedDataModel>(qSavedDataFile, qSavedData); }