Unity UGUI 实战学习笔记(4)

仅作学习,不做任何商业用途

不是源码,不是源码!

是我通过"照虎画猫"写的,可能有些小修改

不提供素材,所以应该不算是盗版资源,侵权删  

登录面板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
            { }

        //如果选中了自动登录
    }
}

 因为还有注册面板和登录进去的服务器面板没拼完,所以逻辑写到这里就算完成了这一部分了

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值