仅作学习,不做任何商业用途
不是源码,不是源码!
是我通过"照虎画猫"写的,可能有些小修改
不提供素材,所以应该不算是盗版资源,侵权删
登录面板UI
登录数据逻辑
这是初始化的数据变量脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LogData {
//账号
public string usingname;
//密码
public string password;
//是否记住密码
public bool isRememberPw;
//是否自动登录
public bool isRememberLog;
//服务器
}
这是数据管理器
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LogDataManger
{
//登录管理器为单例模式
private static LogDataManger logdatamanger = new LogDataManger();//唯一实例
public static LogDataManger instance = logdatamanger;//访问入口
//私有变量和公共属性,以便获取
private LogData logdata;
public LogData LogData {
get {
return logdata;
}
}
//JsonMgr这块我直接照抄的,因为没跟写Json管理器
private LogDataManger() {
logdata = JsonMgr.Instance.LoadData<LogData>("LogData");
}
public void Save()
{
JsonMgr.Instance.SaveData(logdata, "LogData");
}
}
登录面板的逻辑
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;
public class 登陆面板Panel : 面板基类 {
//两个按钮
public Button sign;
public Button log;
//两个输入框
public InputField usingname;
public InputField password;
//两个勾选框
public Toggle Pw;//密码的
public Toggle Log;//自动登录的
protected override void Init() {
//登录确认
log.onClick.AddListener(
() => {
//隐藏登录面板前还需要审核逻辑
UIManger.Instance.HidePanel<登陆面板Panel>();
}
);
//注册确认
log.onClick.AddListener(
() => {
//隐藏登录面板
UIManger.Instance.HidePanel<登陆面板Panel>();
//弹出注册面板
}
);
//记住密码关掉,自动登录也应该关掉
Pw.onValueChanged.AddListener(
(ison) => {
if(ison==false)
{
Log.isOn = false;
}
}
);
//自动登录应该和记住密码同时勾选
Log.onValueChanged.AddListener(
(ison) => {
if(ison==true)
{
Pw.isOn = true;
}
}
);
}
public override void ShowMe() {
base.ShowMe();
//获取登录面板数据,以方便更新面板的信息
LogData logData = LogDataManger.instance.LogData;
//复选框的更新
Pw.isOn = logData.isRememberPw;
Log.isOn = logData.isRememberLog;
usingname.text =logData.usingname;
//如果选中了记住密码,可以更新密码
if(Pw.isOn)
password.text =logData.password;
else
{ }
//如果选中了自动登录
}
}
因为还有注册面板和登录进去的服务器面板没拼完,所以逻辑写到这里就算完成了这一部分了