C#本地化注册登录

C#本地化注册登录

//引入头文件:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable]//序列化
public class Message//定义类
{
    public string Accounttext;
    public string Passwordtext
 }
   [Serializable]//序列化
public class Messagelist
{
    public List<Message> list = new List<Message>();

}
public class Login : MonoBehaviour {

    public InputField Account;
    public InputField Password;
    public Button LoginBt;
    public Button SingoinBt;
    public string Accounttext;
    public string Passwordtext;
    public string Path="D://message.txt";
    public Messagelist ml;
    public Image warning;
    public Text warningtext;
    void Start ()
    {
        LoginBt.onClick.AddListener(LoginFunction);
        SingoinBt.onClick.AddListener(SingoinFunction);
        ml = new Messagelist();
	}
    bool IsNull()//判断是否为空
    {
        if (Account.text == string.Empty)//有对象,但对像没有值
        {
            warning.gameObject.SetActive(true);
            warningtext.text = "账号不能为空";
            return true;
        }
        if (Password.text == string.Empty)
        {
            warning.gameObject.SetActive(true);
            warningtext.text = "密码不能为空";
            return true;
        }
        Accounttext = Account.text;
        Passwordtext = Password.text;
        return false;
    }
	void LoginFunction()
    {
        if (IsNull())
        {
            return;
        }
        if (FileFunction(Path,true))
        {
            return;
        }
        for (int i = 0; i <ml.list.Count; i++)
        {
            if (ml.list[i].Accounttext == Accounttext)
            {
                if (ml.list[i].Passwordtext == Passwordtext)
                {
                    print("登录成功");
                    //跳转场景
                    return;
                }
                else
                {
                    warning.gameObject.SetActive(true);
                    warningtext.text = "密码错误";
                    return;
                }
            }
            else if (i ==ml. list.Count - 1)
            {
                warning.gameObject.SetActive(true);
                warningtext.text = "账号不存在,请先注册";
            }
        }
    }
    void SingoinFunction()
    {
        if (IsNull())
        {
            return;
        } 
        if (FileFunction(Path)) 
        {
            for (int i = 0; i < ml.list.Count; i++)
            {
                if (ml.list[i].Accounttext == Accounttext)
                {
                    warning.gameObject.SetActive(true);
                    warningtext.text = "账号已存在";
                    return;
                }
            }
        }
        Message m = new Message();
        m.Accounttext = Accounttext;
        m.Passwordtext = Passwordtext;
        ml.list.Add(m);
        //创建流
        FileStream fs = new FileStream("D://message.txt", FileMode.OpenOrCreate);
       //二进制读取流
        BinaryFormatter bf = new BinaryFormatter();
        bf.Serialize(fs, ml);
        fs.Flush();
        fs.Close();
        fs.Dispose();
        warning.gameObject.SetActive(true);
        warningtext.text = "注册成功";
    }
	bool FileFunction(string s,bool flag=false)
    {
        FileStream fs = new FileStream(s, FileMode.OpenOrCreate);//创建流
        BinaryFormatter bf = new BinaryFormatter();//二进制读取流
        if (fs.Length != 0)
        {
            ml = (Messagelist)bf.Deserialize(fs);
            if (!flag)
            {
                fs.Flush();
                fs.Close();
                fs.Dispose();
                return true;
            }
        }
        else if(flag)
        {
            warning.gameObject.SetActive(true);
            warningtext.text = "账号不存在,请先注册";
            fs.Flush();
            fs.Close();
            fs.Dispose();
            return true;
        }
        fs.Flush();
        fs.Close();
        fs.Dispose();
        return false;
    }
	
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值