Exemplo n.º 1
0
        /// <summary>
        /// Using Message to the Monovehaviours asociated to this animator delivery with Send Message
        /// </summary>
        void DeliverMessage(MesssageItem m, Animator anim)
        {
            switch (m.typeM)
            {
            case TypeMessage.Bool:
                anim.SendMessage(m.message, m.boolValue, SendMessageOptions.DontRequireReceiver);
                break;

            case TypeMessage.Int:
                anim.SendMessage(m.message, m.intValue, SendMessageOptions.DontRequireReceiver);
                break;

            case TypeMessage.Float:
                anim.SendMessage(m.message, m.floatValue, SendMessageOptions.DontRequireReceiver);
                break;

            case TypeMessage.String:
                anim.SendMessage(m.message, m.stringValue, SendMessageOptions.DontRequireReceiver);
                break;

            case TypeMessage.Void:
                anim.SendMessage(m.message, SendMessageOptions.DontRequireReceiver);

                break;

            default:
                break;
            }
        }
Exemplo n.º 2
0
 // OnStateExit is called before OnStateExit is called on any state inside this state machine
 override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (sendTo == Option.selfOnly)
     {
         animator.SendMessage(messageName, _require);
     }
     else if (sendTo == Option.selfAndParent)
     {
         animator.SendMessage(messageName, _require);
         if (animator.transform.parent)
         {
             animator.transform.parent.SendMessage(messageName, _require);
         }
     }
     else if (sendTo == Option.parentOnly)
     {
         if (animator.transform.parent)
         {
             animator.transform.parent.SendMessage(messageName, _require);
         }
     }
     else if (sendTo == Option.upwards)
     {
         animator.SendMessageUpwards(messageName, _require);
     }
 }
Exemplo n.º 3
0
 private void SendEvent(Animator animator)
 {
     if (m_Argument.ArgumentType != ArgumentType.None)
     {
         animator.SendMessage(this.m_EventName, m_Argument.GetValue(), SendMessageOptions.DontRequireReceiver);
     }
     else
     {
         animator.SendMessage(this.m_EventName, SendMessageOptions.DontRequireReceiver);
     }
 }
Exemplo n.º 4
0
 // OnStateExit is called before OnStateExit is called on any state inside this state machine
 public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (sendTo == Option.selfOnly)
         animator.SendMessage(messageName, _require);
     else if (sendTo == Option.selfAndParent) {
         animator.SendMessage(messageName, _require);
         if (animator.transform.parent)
             animator.transform.parent.SendMessage(messageName, _require);
     } else if (sendTo == Option.parentOnly) {
         if (animator.transform.parent)
             animator.transform.parent.SendMessage(messageName, _require);
     } else if (sendTo == Option.upwards)
         animator.SendMessageUpwards(messageName, _require);
 }
 public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (this.normalizedTimes[stateInfo.fullPathHash] < 1 && stateInfo.normalizedTime >= 1)
     {
         if (stateInfo.IsName("Show"))
         {
             animator.SendMessage("OnShow");
         }
         else if (stateInfo.IsName("Hide"))
         {
             animator.SendMessage("OnHide");
         }
     }
     this.normalizedTimes[stateInfo.fullPathHash] = stateInfo.normalizedTime;
 }
 public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (!string.IsNullOrEmpty(onEnter))
     {
         animator.SendMessage(onEnter, SendMessageOptions.RequireReceiver);
     }
 }
Exemplo n.º 7
0
 //OnStateIK is called right after Animator.OnAnimatorIK(). Code that sets up animation IK(inverse kinematics) should be implemented here.
 override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (!string.IsNullOrEmpty(m_strOnStateIK))
     {
         animator.SendMessage(m_strOnStateIK, SendMessageOptions.RequireReceiver);
     }
 }
Exemplo n.º 8
0
 public override void OnStateMachineExit(Animator animator, int stateMachinePathHash)
 {
     if (!string.IsNullOrEmpty(_exitEvent.FunctionName))
     {
         animator.SendMessage(_exitEvent.FunctionName, _exitEvent.Parameter);
     }
 }
Exemplo n.º 9
0
 public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (!m_SendEventOnEnter.IsNullOrEmpty())
     {
         animator.SendMessage("SendEvent", m_SendEventOnEnter);
     }
 }
Exemplo n.º 10
0
    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    //override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
    //
    //}

    // OnStateExit is called when a transition ends and the state machine finishes evaluating this state
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        foreach (var item in Exittigger)
        {
            animator.SendMessage(item);
        }
    }
Exemplo n.º 11
0
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        var value = new MovementParams(direction, 50f);

        animator.SendMessage("MovementListener", value);
        Debug.Log("On Movement Update ");
    }
Exemplo n.º 12
0
    public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (!_isTransitioningOut)
        {
            if (!string.IsNullOrEmpty(_preExitEvent.FunctionName))
            {
                animator.SendMessage(_preExitEvent.FunctionName, _preExitEvent.Parameter);
            }
            _isTransitioningOut = true;
        }

        if (!string.IsNullOrEmpty(_exitEvent.FunctionName))
        {
            animator.SendMessage(_exitEvent.FunctionName, _exitEvent.Parameter);
        }
    }
Exemplo n.º 13
0
 public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (timing == STATE.Exit)
     {
         animator.SendMessage(functionName, null, SendMessageOptions.DontRequireReceiver);
     }
 }
Exemplo n.º 14
0
    // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    //override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    //{
    //
    //}

    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    //override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    //{
    //
    //}

    // OnStateExit is called when a transition ends and the state machine finishes evaluating this state
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        foreach (var msg in onExitMessages)
        {
            animator.SendMessage(msg);
        }
    }
Exemplo n.º 15
0
 // Update is called once per frame
 override public void OnStateUpdate(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex)
 {
     if (animatorStateInfo.normalizedTime >= 1.0f)
     {
         animator.SendMessage("OnCloseComplete");
     }
 }
 // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
 override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (animator.GetCurrentAnimatorStateInfo(layerIndex).normalizedTime >= 1f && !messageSent)
     {
         animator.SendMessage(message, SendMessageOptions.DontRequireReceiver);
         messageSent = true;
     }
 }
 public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (stateInfo.normalizedTime >= 1)
     {
         string message = transitionIn? "TransitionedIn" : "TransitionedOut";
         animator.SendMessage(message);
     }
 }
Exemplo n.º 18
0
 // OnStateExit is called when a transition ends and the state machine finishes evaluating this state
 override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     foreach (var item in _eventname)
     {
         if (item.type == InvokeTime.Exit)
         {
             animator.SendMessage(item._eventname);
         }
     }
 }
Exemplo n.º 19
0
    public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (!string.IsNullOrEmpty(_enterEvent.FunctionName))
        {
            animator.SendMessage(_enterEvent.FunctionName, _enterEvent.Parameter);
        }

        _isTransitioningIn  = animator.IsInTransition(layerIndex);
        _isTransitioningOut = false;
    }
Exemplo n.º 20
0
    public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        float t = stateInfo.normalizedTime;

        if (normalizedTimes[stateInfo.fullPathHash] < 1 && t >= 1)
        {
            normalizedTimes[stateInfo.fullPathHash] = 1;
            if (stateInfo.IsName("Show"))
            {
                animator.SendMessage("OnShowed", SendMessageOptions.DontRequireReceiver);
            }
            else if (stateInfo.IsName("Hide"))
            {
                if (!animator.GetBool("IsShow"))
                {
                    animator.SendMessage("OnHided", SendMessageOptions.DontRequireReceiver);
                }
            }
        }
    }
 // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
 override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (animtime == time)
     {
         foreach (var item in Fsmtrigger)
         {
             animator.SendMessage(item);
         }
     }
     animtime++;
 }
Exemplo n.º 22
0
 private void SendMessage(Animator anim, string message, SendMessageOptions MsgOption)
 {
     if (SendToChildren)
     {
         anim.BroadcastMessage(message, MsgOption);
     }
     else
     {
         anim.SendMessage(message, MsgOption);
     }
 }
Exemplo n.º 23
0
    void SendMessage(Animator obj, string message, float delay)
    {
        if (corout != null)
        {
            Debug.Log("Routine aborted");
            return;
        }

        corout = InvokeAlternatives.Invoke(obj.GetComponent <MonoBehaviour>(), delay, () =>
        {
            obj.SendMessage(message);
            corout = null;
        });

        //Debug.Log("Exit called");
    }
Exemplo n.º 24
0
 // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
 override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     base.OnStateUpdate(animator, stateInfo, layerIndex);
     // The prey was eaten, we go back to wandering around
     if (prey == null || (prey != null && prey.GetComponent <Prey>().GetLife() <= 0))
     {
         eating = false;
         animator.ResetTrigger(Suricate.chaseHash);
         // If we are on alert we need to run not wander!
         if (!obj.gameObject.GetComponent <Suricate>().IsOnAlert())
         {
             animator.SetTrigger(Suricate.wanderHash);
         }
     }
     // Before eating we need to catch up to the prey first!
     else if (!eating)
     {
         float distance = Vector3.Distance(obj.transform.position, prey.transform.position);
         if (distance > 1.0f)
         {
             Move(prey.transform.position);
         }
         else
         {
             prey.SendMessage("Catched");
             eating = true;
         }
     }
     // We are currently eating a prey
     else if (eating && prey.GetComponent <Prey>().GetLife() > 0)
     {
         // We took a bite
         animator.SendMessage("TakeABite", prey);
         // If we are a tutor we need to give some to the youths
         if (obj.GetComponent <Suricate>().GetYouths().Count > 0)
         {
             foreach (GameObject youth in obj.GetComponent <Suricate>().GetYouths())
             {
                 if (youth != null)
                 {
                     youth.SendMessage("TakeABite", prey);
                 }
             }
         }
     }
 }
Exemplo n.º 25
0
 public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (!_isTransitioningOut)
     {
         if (animator.IsInTransition(layerIndex))
         {
             if (!_isTransitioningIn)
             {
                 if (!string.IsNullOrEmpty(_preExitEvent.FunctionName))
                 {
                     animator.SendMessage(_preExitEvent.FunctionName, _preExitEvent.Parameter);
                 }
                 _isTransitioningOut = true;
             }
         }
         else if (_isTransitioningIn)
         {
             _isTransitioningIn = false;
         }
     }
 }
Exemplo n.º 26
0
        /// <summary>  Using Message to the Monovehaviours asociated to this animator delivery with Send Message  </summary>
        void DeliverMessage(MesssageItem m, Animator anim)
        {
            switch (m.typeM)
            {
            case TypeMessage.Bool:
                anim.SendMessage(m.message, m.boolValue, SendMessageOptions.DontRequireReceiver);
                break;

            case TypeMessage.Int:
                anim.SendMessage(m.message, m.intValue, SendMessageOptions.DontRequireReceiver);
                break;

            case TypeMessage.Float:
                anim.SendMessage(m.message, m.floatValue, SendMessageOptions.DontRequireReceiver);
                break;

            case TypeMessage.String:
                anim.SendMessage(m.message, m.stringValue, SendMessageOptions.DontRequireReceiver);
                break;

            case TypeMessage.Void:
                anim.SendMessage(m.message, SendMessageOptions.DontRequireReceiver);
                break;

            case TypeMessage.IntVar:
                anim.SendMessage(m.message, (int)m.intVarValue, SendMessageOptions.DontRequireReceiver);
                break;

            case TypeMessage.Transform:
                anim.SendMessage(m.message, m.transformValue, SendMessageOptions.DontRequireReceiver);
                break;

            default:
                break;
            }

            if (debug)
            {
                Debug.Log($"{name}:<color=white> <b>[Msg Behaviour] [Animator:{anim.name}] [Msg:{m.message} | Type: {m.typeM}]</b> </color>");         //Debug
            }
        }
Exemplo n.º 27
0
 // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
 public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     animator.SendMessage ("Record",SendMessageOptions.DontRequireReceiver);
 }
Exemplo n.º 28
0
    void OnTriggerEnter2D(Collider2D col2d)
    {
        if (col2d.name == "water")
        {
            shangbanshen.SendMessage("ShowDie");
            return;
        }

        if (col2d.name == "birds")
        {
            this.pick.GetComponent <SpriteRenderer> ().enabled = true;
            this.pick.GetComponent <Animator> ().enabled       = true;
            Destroy(col2d.gameObject);
            return;
        }

        if (col2d.gameObject.layer == 19)
        {
            this.DieBySoward();
        }

        if (col2d.gameObject.layer == 20)
        {
            this.DieByWepon();
        }

        if (col2d.gameObject.tag == "wepon")
        {
            if (col2d.gameObject.name == "wepon_razer")
            {
                audios.clip = Resources.Load("razergun") as AudioClip;
                audios.Play();
                holdWepon = 2;
                this.shangbanshen.SetBool("sg_idle", true);
                this.shangbanshen.GetComponent <Hero_shangbanshen_Script> ().holdwepon = 2;
                this.xiabanshen.GetComponent <Hero_xiabanshenScript> ().holdwepon      = 2;
            }
            if (col2d.gameObject.name == "shotgun_item")
            {
                holdWepon   = 1;
                audios.clip = Resources.Load("shotgun") as AudioClip;
                audios.Play();
                this.shangbanshen.SetBool("sg_idle", true);
                this.shangbanshen.GetComponent <Hero_shangbanshen_Script> ().holdwepon = 1;
                this.xiabanshen.GetComponent <Hero_xiabanshenScript> ().holdwepon      = 1;
            }

            col2d.GetComponent <SpriteRenderer> ().enabled = false;
            Destroy(col2d.gameObject);
            this.pick.GetComponent <SpriteRenderer> ().enabled = true;
            this.pick.GetComponent <Animator> ().enabled       = true;
            return;
        }

        if (col2d.gameObject.tag == "npcs")
        {
            //this.target.SetBool ("idle", false);
            intriggers = true;
            switch (col2d.gameObject.name)
            {
            //当角色触碰其他npc时显示的提示,以后有新增的npc可以在这里添加
            case "soilders_phone":
                GameObject.Find("dialogbox").GetComponent <SpriteRenderer> ().enabled = true;
                GameObject.Find("dialogbox").GetComponent <Animator> ().enabled       = true;
                npcs = 1;
                break;

            case "title":
                GameObject.Find("exclamatory_mark").GetComponent <SpriteRenderer> ().enabled = true;
                npcs = 2;
                break;

            case "shop":
                GameObject.Find("exclamatory_mark").GetComponent <SpriteRenderer> ().enabled = true;
                npcs = 3;
                break;

            default:
                break;
            }
        }

        if (col2d.gameObject.name == "FlowerTrap")
        {
            this.GetComponent <Rigidbody2D> ().constraints = RigidbodyConstraints2D.FreezeAll;
            DieByWepon();
        }
    }
Exemplo n.º 29
0
 // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
 public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     animator.SendMessage ("StartRecording",SendMessageOptions.DontRequireReceiver);
 }
Exemplo n.º 30
0
 override public void OnStateMachineEnter(Animator animator, int stateMachinePathHash)
 {
     animator.SendMessage("SetIntIDRandom", Range, SendMessageOptions.DontRequireReceiver);
 }
Exemplo n.º 31
0
 // OnStateExit is called when a transition ends and the state machine finishes evaluating this state
 override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     animator.SendMessage(State, false, SendMessageOptions.DontRequireReceiver);
 }
Exemplo n.º 32
0
 public override void OnStateMachineEnter(Animator animator, int stateMachinePathHash)
 {
     animator.SendMessage("OnAnimActionStateEnter", new StateInfo(stateMachinePathHash, layerIndex), SendMessageOptions.DontRequireReceiver);
     base.OnStateMachineEnter(animator, stateMachinePathHash);
 }
Exemplo n.º 33
0
 private void OnStateExit(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex)
 {
     animator.SendMessage("Exit");
 }
Exemplo n.º 34
0
 private void OnStateEnter(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex)
 {
     animator.SendMessage("Begin");
 }