观察者基类 数据: 如果需要判断就需要定义被观察者类型数据(容器) 方法: 通知方法: 参数:泛型指定游戏物体 event指定游戏物体的行为逻辑(方法) 响应事件: 方法体:调用其他对象或者本身的方法进行响应
被观察者基类 数据: 观察者容器 方法: 对观察者容器的增删改查 触发器() 触发器有两种模式 1直接回调观察者类的方法 2将自己传递给观察者类,由观察者类判断是否响应事件 对容器中的观察者发送事件(调用通知方法)
命令模式基类 数据: 被命令的游戏物体的容器 方法: 对容器的增删改查 对游戏物体行为逻辑改变的各种方法
总体敌人管理类(命令者模式) 数据 各类型敌人容器 方法 容器增删改查的方法 对单个游戏物体的行为逻辑控制
敌人AI行为逻辑功能类 数据 敌人对象状态 方法 以对指定目标距离为基础切换状态
玩家输入操作player游戏物体的功能管理类 数据 对于多个人物可控制的应用情景需要设置玩家人物容器 方法 对容器增删改查 输入方式选择调用人物行为逻辑: 键盘输入 鼠标输入 UI事件输入
人物行为逻辑工具类(指定游戏物体进行操作)(使用时挂载到具体的人物行为逻辑上) 方法 人物移动
人物行为逻辑功能类 数据 人物状态 方法 根据人物状态切换动画状态
摄像机控制管理类(命令者模式) 数据 摄像机对象容器 当前正在使用的摄像机集合 方法 对容器的增删改查 对当前正在使用的摄像机增删改查
摄像机对象工具类 方法: 移动控制 (如果是鼠标控制的需要检查当前鼠标是否在操作UI)
鼠标输入控制管理类 将鼠标位置由屏幕坐标转换为世界坐标,相对坐标,UI平面坐标
3D物体transform控制功能类 拖拽平移或旋转,高亮,移动到某个位置
3d游戏物体的拾取和展示管理类 数据: 游戏物体容器 当前命令 准备接收当前命令的游戏物体状态(未执行) 方法: 增删改查 判断当前摄像机状态能否展示游戏物体 命令游戏物体移动到摄像机面前 选中另一个游戏物体,将之前命令的物体返回为之前的状态
UIrecttransform控制功能类
player信息类 枚举player信息
enemy信息类 枚举
物品信息类 枚举
数据 信息容器 方法 增删改查 从外部获取json数据 解析json数据 保存到本地容器 初始化数据 将数据保存到本地(TXT) 获取本地数据(TXT)
数据 视频容器 timeline容器 方法 当游戏物体触发事件,管理类监听到后,就播放