public bool DoesTargetImplementsEvent()
    {
        string eventName = GetEventString();

        if (fsmEventSetup.target == PlayMakerProxyEventTarget.BroadCastAll)
        {
            return(FsmEvent.IsEventGlobal(eventName));
        }

        if (fsmEventSetup.target == PlayMakerProxyEventTarget.FsmComponent)
        {
            return(PlayMakerUtils.DoesFsmImplementsEvent(fsmEventSetup.fsmComponent, eventName));
        }

        if (fsmEventSetup.target == PlayMakerProxyEventTarget.GameObject)
        {
            return(PlayMakerUtils.DoesGameObjectImplementsEvent(fsmEventSetup.gameObject, eventName, fsmEventSetup.sendtoChildren));
        }

        if (fsmEventSetup.target == PlayMakerProxyEventTarget.Owner)
        {
            return(PlayMakerUtils.DoesGameObjectImplementsEvent(this.gameObject, eventName, fsmEventSetup.sendtoChildren));
        }

        return(false);
    }