//セーブボタンが押されたときの関数 public void SaveButton() { GameObject temp_object = (GameObject)Resources.Load("Prefab/SaveCanvas"); save_canvas = Instantiate <Canvas>(temp_object.GetComponent <Canvas>()); savemanager = save_canvas.GetComponent <SaveManager>(); savemanager.LoadWindowOpen(); state = EXTRAMENUSTATE.SAVE; }
//セーブ関数 public void Main_Save() { if (EventSystem.current == null) { return; } PointerEventData eventDataCurrent = new PointerEventData(EventSystem.current); eventDataCurrent.position = Input.mousePosition; List <RaycastResult> raycast = new List <RaycastResult>(); EventSystem.current.RaycastAll(eventDataCurrent, raycast); if (Input.GetMouseButtonDown(1)) { BattleVal.status = STATUS.PLAYER_UNIT_SELECT; savemanager.save_BackGround.gameObject.SetActive(false); for (int page = 0; page < savemanager.save_load_page; page++) { for (int j = 0; j < savemanager.save_load; j++) { savemanager.save_object[page][j].gameObject.SetActive(true); Destroy(savemanager.save_object[page][j]); } } savemanager.nextpagebutton.gameObject.SetActive(false); savemanager.prevpagebutton.gameObject.SetActive(false); savemanager.page_number.gameObject.SetActive(false); Destroy(save_canvas.GetComponent <CanvasScaler>()); Destroy(save_canvas.GetComponent <GraphicRaycaster>()); Destroy(save_canvas.gameObject); Destroy(save_canvas); } for (int page = 0; page < savemanager.save_load_page; page++) { for (int i = 0; i < savemanager.save_load; i++) { savemanager.save_object[page][i].gameObject.SetActive(savemanager.now_page == page); } } Debug.Log(savemanager.now_page); for (int i = 0; i < savemanager.save_load; i++) { savemanager.save_object[savemanager.now_page][i].GetComponent <Image>().color = Color.white; } foreach (RaycastResult tmp in raycast) { for (int i = 0; i < savemanager.save_load; i++) { if (tmp.gameObject.name == savemanager.save_object[savemanager.now_page][i].gameObject.name) { savemanager.save_object[savemanager.now_page][i].GetComponent <Image>().color = Color.red; if (Input.GetMouseButtonDown(0)) { Savedata SD = new Savedata(); SD.Save(); SD.nameScene = SceneManager.GetActiveScene().name; SD.nameTitle = "夢現の旅籠"; //-------------------------------------------------------------------------------------- SD.current_message = string.Format("夢現の旅籠\n{0}/{1}/{2}/{3}:{4}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute); //--------------------------------------------------------------------------------------- FileStream fs = new FileStream(Application.streamingAssetsPath + "/SaveData/" + tmp.gameObject.name + ".json", FileMode.Create, FileAccess.Write); StreamWriter sw = new StreamWriter(fs); //**注意**-------------------------------------------------------------------------------------------------------------------------------------------------------------- Encryption_Config ec = Resources.Load <Encryption_Config>("Prefab/Encryption"); //sw.WriteLine(ec.EncryptionSystem(JsonUtility.ToJson(SD),false)); sw.WriteLine(ec.EncryptionSystem(JsonUtility.ToJson(SD), true)); //**-------------------------------------------------------------------------------------------------------------------------------------------------------------------- //sw.WriteLine(JsonUtility.ToJson(SD)); sw.Flush(); sw.Close(); fs.Close(); byte[] bytes = picture.EncodeToPNG(); File.WriteAllBytes(Application.streamingAssetsPath + "/SaveData/" + tmp.gameObject.name + ".png", bytes); state = EXTRAMENUSTATE.MENU; savemanager.save_BackGround.gameObject.SetActive(false); savemanager.nextpagebutton.gameObject.SetActive(false); savemanager.prevpagebutton.gameObject.SetActive(false); savemanager.page_number.gameObject.SetActive(false); for (int k = 0; k < savemanager.save_load_page; k++) { for (int j = 0; j < savemanager.save_load; j++) { Destroy(savemanager.save_object[k][j]); } } Destroy(save_canvas.GetComponent <CanvasScaler>()); Destroy(save_canvas.GetComponent <GraphicRaycaster>()); Destroy(save_canvas.gameObject); Destroy(save_canvas); return; } } } } }
//ロード関数 public void Main_Load() { if (EventSystem.current == null) { return; } if (Input.GetMouseButtonDown(1)) { state = EXTRAMENUSTATE.MENU; savemanager.save_BackGround.gameObject.SetActive(false); for (int i = 0; i < savemanager.save_load_page; i++) { for (int j = 0; j < savemanager.save_load; j++) { savemanager.save_object[i][j].gameObject.SetActive(true); Destroy(savemanager.save_object[i][j]); } } savemanager.nextpagebutton.gameObject.SetActive(false); savemanager.prevpagebutton.gameObject.SetActive(false); savemanager.page_number.gameObject.SetActive(false); Destroy(save_canvas.GetComponent <CanvasScaler>()); Destroy(save_canvas.GetComponent <GraphicRaycaster>()); Destroy(save_canvas.gameObject); Destroy(save_canvas); } for (int page = 0; page < savemanager.save_load_page; page++) { for (int i = 0; i < savemanager.save_load; i++) { savemanager.save_object[page][i].gameObject.SetActive(page == savemanager.now_page); } } PointerEventData eventDataCurrent = new PointerEventData(EventSystem.current); eventDataCurrent.position = Input.mousePosition; List <RaycastResult> raycast = new List <RaycastResult>(); EventSystem.current.RaycastAll(eventDataCurrent, raycast); for (int j = 0; j < savemanager.save_load_page; j++) { for (int i = 0; i < savemanager.save_load; i++) { savemanager.save_object[j][i].GetComponent <Image>().color = Color.white; } } foreach (RaycastResult tmp in raycast) { for (int page = 0; page < savemanager.save_load_page; page++) { for (int i = 0; i < savemanager.save_load; i++) { //if ((savemanager.sd[page][i]as NovelSave).reading_pos == -1) continue; if (tmp.gameObject.name == savemanager.save_object[page][i].gameObject.name) { savemanager.save_object[page][i].GetComponent <Image>().color = Color.red; if (Input.GetMouseButtonDown(0)) { FileStream fs = new FileStream(Application.streamingAssetsPath + "/SaveData/" + savemanager.save_object[page][i].gameObject.name + ".json", FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs); //**注意**-------------------------------------------------------------------------------------------------------------------------------------------------------------- Encryption_Config ec = Resources.Load <Encryption_Config>("Prefab/Encryption"); //string source_file = ec.DecryptionSystem(sr.ReadToEnd(),false); string source_file = ec.DecryptionSystem(sr.ReadToEnd(), true); //debug ; //**-------------------------------------------------------------------------------------------------------------------------------------------------------------------- NovelSave sd = JsonUtility.FromJson <NovelSave>(source_file); sd.Load(); //パーティメンバーのロード nextscene = sd.nameScene; FileStream fs2 = new FileStream(Application.streamingAssetsPath + "/SaveData/loadtemp", FileMode.Create, FileAccess.Write); StreamWriter sw = new StreamWriter(fs2); sw.WriteLine(source_file); sw.Flush(); fs2.Flush(); sw.Close(); fs2.Close(); sr.Close(); fs.Close(); //back_log.text = sd.backlog; fadeout.FadeIn(fadeintime, () => { gobjAllMenu.SetActive(false); GameVal.nextscenename = nextscene; SceneManager.LoadScene("BlackScene", LoadSceneMode.Single); Resources.UnloadUnusedAssets(); }); savemanager.save_BackGround.gameObject.SetActive(false); savemanager.nextpagebutton.gameObject.SetActive(false); savemanager.prevpagebutton.gameObject.SetActive(false); savemanager.page_number.gameObject.SetActive(false); for (int k = 0; k < savemanager.save_load_page; k++) { for (int j = 0; j < savemanager.save_load; j++) { savemanager.save_object[k][j].gameObject.SetActive(true); Destroy(savemanager.save_object[k][j]); } } Destroy(save_canvas.GetComponent <CanvasScaler>()); Destroy(save_canvas.GetComponent <GraphicRaycaster>()); Destroy(save_canvas.gameObject); Destroy(save_canvas); gobjMenu.GetComponent <StageSelectMenuAlpha>().FadeOut(); state = EXTRAMENUSTATE.MENU; return; } } } } } }