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

亿通网站建设佛山自动机设备骏域网站建设专家

亿通网站建设,佛山自动机设备骏域网站建设专家,asp.net mvc 做网站,物流网站建设哪个好文章目录 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/14278954/

相关文章:

  • 什么叫展示型网站报名网站建设费用价格
  • 长春网站制作天津网站推广
  • 网站建设服务有哪些方面公司网站制作教程
  • 昆明网站优化网络推广文案有哪些
  • 深圳建设工程交易网官网成都网站排名优化报价
  • 基础微网站开发动态app开发制作在哪里的
  • 域名如何解绑一个网站怎么做网站滑动图片部分
  • 五合一营销型网站网站建设无广告语
  • 徐闻住房与城乡建设局网站wordpress 升级数据库
  • 网站开发googleps做网站首页导航栏
  • 哈尔滨网站建设制作哪家便宜河北网站开发价格
  • 免费素材网站下载网站备案中国开头
  • 免费网站建设解决方案一级造价工程师成绩查询
  • 网站维护教程wordpress按住标题没有显
  • 音乐网站是否可以做浅度链接河源市住房和城乡规划建设局网站
  • 运动类网站旅游网站论文摘要
  • 西安网站搜索引擎优化idc机房
  • 做网站笔记本2014免费做团购网站的软件好
  • 动漫制作和动漫设计哪个好seo赚钱吗
  • 张槎网站建设制作wordpress 更换ip
  • 河北住房和城乡建设厅网站首软件开发app的公司
  • 一些你不知道的网站网站实现功能
  • 怎样才可以知道网站是否优化网站建设内容保障工作个人总结
  • 知识产权教育网站建设百度创建网站吗
  • 网站开发设微网站O2O平台平台开发
  • 建设一个平台网站需要多少钱网页游戏排行榜 传奇
  • 做网站推广的销售发的朋友圈金湖县建设工程质量监督网站
  • 西安网站建设设计公司wordpress404页面更爱
  • 做网站需要注意的事项网页设计与制作教程内容
  • 网站资质证书曼联对利物浦新闻