游戏世界 更多...
#include <World.h>
Private 成员函数 | |
| void | Update (float deltaTime) |
| 逻辑处理 | |
| void | Update_ () |
| 高精度计算 | |
| void | TransForm () |
| 转换关卡 | |
| void | Render () |
| 渲染 | |
| void | Input () |
| 交互(轴输入) | |
| void | Debug () |
| Debug模式 | |
| void | ProcessColliderZones () |
| 更新colliderzone 碰撞计算 | |
| void | ClearWorld () |
| 清空数据 | |
Private 属性 | |
| std::mutex | updateMutex |
| 互斥锁 防止某一个时刻耗时过多,导致下一次执行冲突 会一直等待防止顺序的未知 | |
| class ResourceManager * | resourcePool = nullptr |
| 资源池 | |
| class ColliderManager * | collisionManager = nullptr |
| 碰撞映射关系管理器 | |
| class LevelManager * | levelManager = nullptr |
| 地图管理器 | |
| class AudioManager * | audiomanager = nullptr |
| 全局音量管理器 | |
| class Log * | log = nullptr |
| 全局日志类 | |
| class Configurator * | m_cfg = nullptr |
| 全局配置器类 | |
| class Timer * | OverallClock = nullptr |
| 全局计时器 | |
| float | deltaTime = 0 |
| 帧间隔时间 两帧之间的时间 | |
| std::unordered_set< Object * > | GameObjects |
| 存储所有游戏物体 | |
| std::vector< Object * > | GameObjects_to_add |
| 添加物体容器缓冲区 不会多次出现同一个对象,因为是用createobject来创建和加入 | |
| std::unordered_set< Object * > | GameObjects_to_delete |
| 设置对象的删除管理容器缓冲区,是为了防止发生删除之后迭代到空或者漏掉了对象 | |
| std::unordered_set< class UserInterface * > | GameUIs |
| 存储所有游戏UI | |
| std::unordered_set< class UserInterface * > | GameUIs_to_delete |
| 删除游戏UI缓冲区 | |
| std::unordered_set< class Timer * > | GameTimers |
| 计时器容器 | |
| std::set< class LayerInterface *, LayerSort > | GameRenderers |
| 存储所有支持渲染组件容器 | |
| std::unordered_set< class Collider * > | GameColliders |
| 底层哈希表不排序不能重复 存储所有碰撞组件容器 | |
| std::unordered_set< class Collider * > | GameColliders_to_clear |
| 存删除碰撞组件缓冲区 | |
| std::set< class Collider *, ColliderSort > | ColliderZones [RangeNumX][RangeNumY] |
| 存储每个区域存储的碰撞体 划分为100*100的网格,多于100的整数倍不能被除尽的部分单独做网格 | |
| std::set< class LayerInterface *, LayerSort > | UiDetectZones [RangeNumX][RangeNumY] |
| 存储每个区域存储的ui部件进行交互 | |
| class Timer * | FPSclock = nullptr |
| 帧数的计时器 | |
| Level * | CurrentLevel = nullptr |
| 当前关卡 | |
| class Controller * | mainController = nullptr |
| GameInstance * | gameInstance = nullptr |
| 游戏实例 想要存进去的单例 可以写进去 | |
| class Camera * | mainCamera = nullptr |
| 游戏场景的相机 也就是屏幕 | |
友元 | |
| class | GameStatics |
| class | Object |
| class | Timer |
| class | Engine |
| class | LayerInterface |
| class | ImageInterface |
| class | Camera |
| class | SpriteRenderer |
| class | Animation |
| class | Particle |
| class | Level |
| class | Collider |
| class | CircleCollider |
| class | BoxCollider |
| class | Controller |
| class | UserInterface |
| class | Widget |
| class | Button |
| class | Bar |
| class | LevelManager |
| class | AudioPlayer |
| class | AudioManager |
| class | Log |
| class | Configurator |
| void | Object::Destroy () |
游戏世界
|
private |
清空数据
|
private |
Debug模式
|
private |
交互(轴输入)
实现跟玩家操作
|
private |
更新colliderzone 碰撞计算
|
private |
渲染
实现世界类的渲染
|
private |
转换关卡
|
private |
逻辑处理
实现世界类容器所有想要执行的操作
|
private |
高精度计算
实现更高频率的操作
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
private |
全局音量管理器
|
private |
存储每个区域存储的碰撞体 划分为100*100的网格,多于100的整数倍不能被除尽的部分单独做网格
|
private |
碰撞映射关系管理器
|
private |
当前关卡
|
private |
帧间隔时间 两帧之间的时间
|
private |
帧数的计时器
|
private |
底层哈希表不排序不能重复 存储所有碰撞组件容器
|
private |
存删除碰撞组件缓冲区
|
private |
游戏实例 想要存进去的单例 可以写进去
|
private |
存储所有游戏物体
|
private |
添加物体容器缓冲区 不会多次出现同一个对象,因为是用createobject来创建和加入
|
private |
设置对象的删除管理容器缓冲区,是为了防止发生删除之后迭代到空或者漏掉了对象
|
private |
存储所有支持渲染组件容器
|
private |
计时器容器
|
private |
存储所有游戏UI
|
private |
删除游戏UI缓冲区
|
private |
地图管理器
|
private |
全局日志类
|
private |
全局配置器类
|
private |
游戏场景的相机 也就是屏幕
|
private |
|
private |
全局计时器
记录框架开始了多久
|
private |
资源池
|
private |
存储每个区域存储的ui部件进行交互
|
private |
互斥锁 防止某一个时刻耗时过多,导致下一次执行冲突 会一直等待防止顺序的未知