private void GetProxyComponent()
        {
            cachedProxy = null;
            var source = gameObject.GameObject.Value;

            if (source == null)
            {
                return;
            }

            switch (trigger)
            {
            case Trigger2DType.OnTriggerEnter2D:
                cachedProxy = PlayMakerFSM.GetEventHandlerComponent <PlayMakerTriggerEnter2D>(source);
                break;

            case Trigger2DType.OnTriggerStay2D:
                cachedProxy = PlayMakerFSM.GetEventHandlerComponent <PlayMakerTriggerStay2D>(source);
                break;

            case Trigger2DType.OnTriggerExit2D:
                cachedProxy = PlayMakerFSM.GetEventHandlerComponent <PlayMakerTriggerExit2D>(source);
                break;
            }
        }
        private void GetProxyComponent()
        {
            cachedProxy = null;
            var source = gameObject.GameObject.Value;

            if (source == null)
            {
                return;
            }

            switch (collision)
            {
            case Collision2DType.OnCollisionEnter2D:
                cachedProxy = PlayMakerFSM.GetEventHandlerComponent <PlayMakerCollisionEnter2D>(source);
                break;

            case Collision2DType.OnCollisionStay2D:
                cachedProxy = PlayMakerFSM.GetEventHandlerComponent <PlayMakerCollisionStay2D>(source);
                break;

            case Collision2DType.OnCollisionExit2D:
                cachedProxy = PlayMakerFSM.GetEventHandlerComponent <PlayMakerCollisionExit2D>(source);
                break;

            case Collision2DType.OnParticleCollision:
                cachedProxy = PlayMakerFSM.GetEventHandlerComponent <PlayMakerParticleCollision>(source);
                break;
            }
        }
        private void GetProxyComponent()
        {
            cachedEnterProxy = null;
            cachedExitProxy  = null;

            var source = gameObject.GameObject.Value;

            if (source == null)
            {
                return;
            }

            cachedEnterProxy = PlayMakerFSM.GetEventHandlerComponent <PlayMakerTriggerEnter>(source);

            cachedExitProxy = PlayMakerFSM.GetEventHandlerComponent <PlayMakerTriggerExit>(source);
        }