示例#1
0
    protected void PlayInjuryAnimation(AgentActionInjury action)
    {
        if (PlayInjuryTime > Time.timeSinceLevelLoad)
        {
            action.SetSuccess();
            return;
        }

        string animName = Owner.AnimSet.GetInjuryAnim();

        Animation[animName].blendMode = AnimationBlendMode.Additive;
        Animation[animName].layer     = 0;

        //FIX IT !!!!!!

        /*if (Owner.BlackBoard.MotionType == E_MotionType.None)
         * {
         * Animation[animName].RemoveMixingTransform(Stomach);
         * }
         * else
         * {
         * Animation[animName].AddMixingTransform(Stomach);
         * }*/

        Blend(animName, 1, 0.1f);

        PlayInjuryTime = Time.timeSinceLevelLoad + Animation[animName].length * 0.35f;

        action.SetSuccess();
    }
示例#2
0
    public override void OnDeactivate()
    {
        Owner.BlackBoard.MotionType = E_MotionType.None;
        Owner.BlackBoard.MoveDir    = Vector3.zero;
        Owner.BlackBoard.Speed      = 0;

        Action.SetSuccess();
        Action = null;

        base.OnDeactivate();
    }
示例#3
0
    override public void OnDeactivate()
    {
        //  Time.timeScale = 1;

        Action.SetSuccess();
        Action = null;

        Owner.BlackBoard.MotionType = E_MotionType.None;

        base.OnDeactivate();
    }