private SAVE_GS New_Save() //定义一个存档方法 { SAVE_GS save_pub = new SAVE_GS(); save_pub.Y_or_N = 0; return(save_pub); }
public void At_Load() //登录窗口里的登录按钮 { Debug.Log("At_Load"); int LinShi_2 = 0; for (int i = 2, LinShi_1 = 0; LinShi_1 == 0; i++) //用于判断有多少个存档文件 { if (!File.Exists(Application.dataPath + "/saves" + "/save" + i + ".save")) { LinShi_2 = i - 1; LinShi_1 = 1; Debug.Log("共拥有" + LinShi_2 + "个存档"); } } string Account_text = Account_for.text, pass_text = pass_for.text; if (Account_text == "" || Account_text == "null" || pass_text == "" || pass_text == "null") { //判断是否有空输入框 Account_for.text = ""; pass_for.text = ""; //清空文字输入框 TipsTextScript._instance.ChangeTips("请不要填写空的账号或密码"); } else { int LinShi_1 = 0; for (int i = LinShi_2; i > 0; i--) //循环检查符合的账号 { BinaryFormatter bf = new BinaryFormatter(); //打开数据流 FileStream LinShi_3 = File.Open(Application.dataPath + "/saves" + "/save" + i + ".save", FileMode.Open); SAVE_GS LinShi_4 = (SAVE_GS)bf.Deserialize(LinShi_3); LinShi_3.Close(); //关闭存档文件的数据流 Debug.Log("第" + i + "个存档账号密码为:" + LinShi_4.Account + "&" + LinShi_4.Password); Debug.Log("获取到的输入值为:" + Account_text + "&" + pass_text); if (LinShi_4.Account == Account_text && LinShi_4.Password == pass_text) { LinShi_1 = i; Debug.Log("正在登入"); FileStream LinShi_5 = File.Create(Application.dataPath + "/saves" + "/load.save"); bf.Serialize(LinShi_5, LinShi_4); //将LinShi_4里的数据存入LinShi_5 LinShi_5.Close(); //关闭load.save的数据流 SceneManager.LoadScene("Main_interface", LoadSceneMode.Single); //转换场景 } } if (LinShi_1 == 0) { TipsTextScript._instance.ChangeTips("密码或账号输入有误"); } Account_for.text = ""; pass_for.text = ""; //清空文字输入框 } }
public void At_new() //新建账户窗口里的确定按钮 { string Account_text = Account.text, pass_text = pass.text; //将文本框的内容导入 if (Account_text == "" || Account_text == "null" || pass_text == "" || pass_text == "null") { Account.text = ""; pass.text = ""; TipsTextScript._instance.ChangeTips("不能输入空的账号或密码"); //检测是否出现空输入存在 } else { int LinShi_4 = 0; //用于判断是否有账号重复 for (int i = nob_i; i > 0; i--) { BinaryFormatter bf_2 = new BinaryFormatter(); //打开数据流 FileStream LinShi_2 = File.Open(Application.dataPath + "/saves" + "/save" + i + ".save", FileMode.Open); SAVE_GS LinShi_3 = (SAVE_GS)bf_2.Deserialize(LinShi_2); if (LinShi_3.Account == Account_text) { i = 0; Account.text = ""; pass.text = ""; LinShi_4 = 1; TipsTextScript._instance.ChangeTips("账号已存在,请重新输入"); } LinShi_2.Close(); //关闭数据流 } if (LinShi_4 == 0) //如果没有重复的账号则创建一个新的账号 { SAVE_GS save_new = new SAVE_GS(); //编写存档内容 save_new.Y_or_N = 0; save_new.Account = Account_text; save_new.Password = pass_text; save_new.NomberD = nob_i + 1; BinaryFormatter bf = new BinaryFormatter(); //打开数据流 FileStream LinShi_1 = File.Create(Application.dataPath + "/saves" + "/save" + (nob_i + 1) + ".save"); //创建存档文件 bf.Serialize(LinShi_1, save_new); //将save_new里的数据存入LinShi_1 LinShi_1.Close(); //关闭数据流 FileStream LinShi_5 = File.Create(Application.dataPath + "/saves" + "/load.save"); //建立一个用于新场景的读取文件 bf.Serialize(LinShi_5, save_new); //将save_new里的数据存入LinShi_5 LinShi_5.Close(); //关闭数据流 Debug.Log("创建完成"); SceneManager.LoadScene("Main_interface", LoadSceneMode.Single); //转换场景 Debug.Log("检查是否继续运行"); nob_i = 0; Account.text = ""; pass.text = ""; New_Save_window.SetActive(false); //还原数据 } else { LinShi_4 = 0; } } }