OnObjectImpact not being invoked in Version 3

Hi all,

So I have a script attached to a chair prefab which has the OnObjectImpact event. In version 2, whenever a grenade exploded near the chair, the event was invoked. However, after I upgraded to version 3, I'm getting the following error:

Code:
Error: The event 'OnObjectImpact' with type Opsive.Shared.Events.InvokableAction`6[System.Single,UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.GameObject,System.Object,UnityEngine.Collider] but Opsive.Shared.Events.InvokableAction`1[Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactCallbackContext] was expected.
UnityEngine.Debug:LogError (object)
Opsive.Shared.Events.EventHandler:TryGetValidAction<Opsive.Shared.Events.InvokableAction`1<Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactCallbackContext>> (string,int,System.Collections.Generic.List`1<Opsive.Shared.Events.InvokableActionBase>)
Opsive.Shared.Events.EventHandler:ExecuteEvent<Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactCallbackContext> (object,string,Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactCallbackContext)
Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactCallbackContext:InvokeImpactTargetCallback () (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/ImpactCollisionData.cs:101)
Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactEvent:OnImpactInternal (Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactCallbackContext) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/ImpactActions.cs:90)
Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactAction:OnImpact (Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactCallbackContext) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/ImpactAction.cs:267)
Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactAction:TryInvokeOnImpact (Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactCallbackContext,bool) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/ImpactAction.cs:257)
Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactActionGroup:OnImpactInternal (Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactCallbackContext,bool) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/ImpactAction.cs:142)
Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactActionGroup:OnImpact (Opsive.UltimateCharacterController.Items.Actions.Impact.ImpactCallbackContext,bool) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Impact/ImpactAction.cs:129)
Opsive.UltimateCharacterController.Objects.ProjectileBase:OnCollision (System.Nullable`1<UnityEngine.RaycastHit>) (at Assets/Opsive/UltimateCharacterController/Scripts/Objects/ProjectileBase.cs:316)
Opsive.UltimateCharacterController.Objects.TrajectoryObject:Move (UnityEngine.Vector3&,UnityEngine.Quaternion,bool) (at Assets/Opsive/UltimateCharacterController/Scripts/Objects/TrajectoryObject.cs:613)
Opsive.UltimateCharacterController.Objects.TrajectoryObject:FixedUpdate () (at Assets/Opsive/UltimateCharacterController/Scripts/Objects/TrajectoryObject.cs:535)

All I have is a script with the following:

C#:
private void OnObjectImpact(float amount, Vector3 position, Vector3 forceDirection, GameObject attacker, object attackerObject, Collider hitCollider)
        {
            Debug.Log(attacker.name);
        }

        private void Awake()
        {
            EventHandler.RegisterEvent<float, Vector3, Vector3, GameObject, object, Collider>(gameObject, "OnObjectImpact", OnObjectImpact);
        }

        private void OnDestroy()
        {
            EventHandler.UnregisterEvent<float, Vector3, Vector3, GameObject, object, Collider>(gameObject, "OnObjectImpact", OnObjectImpact);
        }

Why is OnObjectImpact not invoking here? Any help would be much appreciated.
 
OnObjectInput uses the ImpactCallbackContext now instead of individual parameters:

Code:
private void OnImpact(ImpactCallbackContext ctx)
 
OnObjectInput uses the ImpactCallbackContext now instead of individual parameters:

Code:
private void OnImpact(ImpactCallbackContext ctx)
Works now, thanks Justin (y)

The documentation might need to be updated, it still shows the old parameters.
 
Top