D:存个数据做个显示罢了
D:存个数据做个显示罢了
D:广播 然后切换状态机 enter处理通知客户端
D:和是一个超时差不多,延迟2秒等
服务器处理英雄确认消息
分发到房间sys然后sys叫房间自己处理在选择状态机中记录 最后一个人时进入加载状态
D:调试写的BUG
D:发送的消息ID区分玩家
D:默认选择
D:选择英雄信息显示 点击事件更新信息刷新图片(点击状态的图片也可以做)
D:PEListener(为什么不直接加一个btn呢)
D:一些设置文本和获取图片封装
选择英雄界面
D: 选择界面脚本
D:UI组件处理
D:资源配置 (音效 脚本字典)
D:进入英雄选择状态
清理确认房间数据
D:选择的消息Msg(他删了) 选择的数据Msg
D:匹配超时房间解散 计算任务 刷新房间信息
同步房间匹配确认状态
D:取出房间 更新状态 全部确认切换跳转状态 删计时
D:
测试匹配显示
D:确认按钮事(发消息 锁住)
D:同步确认信息
分发消息给RoomSys 系统再指定房间进行处理
D: 刷新匹配界面显示UI
D:封装一些获取设置资源的操作 获取后存到了字典提了点性能
D:准备就绪的人数 循环
D:客户端跳转匹配确认界面
1)匹配确认界面脚本 (普通UI与脚本关联 显示效果 数据事件刷新UI 计时 -1)
2)转入确认状态界面
3)GameRoot保存roomID
D:PETimer计时服务 1)先加dll 2)日志输出 3)添加计时任务类(延时,任务回调,取消回调,循环次数) 4)删除任务(id) 5)倒计时的默认配置 6)确认状态添加计时任务(超时解散) 7)纪录计时器ID便于后续取消
D: 确认匹配数据发送 1)处理确认数据 2)发送到客户端(广播消息的工具 ,统一序列化,节约CPU 性能优化 )
D:切换状态机 1)房间类初始化状态机字典,<状态,状态类> 2)状态的转换类 (空状态先退出)
D:确认状态 1)定义确定的Msg协议(房间id 匹配信息(头像 ,是否确认 ) 是否进入 发送确认(确认的房间 和 人))
D:使用状态模式处理对战流程(RoomFSM)
创建房间类:处理不同状态下房间的情况(确认,选人,展示,战斗,结算) 后期可以独立拓展
D:房间的状态机基本抽象类 1)状态枚举 2)房间状态生命周期接口 3)房间信息
D:状态类的结构创建 结构清晰
处理登录协议
某些敏感操作是在单线程里面处理的 比如账号登录