public static void SendEvent(GameObject i_Target, string i_EventName, PlayMakerEventParams i_Params)
    {
        if (i_Target == null)
        {
            return;
        }

        if (i_Params != null)
        {
            PlayMakerEventData.SetValues(i_Params);
        }

        NotifyEvent(i_Target, i_EventName);
    }
        public override void OnEnter()
        {
            for (int i = 0; i < keys.Length; i++)
            {
                if (keys[i].IsNone)
                {
                    continue;
                }

                int keyHash = StringUtils.GetHashCode(keys[i].Value);

                if (PlayMakerEventData.ContainsKey(keyHash))
                {
                    PlayMakerUtils.ApplyValueToFsmVar(this.Fsm, datas[i], PlayMakerEventData.GetValue(keyHash));
                }
            }

            Finish();
        }
        public override void OnEnter()
        {
            PlayMakerEventParams eventParams = new PlayMakerEventParams();

            for (int i = 0; i < keys.Length; i++)
            {
                if (keys[i].IsNone)
                {
                    continue;
                }

                int    keyHash = StringUtils.GetHashCode(keys[i].Value);
                object value   = PlayMakerUtils.GetValueFromFsmVar(this.Fsm, datas[i]);

                eventParams.AddValue(keyHash, value);
            }

            PlayMakerEventData.SetValues(eventParams);

            Finish();
        }