Beispiel #1
0
 /// <summary>
 /// Enqueues the event message.
 /// </summary>
 /// <param name="eventCode">Event code.</param>
 /// <param name="parameters">Parameters.</param>
 public static void EnqueueEventMessage(PlayEventCode eventCode, params object[] parameters)
 {
     EnqueueEventMessage(new PlayEventMessage()
     {
         MethodName       = eventCode.ToString(),
         MethodParameters = parameters
     });
 }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="eventCode"></param>
        /// <param name="parameters"></param>
        public static void InvokeEvent(PlayEventCode eventCode, params object[] parameters)
        {
#if UNITY
            EnqueueEventMessage(eventCode, parameters);
#else
            Play.EventBehaviours.When(kv => kv.Key == eventCode.ToString()).Every(kv =>
            {
                kv.Value.Every(b =>
                {
                    var callbackMethod = Play.Find <PlayEventAttribute>(b, kv.Key);
                    if (callbackMethod != null)
                    {
                        callbackMethod.Invoke(b, parameters.Length > 0 ? parameters : null);
                    }
                });
            });
#endif
        }