easyx_framework V1.0.0
基于easyx的c++游戏框架
 
载入中...
搜索中...
未找到
CollisionDelegate类 参考

碰撞重叠事件委托. 更多...

#include <Collider.h>

Public 成员函数

template<typename T >
void Add (T *obj, void(T::*func)(Collider *, Object *))
 封装多个回调函数 获得跟他碰撞的碰撞器和物体
 
void Add (std::function< void(Collider *, Object *)>func)
 添加函数
 
template<typename T >
void Remove (T *obj, void(T::*func)(Collider *, Object *))
 移除相应委托
 
void Remove (std::function< void(Collider *, Object *)>func)
 移除相应委托
 
void BroadCast (Collider *OverlapCollider, Object *OverlapActor)
 发布委托(执行所有委托)
 

Private 属性

std::vector< std::function< void(Collider *, Object *)> > callbacks
 

详细描述

碰撞重叠事件委托.

备注
类参数[Collider* overlapcomponentself,Collider* othercomponent,Object* otherobject] 物理模拟物体碰撞事件委托. 类参数[Collider* overlapcomponentself,Collider* othercomponent,Object* otherobject,Vector2D normalpurse 法向方向的力,const HitResult& hitresult] 碰撞委托(第一版本).

特写 就是碰撞的时候执行相关委托函数,得到参数给函数 得到函数执行控制权

参见
MultiCastDelegate

成员函数说明

◆ Add() [1/2]

void CollisionDelegate::Add ( std::function< void(Collider *, Object *)> func)
inline

添加函数

◆ Add() [2/2]

template<typename T >
void CollisionDelegate::Add ( T * obj,
void(T::* func )(Collider *, Object *) )
inline

封装多个回调函数 获得跟他碰撞的碰撞器和物体

添加函数

◆ BroadCast()

void CollisionDelegate::BroadCast ( Collider * OverlapCollider,
Object * OverlapActor )

发布委托(执行所有委托)

◆ Remove() [1/2]

void CollisionDelegate::Remove ( std::function< void(Collider *, Object *)> func)
inline

移除相应委托

◆ Remove() [2/2]

template<typename T >
void CollisionDelegate::Remove ( T * obj,
void(T::* func )(Collider *, Object *) )
inline

移除相应委托

类成员变量说明

◆ callbacks

std::vector<std::function<void(Collider*,Object*)> > CollisionDelegate::callbacks
private