public override void StartReaction(object o, EventArgs e) { InteractionAreaEventArgs interactionAreaEventArgs = e as InteractionAreaEventArgs; if (interactionAreaEventArgs != null) { // See if there is more data that is needed for this reaction if (interactionAreaEventArgs.hasMoreReactionInfo) { SnapEventArgSender snapEventSender = interactionAreaEventArgs.interactionObject.GetComponent <SnapEventArgSender>(); if (snapEventSender != null) { SnapReactionEventArgs snapEventArgs = snapEventSender.GetEventArgs() as SnapReactionEventArgs; SnapObject(snapEventArgs.interactionObject, snapEventArgs.snapLocation, snapEventArgs.keepObjectGrabbable); } else { SnapObject(interactionAreaEventArgs.interactionObject); } } else { SnapObject(interactionAreaEventArgs.interactionObject); } } }
public override EventArgs GetEventArgs() { SnapReactionEventArgs snapEventArgs = new SnapReactionEventArgs() { interactionObject = gameObject, snapLocation = snapTransform, keepObjectGrabbable = canGrabObjectAfterSnap }; return(snapEventArgs); }