我正在制作一个游戏,我正在尝试为对象创建一种处理彼此碰撞的方法。我想做类似的事情:
//Imaginary C#
public SomethingThatCollides()
{
CollisionEvent<ObjectA> += CollisionWithObjA;
CollisionEvent<ObjectB> += CollisionWithObjB;
}
void CollisionWithObjA(ObjectA other)
{
//Do something
}
void CollisionWithObjB(ObjectB other)
{
//Do something else
}
比如说,什么时候CollisionEvent<ObjectA>
引发(可能是通过一些碰撞检查代码),CollisionWithObjA
应该被调用。同样的CollisionWithObjB
; 当检测到与 ObjectB 的冲突时,它将引发CollisionEvent<ObjectB>
导致CollisionWithObjB
被调用的事件。
这样的事情可能吗?