U3D框架搭建之消息系统(前端通信)
来源:互联网 发布:西南石油大学软件专业 编辑:程序博客网 时间:2024/06/05 04:11
毕业快两年了,努力工作,像坐火箭似的提升了半年多,也浮躁了半年多。这半年多来基本处于迷茫期,可能是因为刚毕业的半年提升速度太快,而现在基本没什么提升,前后反差太大,而导致的一种恐慌吧。和很多前辈聊过,后来也不停的看帖子,试图寻找类似的经历以及度过这段“瓶颈期”的方法。后来静下心来总结了一下,发现,不是现在提升太慢,是现在心里太浮躁,看什么都静不下心来,很多看似很难的东西不愿意自己去尝试,去突破自己。
废话了半天,从今天开始就踏踏实实踏出第一步吧。
回想起之前手游项目的前端框架功能,自己也尝试着构建一些前端的框架吧。
前端的消息系统,即前端自己的通讯机制,方便前端开发人员实现对象间的数据传递。
为什么前端需要进行对象间的数据传递呢?(讲到这就太基础了。。懂得同学不要吐槽。。因为我自己找资料看东西的时候碰到一些略过基础讲解的,看的会不太明白,这样讲对一些刚接触的同学是好事儿吧)
举个很简单的栗子。前端收到玩家角色面板的一个数据时(比如玩家升级了,面板上的等级数字需要改变)。这时候,接收服务器数据的方法肯定在相关的消息类里,开发人员需要通过这个类,把数据传递给角色面板。(如果你把接收数据的方法放在面板里,当你升级的时候,面板是关着的话,升级不就失败了?)这里就就涉及到一个模式,观察者模式(不了解的同学自行百度,但是建议看完下面的代码再看这个设计模式)。
这样,结构就很清晰了,在接收服务器的类里完成数据的处理,然后发消息给角色面板,如果面板是关着的,当然就接收不到发来的数据了。当面板是开着的,因为面板已经注册为该消息的观察者了,所以会收到数据更新,从而对面板上的显示进行相关的更新。
下面贴出前端消息功能的框架代码:
using UnityEngine;using System.Collections.Generic;public class MsgController{ private static MsgController instance; public delegate void EventHandler(Message message); private Dictionary> msgDic; private MsgController() { msgDic = new Dictionary >(); } public static MsgController GetInstance() { if (instance == null) { instance = new MsgController(); } return instance; } public void AddListener(string msgName, EventHandler eventHandler) { if (msgDic.ContainsKey(msgName)) { msgDic[msgName].Add(eventHandler); } else { List list = new List (); list.Add(eventHandler); msgDic.Add(msgName, list); } } public void RemoveListener(string msgName) { if (msgDic.ContainsKey(msgName)) { msgDic[msgName].Clear(); msgDic.Remove(msgName); } } public void SendMsg(string msgName, Message msg) { if (msgDic.ContainsKey(msgName)) { foreach(EventHandler handler in msgDic[msgName]) { handler(msg); } } }}
Message是个自定义的类。用来装载一些通讯常用的数据,比如发送者,消息体之类的。
第一次老老实实自己写一篇博客,膜拜一下那些指引过我的博客大神。
因为自己也是边研究边写,更新不会很快吧。虽然慢,但这何尝不是磨自己性子的过程呢。这种记录自己所得,又可以帮助到别人的好事儿,何乐不为呢。希望可以坚持下去吧。希望自己可以把我住这段时间,踏踏实实的学好自己需要的,早日完成自己的目标。
- U3D框架搭建之消息系统(前端通信)
- 前端框架Ext学习之框架搭建
- networkComms 通信框架之 消息处理器
- 系统编程之进程通信 消息队列
- 【cocos2dx网络游戏】搭建CS架构的基本通信框架(二)Sever(构建消息体)
- 【cocos2dx网络游戏】搭建CS架构的基本通信框架(二)Client(构建消息体)
- AngularJs前端框架搭建(一)
- 基于 xNet 通信框架搭建的简易分布式系统 Demo ~~
- 分布式Java应用之基于消息方式实现系统间的通信(2)
- 管理系统 前端框架
- 进程通信之消息队列(csdn)
- JQuery easyui 搭建前端框架
- 通过NPM搭建前端框架
- 前端框架之Bootstrap
- 前端框架之SiteMesh
- 前端框架之bootstrap
- 前端之框架-ionic
- 前端之框架-bootstrap
- Tag标签
- cocos studio 中 添加了动画节点, 在程序中直接用该节点播放动画
- django Paginator分页模块
- 个人“信用污点”从何而来
- 征服世界的梦!!Web常见漏洞安全测试工具
- U3D框架搭建之消息系统(前端通信)
- RTMP、RTSP、HTTP视频协议详解(附:直播流地址、播放软件)
- SpringMVC的POST和GET乱码规范解决
- 第十届河南 ACM 省赛纪事
- c++第5次作业
- 大学毕业面试(2)
- Session实现购物车(经典)
- java第四章-流程控制
- Android应用程序间的内容分享机制-----SEND/SEND_MULTIPLE