介绍
小编给大家分享一下团结实现注册登录模块的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
使用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(真正的); ,})); ,} }团结实现注册登录模块的方法