思考并回答以下问题:
- 框架设计
- 战斗系统设计
- 角色系统
- 关卡系统
- Protobuf使用
- 网络客户端底层封装
- 多线程资源下载
游戏UI设计
功能点:
- 游戏闪屏界面(通用)
- 数据加载界面
- 登录界面
- 角色展示界面
- 创建角色界面
- 主城场景
- 副本选择
流程:
00_InitScene -> 01_LogoScene -> 01_PatchScene -> Login -> 02_TitleScene -> 03_LobbyScene -> 04_GameScene
00_InitScene:空对象,数据加载的处理
01_PatchScene:为了后期更新使用的,补丁。
ResetScene.cs
1 | using UnityEngine; |
InitScene.cs
1 | using UnityEngine; |
LogoScene.cs
1 | using System; |
LoadingScene.cs
1 | using System; |
对象池封装
ObjectPool.cs 对象池
1 | using System; |
ObjectManager.cs 对象管理器,管理多个对象池
1 | using System; |
消息路由器
ObjMsgRouter.cs
1 | using System; |
声音
设计思想
使用bool值去判断音乐是否需要加载。
首先建立一个数组,里面有很多bool值,true或false。在改动的过程中,音乐不需要的时候把true改成false,场景里就不会加载,需要的时候再改成true就可以使用。
音乐是根据索引进行的,用两个数组,一个数组存放表示音乐是否可用的bool值,另一个存放音乐的路径,可以去加载。音乐路径和bool值是对应起来的,如果不需要就设为false,需要就设为true。
架构设计没有好坏之分,只要用来方便,扩展方便,维护方便,修改方便就是OK的。
1 | using System; |
SoundManager.cs 提供接口给外部调用
1 | using System; |
功能函数
1 |