void InitializeRoll()
 {
     _state = AttackRollState.ROLL;
     AnimationTools.PlayAnim(Agent.AnimEngine, "attackRollLoop", 0.1f);
     Agent.BlackBoard.motionType = MotionType.ROLL;
     Agent.MotionTrace.Play();
 }
 void InitializeStandUp()
 {
     _state = AttackRollState.STAND_UP;
     AnimationTools.PlayAnim(Agent.AnimEngine, "attackRollEnd", 0.1f);
     Agent.BlackBoard.motionType = MotionType.ROLL;
     _endOfStateTime             = Agent.AnimEngine["attackRollEnd"].length * 0.95f + Time.timeSinceLevelLoad;
     Agent.MotionTrace.Stop();
     //Agent.SoundPlay(Agent.RollSounds[2]);
 }
    protected override void Initialize(FSMEvent ev)
    {
        _eventAttackRoll = ev as AnimFSMEventAttackRoll;

        _state = AttackRollState.PREPARE;
        AnimationTools.PlayAnim(Agent.AnimEngine, "attackRollStart", 0.4f);
        base.Initialize(_eventAttackRoll);
        Agent.BlackBoard.motionType = MotionType.NONE;
        _endOfStateTime             = Agent.AnimEngine["attackRollStart"].length * 0.95f + Time.timeSinceLevelLoad;
        _hitTimer = 0;
        UpdateFinalRotation();
        //Agent.SoundPlay(Agent.RollSounds[0]);
    }