三、账号密码存储

使用Playfers存储

Unity本地持久化类Playerprefs使用详解 - PlaneZhong - 博客园 (cnblogs.com)

一、登陆界面切换

1、登陆界面的脚本(机制类脚本)

在这个UI上挂载一个脚本LoginWnd

先声明一下这个脚本,拖拽

2、在登录模块中调用

这里的lambo表达式是简化了下面的方法

这里面的回调函数,是一个机制

使用这个机制的是:EnterLogin

因此,直接用一个lambo指向被注释的方法

作用是:当每一次场景切换时,都会调用委托里面的方法

而,登陆界面只需要出现一次,所以在这个异步加载的方法中添加一个回调参数

在LoginSys中进行调用异步加载场景的方法,就实现了只出现一次登陆场景

二、Playfers存储

//登录注册界面
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;public class LoginWnd : MonoBehaviour
{public TMP_InputField iptAcct;public TMP_InputField iptPass;public Button btnEnter;public Button btnNotice;public void InitWnd(){//获取本地存储的账号密码if (PlayerPrefs.HasKey("Acct") && PlayerPrefs.HasKey("Pass"))//如果查到了账号和密码{//赋值给它iptAcct.text = PlayerPrefs.GetString("Acct");iptPass.text = PlayerPrefs.GetString("Pass");}else//没有就自己输入{iptAcct.text = "";iptPass.text = "";}}//TODO更新本地存储的账号密码}

在这个代码中,和之前一样,需要进行一个初始化

被LoginSys调用。

如果查询到了账号和密码,那么就赋值给text

没有就自己输入

三、函数重载

先看代码

//UI界面基类
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;public class WindowRoot : MonoBehaviour
{public ResSvc resSvc = null;public void SetWndState(bool isActive=true)//这个窗口默认打开{//判断当前的状态是否等于目标状态//如果不等于目标状态,那就设置为目标状态if (gameObject.activeSelf != isActive){SetActive(gameObject, isActive);// gameObject.SetActive(isActive);}//如果是当前的状态,那么初始化/不是就给一个清理的函数if (isActive){InitWnd();}else{ClearWnd();}}protected virtual void InitWnd(){resSvc = ResSvc.Instance;}protected virtual void ClearWnd(){resSvc = null;}#region 重载方法protected void SetActive(GameObject go,bool isActive=true){go.SetActive(isActive);}protected void SetActive(Transform trans, bool state = true){trans.gameObject.SetActive(state);}protected void SetActive(RectTransform rectTrans, bool state = true){rectTrans.gameObject.SetActive(state);}protected void SetActive(Image img, bool state = true){img.transform.gameObject.SetActive(state);}protected void SetActive(TextMeshProUGUI txt, bool state = true){txt.transform.gameObject.SetActive(state);}protected void SetText(TextMeshProUGUI txt,string context=""){txt.text = context;}protected void SetText(Transform trans, int num = 0){SetText(trans.GetComponent<TextMeshProUGUI>(), num);}protected void SetText(Transform trans, string context = ""){SetText(trans.GetComponent<TextMeshProUGUI>(), context);}protected void SetText(TextMeshProUGUI txt, int num = 0){SetText(txt, num.ToString());}#endregion
}

1、文本重载

在这个文本方法中,如果输入的不是一个String类型。那么需要写一个方法包含玩家输入的类型

这里使用重载方法,很方便。

如果传入Tran类型,那就获取身上的组件,传入int/string

设置面板的失活生效也如此

此时,可以优化一下设置窗口的方法

2、注意事项

设置成Protected方法,只能被派生类继承,不能被其他方法调用

如果保护类型的虚方法,可以在子类中进行重写,也是要相同的保护类型。

四、UI基类

WindowRoot是ui加载进度的基类和登录注册界面的基类

在这里相当于调用这个单例类

在派生类中进行重写,并且继承虚方法中单例类的引用,而不用在派生类中单独声明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/450487.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手写Spring IOC-简易版

目录 项目结构entitydaoIUserDaoUserDaoImpl serviceIUserServiceUserServiceImpl ApplicationContext 配置文件初始化 IOC 容器RunApplication 注解初始化 IOC 容器BeanAutowired Reference 项目结构 entity User Data NoArgsConstructor AllArgsConstructor Accessors(chai…

神经网络中使用的激活函数有什么用?

&#x1f381;&#x1f449;点击进入文心快码 Baidu Comate 官网&#xff0c;体验智能编码之旅&#xff0c;还有超多福利&#xff01;&#x1f381; &#x1f50d;【大厂面试真题】系列&#xff0c;带你攻克大厂面试真题&#xff0c;秒变offer收割机&#xff01; ❓今日问题&am…

最新仿蓝奏网盘系统源码 附教程

自带的蓝奏云解析&#xff0c;是之前的代码&#xff0c;截至发帖时间&#xff0c;亲测依旧有效&#xff0c;可以扒拉下来做蓝奏云解析接口。 使用方法&#xff1a;可以将文件上传至蓝奏云&#xff0c;然后通过此套系统&#xff0c;二次解析下载&#xff0c;不会暴露你的真实蓝…

PCL 点云配准-4PCS算法(粗配准)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 加载点云数据 2.1.2 执行4PCS粗配准 2.1.3 可视化源点云、目标点云和配准结果 2.2完整代码 三、实现效果 3.1原始点云 3.2配准后点云 PCL点云算法汇总及实战案例汇总的目录地址链接…

扫雷(C 语言)

目录 一、游戏设计分析二、各个步骤的代码实现1. 游戏菜单界面的实现2. 游戏初始化3. 开始扫雷 三、完整代码四、总结 一、游戏设计分析 本次设计的扫雷游戏是展示一个 9 * 9 的棋盘&#xff0c;然后输入坐标进行判断&#xff0c;若是雷&#xff0c;则游戏结束&#xff0c;否则…

FPGA实现PCIE采集电脑端视频转SFP光口UDP输出,基于XDMA+GTX架构,提供4套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案1G/2.5G Ethernet Subsystem实现物理层方案1G/2.5G Ethernet PCS/PMA or SGMII Tri Mode Ethernet MAC实现物理层方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图电脑端视频PCIE视频采集QT上位机X…

VSCODE c++不能自动补全的问题

最近安装了vscode&#xff0c;配置了C/C扩展&#xff0c;也按照网上说的配置了头文件路径 我发现有部分头文件是没办法解析的&#xff0c;只要包含这些头文件中的一个或者多个&#xff0c;就没有代码高亮和代码自动补全了&#xff0c;确定路径配置是没问题的&#xff0c;因为鼠…

【GT240X】【3】Wmware17和Centos 8 安装

文章目录 一、说明二、安装WMware2.1 下载WMware2.2 安装2.3 虚拟机的逻辑结构 三、安装Centos3.1 获取最新版本Centos3.2 创建虚拟机 四、问题和简答4.1 centos被淘汰了吗&#xff1f;4.2 centos里面中文显示成小方块的解决方法4.3 汉语-英语输入切换4.4 全屏和半屏切换 五、练…

【图论】(一)图论理论基础与岛屿问题

图论理论基础与岛屿问题 图论理论基础深度搜索&#xff08;dfs&#xff09;广度搜索&#xff08;bfs&#xff09;岛屿问题概述 岛屿数量岛屿数量-深搜版岛屿数量-广搜版 岛屿的最大面积孤岛的总面积沉没孤岛建造最大人工岛水流问题岛屿的周长 图论理论基础 这里仅对图论相关核…

精英高匿ip的自述

大家好&#xff0c;我是精英高匿IP。在网络世界里&#xff0c;我有着自己独特的看家本领&#xff0c;今天我就让大家见识一下我的本事。 我是一个神秘的网络侠客&#xff0c;我在数据的江湖中穿梭自如且不留痕迹。大家可能好奇我为什么叫精英高匿IP。“精英”代表着我拥有卓越…

【命令操作】Linux上通过mdadm配置软RAID _ 统信 _ 麒麟 _ 方德

往期好文&#xff1a;【功能介绍】麒麟2403支持配置任务栏上的图标“从不合并”啦&#xff01; Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于如何在Linux系统上使用mdadm工具配置软件RAID&#xff08;Redundant Array of Independent Disks&#xff0c;独立磁…

高频面试手撕

手撕高频结构 前言&#xff0c;以下内容&#xff0c;都是博主在秋招面试中&#xff0c;遇到的面试手撕代码题目&#xff0c;包含常见的数据结构、多线程以及数据库连接池等。 ArrayList 实现了ArrayList的基本功能&#xff0c;包括随机访问和自动扩容。 添加元素时&#xff…

施磊C++ | 进阶学习笔记 | 1.对象的应用优化、右值引用的优化

一.对象的应用优化、右值引用的优化 文章目录 一.对象的应用优化、右值引用的优化1.1 构造&#xff0c;拷贝&#xff0c;赋值&#xff0c;析构中的优化课后练习&#xff1a; 1.2 函数调用过程中对象背后调用的方法1.3 对象优化三原则1.4 右值引用、move移动语意、完美转发 1.1 …

ThingsBoard规则链节点:Clear Alarm节点详解

引言 Clear Alarm 节点含义 使用场景 实际项目中的运用场景 智能建筑管理系统 工业生产线监控 远程医疗监护 结论 引言 ThingsBoard 是一个开源的物联网平台&#xff0c;它提供了设备管理、数据收集、处理和可视化等功能。在 ThingsBoard 中&#xff0c;规则链&#xff…

QExcel 保存数据 (QtXlsxWriter库 编译)

QtXlsxWriter 是一个用于在 Qt 应用程序中创建和操作 Excel XLSX 文件的库。它提供了一个简单的 API&#xff0c;使开发者能够轻松地生成和修改 Excel 文件&#xff0c;而无需依赖 Microsoft Excel 或其他外部应用程序。支持初始化、写文件、读文件、格式设置、合并单元格、加粗…

scala 高阶函数 (下)

一.fold fold的作用 idea实例 二.sorted函数 sort基础知识 idea实例 三.sortWith sortWith基础知识 idea实例

音乐播放器项目专栏介绍​

1.简介 本专栏使用Qt QWidget作为显示界面&#xff0c;你将会学习到以下内容&#xff1a; 1.大量ui美化的实例。 2.各种复杂ui布局。 3.常见显示效果实现。 4.大量QSS实例。 5.Qt音频播放&#xff0c;音乐歌词文件加载&#xff0c;展示。 6.播放器界面换肤。 相信学习了本专栏…

Java学习-JUC

目录 1. 简介 2. Atomic包 2.1 什么是原子类 2.2 Atomic包里的类 3. CAS 3.1 CAS是什么 3.2 Java中对CAS的实现 3.3 CAS的缺陷 4. JUC里面的常见锁 4.1 锁分类 4.1.1 按上锁方式划分 4.1.2 按特性划分 4.1.3 其他锁 4.2 Synchronized和JUC的锁对比 5. 锁原理分析…

智慧园区能带来哪些便利?

所谓智慧园区&#xff0c;是指通过信息化手段&#xff0c;实现园区内各项业务的数字化和智能化管理。园区管理者可以利用智能化平台实时监控各项运营情况&#xff0c;如能源使用、安全监控和物流运输等&#xff0c;及时调整管理策略&#xff0c;提高运营效率。智慧园区利用大数…

pycharm 找不到conda环境

参考&#xff1a;新版Pycharm解决Conda executable is not found-CSDN博客