public bool AddCallbacks(object target, MethodInfo methodInfo, object obj) { if (!EnableBind(methodInfo, obj)) { return(false); } var collider2D = GameObjectExtensions.GetComponent <Collider2D>(obj); var onCollision = collider2D.gameObject.GetOrAddComponent <T>(); return(BindCallbackAttribute.BindWithTypeAndCallbackName(target, methodInfo, onCollision, typeof(T), GetCallbackName())); }
public bool RemoveCallbacks(object target, MethodInfo methodInfo, object obj) { if (!EnableBind(methodInfo, obj)) { return(false); } var joint2D = GameObjectExtensions.GetComponent <Joint2D>(obj); var onJointBreak = joint2D.gameObject.GetOrAddComponent <Physic2DOnJointBreakCallbacks>(); return(BindCallbackAttribute.UnbindWithTypeAndCallbackName(target, methodInfo, onJointBreak, typeof(Physic2DOnJointBreakCallbacks), GetCallbackName())); }