#include <Controller.h>
Public 成员函数 | |
| Controller () | |
| 创建输入交互组件和相机组件并进行绑定相机组件 | |
| virtual void | Update (float deltaTime) override |
| 实现相机可活动框限制 | |
| virtual void | BeginPlay () override |
| void | PeekInfo () |
| 更新点输入信息 | |
| void | PeekInfo_ () |
| 更新轴输入信息 就是一直按着的状态 | |
| Vector2D | GetMousePosition () const |
| 获取鼠标世界坐标系位置 | |
| bool | IsMouseClick () const |
| 获取鼠标是否按下 | |
| Object * | GetObjectUnderCursor () |
| 该物体必须要有碰撞体 获取鼠标位置最上图层顺序的的物体 | |
| HitResult | GetHitResultUnderCursor () |
| 获取世界坐标系下鼠标所处位置最顶层的物体信息(该物体必须拥有碰撞体). | |
| void | EnableInput (bool enable) |
| 激活输入输出 | |
| virtual void | DrawDebugPosition () const |
| 调试 在画布上显示物体的坐标 | |
| void | MouseTick () |
| 更新鼠标信息 | |
| void | SetRectFrame (const Rect &frame) |
| 设置相机可活动框架. | |
Public 成员函数 继承自 Object | |
| Object () | |
| 只是一个场景根组件(带有场景属性),不需要遍历,所以不需要加入容器 | |
| ~Object () | |
| 组件删除的控制权在对象中 | |
| virtual void | EndPlay () |
| 设置虚函数,把不能写在析构却需要优先实现的写在这 例如delete this | |
| void | RegisterComponent (Component *pCom) |
| 在物体容器中注册组件. | |
| void | UnregisterComponent (Component *pCom) |
| 从物体组件容器中删除相应组件. | |
| template<class T > | |
| T * | GetComponentByClass () |
| 访问物体对象的跟他匹配的组件. | |
| template<class T > | |
| T * | ConstructComponent () |
| 创建组件,绑定到对象,并注册到对象容器. | |
| void | AttachTo (Object *par) |
| 设置所属物体 实现物体绑定. | |
| void | DetachForm (Object *par) |
| 解除所属物体 解除物体绑定. | |
| void | SetRootComponent (SceneComponent *newroot) |
| 设置场景根组件,物体以哪个组件场景属性作为自己的场景属性. | |
| void | Destroy () |
| 用深度优先遍历进行遍历,借助栈来实现,实现物体及其所有绑定的物体类销毁 | |
| Vector2D | GetLocalPosition () const |
| 获取物体相对坐标 | |
| float | GetLocalRotation () const |
| 获取物体相对角度 | |
| Vector2D | GetLocalScale () const |
| 获取物体相对缩放大小 | |
| Vector2D | GetWorldPosition () const |
| 递归获取物体类的世界坐标 | |
| float | GetWorldRotation () const |
| 递归获取物体类的世界旋转角度 | |
| Vector2D | GetWorldScale () const |
| 递归获取物体类的世界缩放大小 | |
| void | SetLocalPosition (const Vector2D &pos) |
| 设置物体相对坐标 | |
| void | SetLocalRotation (float rot) |
| 设置物体相对角度 | |
| void | SetLocalScale (const Vector2D &scale) |
| 设置物体相对缩放大小 | |
| void | AddPosition (const Vector2D &pos) |
| 加上一个坐标 | |
| void | AddRotation (float rot) |
| 加上一个角度 | |
Public 成员函数 继承自 base | |
| base () | |
| virtual | ~base () |
| std::string | GetName () const |
| void | SetName (const std::string &name) |
Protected 成员函数 | |
| virtual void | SetupInputComponent (InputComponent *inputcomponent) |
| 实现子类访问父类私有变量. | |
Protected 属性 | |
| class Camera * | camera |
| float | armLength = 20.f |
| 相机组件 | |
Protected 属性 继承自 Object | |
| SceneComponent *const | root = new SceneComponent |
| 场景根组件,赋予场景属性 刚创建物体一定同时创建了它的场景组件,不允许改变指向 | |
Private 属性 | |
| InputComponent * | inputcomponent |
| 输入交互组件 不希望派生类随便访问 | |
| Controller::Controller | ( | ) |
创建输入交互组件和相机组件并进行绑定相机组件
|
overridevirtual |
重载 Object .
|
virtual |
调试 在画布上显示物体的坐标
重载 Object .
| void Controller::EnableInput | ( | bool | enable | ) |
激活输入输出
| HitResult Controller::GetHitResultUnderCursor | ( | ) |
获取世界坐标系下鼠标所处位置最顶层的物体信息(该物体必须拥有碰撞体).
| Vector2D Controller::GetMousePosition | ( | ) | const |
获取鼠标世界坐标系位置
| Object * Controller::GetObjectUnderCursor | ( | ) |
该物体必须要有碰撞体 获取鼠标位置最上图层顺序的的物体
获取世界坐标系下鼠标所处位置最顶层的物体
| bool Controller::IsMouseClick | ( | ) | const |
获取鼠标是否按下
| void Controller::MouseTick | ( | ) |
更新鼠标信息
|
inline |
更新点输入信息
|
inline |
更新轴输入信息 就是一直按着的状态
| void Controller::SetRectFrame | ( | const Rect & | frame | ) |
设置相机可活动框架.
| [in] | frame | 相机可活动框(视野框) |
|
protectedvirtual |
|
overridevirtual |
|
protected |
相机组件
设置弹簧长度(控制屏幕缩放)
|
protected |
|
private |
输入交互组件 不希望派生类随便访问