登录注册(txt)

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;
    }
}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值