/// <summary>
        /// Send messages to all scripts with IBehaviourListener to this animator
        /// </summary>
        void DeliverListener(MesssageItem m, IAnimatorListener listener)
        {
            switch (m.typeM)
            {
            case TypeMessage.Bool:
                listener.OnAnimatorBehaviourMessage(m.message, m.boolValue);
                break;

            case TypeMessage.Int:
                listener.OnAnimatorBehaviourMessage(m.message, m.intValue);
                break;

            case TypeMessage.Float:
                listener.OnAnimatorBehaviourMessage(m.message, m.floatValue);
                break;

            case TypeMessage.String:
                listener.OnAnimatorBehaviourMessage(m.message, m.stringValue);
                break;

            case TypeMessage.Void:
                listener.OnAnimatorBehaviourMessage(m.message, null);
                break;

            default:
                break;
            }
        }
Exemple #2
0
            public override void AddListener(IAnimatorListener listener)
            {
                var wrapper = new AnimatorListenerWrapper(this, listener);

                if (_listeners.ContainsKey(listener))
                {
                    _listeners.Add(listener, wrapper);
                    _animator.AddListener(listener);
                }
            }
Exemple #3
0
            public override void RemoveListener(IAnimatorListener listener)
            {
                var wrapper = _listeners[listener];

                if (wrapper is null)
                {
                    return;
                }
                _listeners.Remove(wrapper);
                _animator.RemoveListener(wrapper);
            }
Exemple #4
0
        /// <summary> Send messages to all scripts with IBehaviourListener to this animator   </summary>
        void DeliverListener(MesssageItem m, IAnimatorListener listener)
        {
            string val       = "";
            bool   succesful = false;

            switch (m.typeM)
            {
            case TypeMessage.Bool:
                succesful = listener.OnAnimatorBehaviourMessage(m.message, m.boolValue);
                val       = m.boolValue.ToString();
                break;

            case TypeMessage.Int:
                succesful = listener.OnAnimatorBehaviourMessage(m.message, m.intValue);
                val       = m.intValue.ToString();
                break;

            case TypeMessage.Float:
                succesful = listener.OnAnimatorBehaviourMessage(m.message, m.floatValue);
                val       = m.floatValue.ToString();
                break;

            case TypeMessage.String:
                succesful = listener.OnAnimatorBehaviourMessage(m.message, m.stringValue);
                val       = m.stringValue.ToString();
                break;

            case TypeMessage.Void:
                succesful = listener.OnAnimatorBehaviourMessage(m.message, null);
                val       = "Void";
                break;

            case TypeMessage.IntVar:
                succesful = listener.OnAnimatorBehaviourMessage(m.message, (int)m.intVarValue);
                val       = m.intVarValue.name.ToString();
                break;

            case TypeMessage.Transform:
                succesful = listener.OnAnimatorBehaviourMessage(m.message, m.transformValue);
                val       = m.transformValue.name.ToString();
                break;

            default:
                break;
            }

            if (debug && succesful)
            {
                Debug.Log($"<b>[Msg: {m.message}->{val}] [{m.typeM}]</b> T:{Time.time:F3}");                      //Debug
            }
        }
Exemple #5
0
 private void Deliver(MesssageItem m, Component component)
 {
     if (UseSendMessage)
     {
         DeliverMessage(m, component.transform.root);
     }
     else
     {
         IAnimatorListener liste = component.GetComponentInParent <IAnimatorListener>();
         if (liste != null)
         {
             DeliverListener(m, liste);
         }
     }
 }
Exemple #6
0
        public static void DeliverListener(MesssageItem m, IAnimatorListener listener)
        {
            switch (m.typeM)
            {
            case TypeMessage.Bool:
                listener.OnAnimatorBehaviourMessage(m.message, m.boolValue);
                break;

            case TypeMessage.Int:
                listener.OnAnimatorBehaviourMessage(m.message, m.intValue);
                break;

            case TypeMessage.Float:
                listener.OnAnimatorBehaviourMessage(m.message, m.floatValue);
                break;

            case TypeMessage.String:
                listener.OnAnimatorBehaviourMessage(m.message, m.stringValue);
                break;

            case TypeMessage.Void:
                listener.OnAnimatorBehaviourMessage(m.message, null);
                break;

            case TypeMessage.IntVar:
                listener.OnAnimatorBehaviourMessage(m.message, (int)m.intVarValue);
                break;

            case TypeMessage.Transform:
                listener.OnAnimatorBehaviourMessage(m.message, m.transformValue);
                break;

            case TypeMessage.GameObject:
                listener.OnAnimatorBehaviourMessage(m.message, m.GoValue);
                break;

            case TypeMessage.Component:
                listener.OnAnimatorBehaviourMessage(m.message, m.ComponentValue);
                break;

            default:
                break;
            }
        }
Exemple #7
0
 public virtual void SendMessage(Component component)
 {
     foreach (var m in messages)
     {
         if (m.message == string.Empty || !m.Active)
         {
             break;                                                  //If the messaje is empty or disabled break.... ignore it
         }
         if (UseSendMessage)
         {
             DeliverMessage(m, component.transform.root);
         }
         else
         {
             IAnimatorListener liste = component.GetComponentInParent <IAnimatorListener>();
             if (liste != null)
             {
                 DeliverListener(m, liste);
             }
         }
     }
 }