当前位置: 首页 > news >正文

遵义原创网站网站建设死人接单

遵义原创网站,网站建设死人接单,深圳装修公司哪家好十大排名,新闻门户网站建设文章目录 Unity进阶–通过PhotonServer实现联网登录注册功能(客户端)–PhotonServer(三)前情提要客户端部分 Unity进阶–通过PhotonServer实现联网登录注册功能(客户端)–PhotonServer(三) 前情提要 单例泛型类 using System.Collections; using System.Collections.Generic; … 文章目录 Unity进阶–通过PhotonServer实现联网登录注册功能(客户端)–PhotonServer(三)前情提要客户端部分 Unity进阶–通过PhotonServer实现联网登录注册功能(客户端)–PhotonServer(三) 前情提要 单例泛型类 using System.Collections; using System.Collections.Generic; using UnityEngine;public class MyrSingletonBaseT : MonoBehaviour where T : MonoBehaviour {private static T instance;public static T Instance {get{return instance;}}protected virtual void Awake() {instance this as T;}protected virtual void OnDestroy() {instance null;} } ManagerBase using System.Collections; using System.Collections.Generic; using Net; using UnityEngine;public abstract class ManagerBase : MyrSingletonBaseManagerBase {public ListMoonBase Monos new ListMoonBase();public void Register(MoonBase mono){if (!Monos.Contains(mono)){Monos.Add(mono);}}public virtual void ReceiveMessage(Message message){if (message.Type ! GetMessageType()){return;} foreach (var mono in Monos){mono.ReceiveMessage(message);}}public abstract byte GetMessageType(); } 消息中心 using System.Collections; using System.Collections.Generic; using Net; using UnityEngine;public class MessageCenter : MyrSingletonBaseMessageCenter {public static ListManagerBase Managers new ListManagerBase();public void Register(ManagerBase manager){if (!Managers.Contains(manager)){Managers.Add(manager);}}public void SendCustomMessage(Message message){foreach(var manager in Managers){manager.ReceiveMessage(message);}}public static void SendMessage(Message message){foreach(var manager in Managers){manager.ReceiveMessage(message);}} } manager下的组件基础 using System.Collections; using System.Collections.Generic; using Net; using UnityEngine;public class MoonBase : MonoBehaviour {public virtual void ReceiveMessage(Message message){} } uiManager(绑在canvas上) using System.Collections; using System.Collections.Generic; using Net; using UnityEngine;public class UiManager : ManagerBase {void Start(){MessageCenter.Instance.Register(this);}public override byte GetMessageType(){return MessageType.Type_UI;}} PhotonManager using System.Collections; using System.Collections.Generic; using UnityEngine; using ExitGames.Client.Photon; using Net;public class PhotonManager : MyrSingletonBasePhotonManager, IPhotonPeerListener {private PhotonPeer peer;void Awake() {base.Awake();DontDestroyOnLoad(this);}// Start is called before the first frame updatevoid Start(){peer new PhotonPeer(this, ConnectionProtocol.Tcp);peer.Connect(127.0.0.1:4530, PhotonServerFirst);}void Update(){peer.Service();}private void OnDestroy() {base.OnDestroy();//断开连接peer.Disconnect(); }public void DebugReturn(DebugLevel level, string message){}/// summary/// 接收服务器事件/// /summary/// param nameeventData/parampublic void OnEvent(EventData eventData){//拆包Message msg new Message();msg.Type (byte)eventData.Parameters[0];msg.Command (int)eventData. Parameters[1];Listobject list new Listobject();for (byte i 2; i eventData.Parameters.Count; i){list.Add(eventData.Parameters[i]);}msg.Content list.ToArray();MessageCenter.SendMessage(msg);}/// summary/// 接收服务器响应/// /summary/// param nameoperationResponse/parampublic void OnOperationResponse(OperationResponse operationResponse){if (operationResponse.OperationCode 1){Debug.Log(operationResponse.Parameters[1]);}}/// summary/// 状态改变/// /summary/// param namestatusCode/parampublic void OnStatusChanged(StatusCode statusCode){Debug.Log(statusCode);}/// summary/// 发送消息/// /summarypublic void Send(byte type, int command, params object[] objs){Dictionarybyte, object dic new Dictionarybyte,object();dic.Add(0,type);dic.Add(1,command);byte i 2;foreach (object o in objs){dic.Add(i, o);}peer.OpCustom(0, dic, true);}} 客户端部分 搭个页面 panel上挂上脚本 using System.Collections; using System.Collections.Generic; using Net; using UnityEngine; using UnityEngine.UI;public class LoginPanel : MoonBase {//账号和密码输入框public InputField AccountField;public InputField PasswordField;// Start is called before the first frame updatevoid Start(){UiManager.Instance.Register(this);}// Update is called once per framevoid Update(){}public override void ReceiveMessage(Message message){//判断是否是自己该传递的消息base.ReceiveMessage(message);//判断消息命令switch (message.Command){case MessageType.Account_Register_Res:Debug.Log(注册成功);break;case MessageType.Account_Login_res:Destroy(gameObject);break;}}//注册public void Register(){PhotonManager.Instance.Send(MessageType.Type_Account, MessageType.Account_Register, AccountField.text, PasswordField.text);}//登录public void Login() {PhotonManager.Instance.Send(MessageType.Type_Account, MessageType.Account_Login, AccountField.text, PasswordField.text);} } 绑定对象绑定事件
http://www.hkea.cn/news/14295166/

相关文章:

  • 平面设计免费素材网站html网站登录界面模板下载
  • 江苏省住房和城乡建设厅网站网络摄像头定制开发
  • 常平哪里有招计算机网站开发的dw软件怎么下载
  • 免费推广网站软件做外贸仿牌都用哪些网站
  • 做网站接项目爱站工具seo综合查询
  • 做的好的网站着陆页交易猫假网站制作
  • 找人做企业网站 注意什么品牌logo设计理念介绍
  • c 做的网站怎么上传图片点开图片跳到网站怎么做的
  • 百度收录网站要多可以做ppt的网站有哪些方面
  • 网站标题修改网架加工厂的地址
  • 做不锈钢百度网站哪个比较好网站备案被注销 接入商
  • 视频网站用虚拟主机外贸客户哪里找
  • 哪家做网站公司教做家常菜的视频网站
  • 怎么查询网站是否收录动态ip做网站可以备案吗
  • 福田深圳网站建设免费好用的wordpress主题
  • 织梦网站上线做网站的收益
  • 怎么做网站logo网站如何在国外推广
  • 做网站选哪家公司网站为什么会被挂马
  • 建设工程服务中心是做什么的网站排名优化怎么做
  • 网站注册域名位置做网站+广告费+步骤
  • n怎样建立自己的网站必应搜索引擎入口官网
  • 这么给网站做关键字怎么做盈利的网站
  • 建设银行支行网站icp备案域名购买
  • 怎么用源码建站网络营销推广实战宝典
  • 网站备案证书查询wordpress 响应式企业主题
  • 实力网站建设音乐类网站开发
  • 如何查询网站以建设多长时间网站的不足之处
  • 西瓜网络深圳网站建设 东莞网站建设做视频的网站多少钱
  • 蛋糕网站模版外贸网站排行榜前十名
  • 衡水企业网站建设做阿里网站