实用技能系列
- Unity实用技能-UI滑动条技能总结
- Unity实用技能-UI规范总结
- Unity实用技能-协作规范总结
- Unity实用技能-UI与粒子效果总结
- Unity实用技能-UI定位总结
- Unity实用技能-背景自适应文本
- Unity实用技能-格式化format文字
- Unity实用技能-模型
文章目录
前言
一直都在使用的GM命令,正好有时间整合一下GM命令的原理、工作流
GM命令是怎么表现的?
- 分为游戏内和游戏外的GM命令
- 游戏内很好理解,需求上就是保证点击按钮就发送GM命令,
本质上还是点击按钮然后发送相关协议给服务端,服务端再返回对应协议就能实现功能;此外,UI上还需要支持手动输入GM命令,手动输入自然需要处理好边界值以及某些特殊GM指令,其余就和按钮点击没什么区别了 - 游戏外自然是
扩展编辑器部分了,基本是使用EditorGUILayout和GUILayout构建UI,逻辑上则是利用Xlua来发协议,这样就能基本完成编辑器部分的GM命令系统
外部GM命令系统有哪些便利功能,如何实现?
- 复选框直接选择历史GM命令:其实就是维护一个
字符串数组,规定最大可发送的GM历史长度,然后每次发送一个GM命令保存起来即可 - help查询命令:需要用到 GUI.FocusControl("Cmd")来在编辑框发送命令
总结
Unity的GM命令基本是用扩展编辑器实现,游戏内则是属于正常的UI业务逻辑,当然顺序上是先实现游戏内的,然后再实现Unity的GM命令。