Unity PlayerPrefs制作的简单登录系统,记录账号密码

先用一个结构体,用来获取打上账号密码的文本

[System.Serializable]
public struct AccountMessageText
{
    public Text account;
    public Text password;
}
public class AccountSystem : MonoBehaviour
{
	//用来提示的显示文本,比如账号密码错误
	public Text tip_Text;
	//两个关于注册登录打字的Text,为啥要用数组,因为懒,注册和登录的文本直接用0和1
    public AccountMessageText[] AccountMessageText;
    private static AccountSystem instance_;
    public static AccountSystem Instance { get { return instance_; } }
    //登录成功后跳转的场景名称
    public string sceneName;
    //登录按钮
    public Button Login_Btn;
    //注册按钮
    public Button Register_Btn;
    //注册面板
    public GameObject RegisterPlane;
    public void Awake()
    {
    	//单例,不过好像也不太需要
        if (instance_ == null)
        {
            instance_ = this;
            //防止销毁
     }
     	//按下登录按钮,和按下注册按钮
        Login_Btn.onClick.AddListener(() => LoginButton(0));
        Register_Btn.onClick.AddListener(() => RegisterButton(1));
    }

    public void LoginButton(int value)
    {
        Login(AccountMessageText[value].account.text, AccountMessageText[value].password.text);
    }
    public void RegisterButton(int value)
    {
        Register(AccountMessageText[value].account.text, AccountMessageText[value].password.text);
    }
    //登录
    public void Login(string account, string password)
    {
    //如果输入进来的账号,从PlayerPrefs获取后不等于输入的密码
        if (PlayerPrefs.GetString(account) != password)
        {
          //显示账号密码错误
            tip_Text.text = "账号或密码错误";
        }
        else if (account == "" || password == "")
        {
            tip_Text.text = "账号不能为空";
        }
        else
        {
        	//这个是IDSystem可以忽略我用来每个场景可以让脚本获取当前账号id用的
            //IDSystem.instance.id = account;
            SceneManager.LoadScene(sceneName);
        }
    }
	//注册
    public void Register(string account, string password)
    {
        if (account == "" || password == "")
        {
            tip_Text.text = "账号密码不能为空";
        }
        else if (PlayerPrefs.GetString(account) == "")
        {
            PlayerPrefs.SetString(account, password);
            tip_Text.text = "注冊成功";
            RegisterPlane.SetActive(false);
        }
        else
        {
            tip_Text.text = "该账号已注册";
        }
    }

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值