Ejemplo n.º 1
0
        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);
        }