Zjh游戏(十一)注册功能的实现
注册功能的实现
- 实例化数据模型
- 在注册按钮的点击事件中调用发送消息的方法
/// <summary>/// 注册按钮的点击事件/// </summary>private void OnRegisterButtonClick(){if (input_UserName.text==null||input_UserName.text==""){EventCenter.Broadcast(EventDefine.Hint, "请输入用户名");return;}if (input_PassWord.text==null|| input_PassWord.text==""){//广播消息,显示不能注册的原因EventCenter.Broadcast(EventDefine.Hint, "请输入密码");return;}//向服务器发送注册一个账号 AccountDto dto = new AccountDto(input_UserName.text, input_PassWord.text);NetMsgCenter.Instance.SendMsg(OpCode.Account,AccountCode.Register_CREQ, dto);}
Server端处理注册的事件
- 在账号的模块类中的接收方法,遍历子操作码
- 创建处理注册的方法,把value强制转换为数据模型类的数据
- 调用数据库类中的判断是否存在改用户的方法以及创建用户的方法
- 返回给客户端
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GameServer.DadaBase;
using MyServer;
using Protocol.Code;
using Protocol.Dto;namespace GameServer.Logic
{/// <summary>/// 账号模块的处理/// </summary>public class AccountHandler : IHandler{public void DisConnected(ClientPeer clientPeer){}public void Receive(ClientPeer client, int subCode, object value){switch (subCode){case AccountCode.Register_CREQ:Register(client,value as AccountDto);break;}}/// <summary>///客户端注册请求的处理/// </summary>private void Register(ClientPeer client, AccountDto dto){//判断数据库中是否存在该用户,存在就给客户端返回-1if (DatabaseManager.isExistUserName(dto.userName)){client.SendMsg(OpCode.Account, AccountCode.Register_SRES, -1);return;}//判断数据库中是否存在该用户,不存在就创建该用户并给客户端返回0DatabaseManager.CreatUser(dto.userName,dto.password);client.SendMsg(OpCode.Account, AccountCode.Register_SRES, 0);}}
}
客户端处理服务器的响应
- 在账号的模块类中的接收方法,遍历子操作码
- 创建处理服务器响应的方法
- -1就让HInt显示该用户已经注册
- 0就让Hint显示注册成功
sing Protocol.Code;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class AccountHandler : BaseHandler
{public override void OnReceive(int subCode, object value){switch (subCode){case AccountCode.Register_SRES:Register_SRES((int)value);break;}}/// <summary>/// 处理服务器端注册登陆后的回应/// </summary>private void Register_SRES(int value){if (value==-1){EventCenter.Broadcast(EventDefine.Hint,"该用户已经被注册");return;}if (value==0){EventCenter.Broadcast(EventDefine.Hint, "注册成功");}}
}
最终功能
有需要学习视频的欢迎关注微信公众号:
Zjh游戏(十一)注册功能的实现相关推荐
- Zjh游戏(十)注册功能的实现以及数据库的连接
注册功能的实现 创建账号模块下的注册登陆的子操作码 创建注册登陆的数据模型 注册登陆的子操作码 using System; using System.Collections.Generic; usin ...
- java登录注册功能怎么实现_使用Java代码实现登录注册功能
实现思路:分别创建5个包和5个类{cn.f.pojo(User.java):cn.f.Dao(UserDao.java):cn.f.Dao.impl(UserDaoImpl.java): cn.f.g ...
- Unity使用leancloud开发弱数据联网游戏(注册、登录和云端数据存读)
最近,由于开发需要数据存储服务,就跑去Bmob看看,不看不要紧,发现自己以前创建的应用的数据存储服务居然变成非永久的了,只有一年的免费时间,而且还过期了.这对于我将要开发的软件时很不友好的:因此,我就 ...
- IDEA搭建JavaWeb项目,JDBC和Servlet-JSP技术实现注册功能
文章目录 使用IDEA搭建JavaWeb项目 一.IDEA新建JavaWeb项目 1.新建java项目 2.修改项目配置 3.项目部署到Tomcat 二.使用JDBC和Servlet-JSP技术实现注 ...
- 【设计模式】观察者模式:一个注册功能也能使用到设计模式?
人生在世如身处荆棘之中,心不动,人不妄动,不动则不伤,如心动则人妄动,伤其身,痛其骨,于是体会到世间诸般痛苦 目录 我的斗罗梦 悲催的小明 什么是观察者模式? 注册功能改造 异步非阻塞观察者模式 Ev ...
- java实现用户登录注册功能(用集合框架来实现)
需求:实现用户登录注册功能(用集合框架来实现) 分析: A:需求的类和接口 1.用户类 UserBean 2.用户操作方法接口和实现类 UserDao UserDaoImpl 3.测试类 UserTe ...
- WordPress添加前台注册功能
一.添加注册表单 1.首先在当前主题的目录下新建一个php文件,命名为reg-page.php,然后将page.php中的所有代码复制到reg-page.php中: 2.删除reg-page.php开 ...
- 注册登录案例用MVC和mysql_用MVC模式实现简单用户登录注册功能
Model2模式 Jsp+Servlet+JavaBean MVC:开发模式 M:Model 模型层 ----> JavaBean V:View 视图层 ----> Jsp C:Contr ...
- 用java数组模拟登录和注册功能
package com.linkage.login; import java.util.Scanner; public class user { // 存储用户名和密码 public static S ...
最新文章
- ERP与GMP结合在药类企业实施及应用
- pythonisalpha函数计算公式_常用python实现.ipynb
- 每天进步一点点《ML - K-means》
- server2005系统表知多少 之sysdatabases
- docker下gitlab安装配置使用
- 彻底火了!这份Python学习贴,90%程序员用的上!
- java.io.FileNotFoundException异常,一是“拒绝访问”,二是“系统找不到指定路径”
- ssh公钥的生成、查看以及config的配置
- 高通WCNSS驱动简析
- SPSS如何计算方差膨胀因子
- DroppyCtf靶机
- 得到大学夏季开学典礼之后感
- 怎样把PDF文件转换成JPG图片
- BDL程序搬迁环境应注意的问题
- 算法-回溯backtrack
- asm中的ClassWriter使用、自定义ClassVisitor和cglib的enhancer使用实例
- python编程做联机游戏大全单机_手把手教你将单机游戏改造成对战网游(附详细教程)...
- 半同步半异步模式以及Leader_Follwer模式
- minigui bin字库制作
- xp/ win 7 如何设置电脑的保护色(绿豆沙色)以及Chrome浏览器
热门文章
- nessus扫描mysql_Nessus使用笔记.doc
- 一文详解老薛主机如何安装zblogphp程序
- CF625E Frog Fights
- Linux下的ping6
- ALV 添加自定义按钮 (REUSE_ALV_GRID_DISPLAY 一)
- scrollTop滚动的时候一直是0
- 字节跳动大佬全新开源:Python数据分析实例,建议收藏!
- 记一次ubuntu系统崩溃的修复
- 利用CMOS数字隔离器提高智能计量解决方案的数据完整性和可靠性
- Python安装过程中提示:No Python 3.8 installation was detected;0x80070643严重错误 - 解决方法