using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//此脚本挂在button出发事件
public class Zhucebutton : MonoBehaviour {
//调整ui深度达到重叠效果
public void ReturnLogin()
{
SearchArr.instance.uichange[1].GetComponent<Canvas>().sortingOrder = -1;
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;
using System;
using System.Text;
using UnityEngine.SceneManagement;
public class SearchArr : MonoBehaviour{
public static SearchArr instance;
//输入姓名
public InputField up;
//输入密码学号
public InputField down;
//显示信息
public Text message;
//显示
string strddd;
//字典存储
static Dictionary<string, Uesrdemo> _dic = new Dictionary<string, Uesrdemo>();
//姓名
private string namedemo;
//密码学号
private string password;
//文件路径
string path = "123.txt";
//文件里所有内容
string all;
//每一行
string[] strarrline;
//每一行字符数组
string[] singleton;
//最后登录的记录
string[] singletonEnd;
//写入的内容
string inputstr;
//文件里读取的每个对象的名字
string objname;
//文件里读取的每个对象的密码
string objpassword;
//信息字符串链接
StringBuilder stringbuilder=new StringBuilder ();
//登录按钮
public Button buttonlogin;
//注册按钮
public Button buttonregister;
//注册面板
public GameObject[] uichange;
public Text zhucexinxi;
// Use this for initialization
void Start () {
instance = this;
//判断是否存在文件
Test(path);
//事件监听lambda
buttonlogin.onClick.AddListener(delegate() { LoginUser(namedemo); });
buttonregister.onClick.AddListener(delegate() { RegisterUser(namedemo, password); } );
}
// Update is called once per frame
void Update () {
//初始化
namedemo = up.GetComponent<InputField>().text;
password = down.GetComponent<InputField>().text;
}
void Test(string path)
{
//文件的创建
if (File.Exists(path))
{
Console.WriteLine("文件已经存在");
ReadText();
}
else
{
//如果不存在则创建文件
File.Create(path);
}
}
//读取
void ReadText()
{
try
{
using (StreamReader _read = new StreamReader(path))
{
all = _read.ReadToEnd();
strarrline = all.Split('\n');
//按换行符分割 空默认1 所以真正第一行数据是有两个换行符
Debug.Log(strarrline.Length);
//当有数据的时候
if (strarrline.Length >= 2)
{
//strarrline.Length-1 :真正行数
for (int i = 0; i < strarrline.Length-1; i++)
{
//"\t"也可用tab代替 每一行的数据
singleton = strarrline[i].Split(new string[] { "\t" }, StringSplitOptions.RemoveEmptyEntries);
Debug.Log(singleton.Length);
for (int j = 0; j < singleton.Length; j++)
{
//namedemo = singleton[0];
//password = singleton[1];
//追加账户密码
// stringbuilder.Append(singleton[j]);
}
objname = singleton[0];
objpassword = singleton[1];
//登录记录 全记录容易溢出
//stringbuilder.Append(singleton[0]+'\n');
//记录最后一次登陆的人的账号
singletonEnd= strarrline[strarrline.Length - 2].Split(new string[] { "\t" }, StringSplitOptions.RemoveEmptyEntries);
strddd=string.Format("上次登录记录{0}", singletonEnd[0]);
if (objname != null && objpassword != null)
{
_dic.Add(objname, ReturnGameobject(objname, objpassword));
}
else
{
print("kong");
}
}
//信息 StringBuilder书写这里不用了
// message.text = stringbuilder.ToString();
//信息表示为最后一个人的名字
message.text = strddd;
}
}
}
catch (Exception)
{
throw;
}
}
//写入
public void WriteText(string name,string password)
{
try
{
// TextAsset _write = new StreamWriter(Path.Combine(path,"dasdas.txt"),false,Encoding.UTF8);
using (StreamWriter _write = new StreamWriter(path, true))
{
Debug.Log("dadad");
inputstr = name + '\t' + password + '\n';
//string strss = "\nfan\tgggg\naaaa\tbbbb";
//_write.Write(strss);
Debug.Log(inputstr);
_write.Write(inputstr);
_dic.Add(name, ReturnGameobject(name, password));
_write.Flush();
// AssetDatabse.Refresh();
}
}
catch (Exception)
{
throw;
}
}
//返回类
public Uesrdemo ReturnGameobject(string name,string password)
{
Uesrdemo user = new Uesrdemo(name, password);
return user;
}
//注册
public void RegisterUser(string name,string password)
{
if (name != null && password != null||name!=string.Empty&&password!=string.Empty)
{
WriteText(name, password);
uichange[1].GetComponent<Canvas>().sortingOrder = 1;
zhucexinxi.text = string.Format("\t请牢记账号:{0}密码:{1}\n\t按返回键登录", name, password);
}
else
{
print("姓名和学号密码不能为空。。小伙子!!");
message.text = "姓名和学号密码不能为空。。小伙子!!";
}
}
//登录
public void LoginUser(string name)
{
if (_dic.ContainsKey(name))
{
//登陆成功
SceneManager.LoadScene(1);
}
else
{
print("账户不存在");
message.text = "账户不存在,请注册。。。";
}
}
}
//构建用户类
public class Uesrdemo
{
private string name;
private string password;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public string Password
{
get
{
return password;
}
set
{
password = value;
}
}
public Uesrdemo(string name, string password)
{
this.Name = name;
this.Password = password;
}
}