团结实现注册登录模块的方法

  介绍

小编给大家分享一下团结实现注册登录模块的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

使用Zenject和UniRx的入门级技术实现了伪登录注册功能。

运行效果

团结实现注册登录模块的方法

登录面板

using 系统;   using  UniRx;   using  UnityEngine;   using  UnityEngine.UI;   using  Zenject;      public  class  LoginPanel : MonoBehaviour   {   ,public  InputField 用户名;   ,public  InputField 密码;   ,public  Button  LoginBtn;   ,public  Button  RegistBtn;   ,(注入)private  User  _user;   ,   ,   ,(注入)private  TipPanel  _tipPanel;   ,(注入)private  RegistPanel  _registPanel;   ,void  Start ()   ,{   ,//用户名输入完成后光标自动跳转到密码输入框   ,userName.OnEndEditAsObservable ()   ,.Subscribe (s =比;   ,password.Select ()));   ,//输入完密码后敲击回车键或者点击登录按钮,都触发登录事件   ,var  enterDownStream =, password.OnEndEditAsObservable ()   ,.Select ((s =祝辞,“回车键触发登录“));   ,var  loginBtnStream =, LoginBtn.OnClickAsObservable ()   ,.Select ((unit =祝辞,“通过点击登录按钮触发的登录“));   ,   ,Observable.Merge (enterDownStream, loginBtnStream)   ,.Subscribe (s =比;   ,{   ,Debug.Log(年代);   ,if  (LoginCheak (userName.text password.text))   ,{   userName.text才能=String.Empty;   password.text才能=String.Empty;   _tipPanel.Show才能(“登录成功“);   ,}   其他的,   ,{   userName.text才能=String.Empty;   password.text才能=String.Empty;   _tipPanel.Show才能(“登录失败“);   ,}   ,}));   ,RegistBtn.OnClickAsObservable ()   ,.Subscribe (unit =比;   ,{   ,this.gameObject.SetActive(假);   ,_registPanel.gameObject.SetActive(真正的);   ,}));   ,}      ,public  bool  LoginCheak (string  string 用户名,密码)   ,{   ,bool  isOK =,假;   ,if  (_user._dictionary.ContainsKey(用户名)   ,{   ,if  (_user._dictionary【用户名】,==,密码)   ,{=,isOK 真实;   ,}   ,}   ,return  isOK;   ,}   ,   }

注册面板

using  UniRx;   using  UnityEngine;   using  UnityEngine.UI;   using  Zenject;      public  class  RegistPanel : MonoBehaviour   {   ,(注入)private  TipPanel  _tipPanel;   ,(注入)private  LoginPanel  _loginPanel;   ,(注入)private  User  _user;      ,public  InputField 用户名;   ,public  InputField  password01;   ,public  InputField  password02;   ,public  Button  Regist;   ,public  Button  mainMenu;   ,void  Start ()   ,{   ,//光标跳转   ,userName.OnEndEditAsObservable ()   ,.Subscribe ((s =祝辞,password01.Select ()));   ,password01.OnEndEditAsObservable ()   ,.Subscribe ((s =祝辞,password02.Select ()));   ,   ,var  enterPress=password02.OnEndEditAsObservable ()   ,.Select ((s =祝辞,“回车键触发注册“));   ,var  btnClick =, Regist.OnClickAsObservable ()   ,.Select ((unit =祝辞,“点击注册按钮触发注册“));      ,Observable.Merge (enterPress, btnClick)   ,.Subscribe (s =比;   {才能   Debug.Log才能(年代);   if 才能;((userName.text  !=, null),,,, (password01.text ==, password02.text))   {才能   if 才能;(_user._dictionary.ContainsKey (userName.text))   {才能   _tipPanel.Show才能(“用户名已存在“);   ,,}   其他的才能   {才能   _user._dictionary.Add才能(userName.text password01.text);   时间=_loginPanel.userName.text 才能;userName.text;   时间=_loginPanel.password.text 才能;password01.text;   ,,   _tipPanel.Show才能(“注册成功“);   ,,}   ,,}   其他的才能   {才能   _tipPanel.Show才能(“注册失败“);   ,,}   ,,}   ,));   ,mainMenu.OnClickAsObservable ()   ,.Subscribe (unit =比;   ,{   ,this.gameObject.SetActive(假);   ,_loginPanel.gameObject.SetActive(真正的);   ,}));   ,}   }

团结实现注册登录模块的方法