ET-注册与登录功能

这一篇博客是学习 ETCore网络斗地主案例教学(基于ET5.0网络通信)时,总结记录的登录注册功能相关的笔记,将目标聚焦在客户端注册登录功能本身,默认具备其他相关知识背景。

资源准备:客户端注册登录界面搭建

构建UILogin.prefab以及UILobby.prefab,如下图,这两个prefab打包下载地址

代码编写:流程搭建

主体框架模板代码可以在这里下载,在该模板基础上进行功能增添。

补充说明:

  1. 下面提到的所有路径资源都是基于项目目录的相对路径。
  2. 按照用到说哪提哪,自顶向下的顺序行文
  3. 需要写注释的地方我会尽量都标记上注释

定位到文件Unity/Assets/Hotfix/Init.cs,在Start方法中最后加入

1
Game.EventSystem.Run(EventIdType.InitSceneStart); // 初始场景启动

上面这行代码通过事件驱动调用一个事件类的Run方法,执行一段逻辑,项目中的事件触发就是这么用的。于是,该事件触发下面这段代码:

Unity/Assets/Hotfix/Module/Demo/UI/UILogin/System/InitSceneStart_CreateLoginUI.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
using ETModel;

namespace ETHotfix
{
[Event(EventIdType.InitSceneStart)]
public class InitSceneStart_CreateLoginUI: AEvent
{
public override void Run()
{
UI ui = UILoginFactory.Create(); // UILogin工厂类创建UI实例
Game.Scene.GetComponent<UIComponent>().Add(ui);
}
}
}

补充知识:UILoginFactory实则是加载AB资源成gameObject,然后通过ComponentFactory.Create()方法创建ETHotfix.UI对象,并Add对应的UILoginComponent组件,最后返回ETHotfix.UI对象。详细信息请看:#Todo ET源码解读之-ComponentFactory

作者

Elon

发布于

2020-11-14

更新于

2021-04-16

许可协议

CC BY-NC-SA 4.0

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×