少年修仙传客户端代码仓库
client_Wu Xijin
2018-10-18 1868bc632a9134b6891d4fc5f427e3f280b9e973
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using UnityEngine;
 
public class RunBase : SMB_Base
{
    private Vector3 _v;
 
    protected override void OnEnter(GActor owner, Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        base.OnEnter(owner, animator, stateInfo, layerIndex);
    }
 
    protected override void OnUpdate(GActor owner, Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        base.OnUpdate(owner, animator, stateInfo, layerIndex);
 
        if (owner.State != E_ActorState.AutoRun)
        {
            if (owner.destForward != Vector3.zero)
            {
                Quaternion _q = Quaternion.LookRotation(owner.destForward, Vector3.up);
                owner.Rotation = Quaternion.RotateTowards(owner.Rotation, _q, GeneralDefine.RotateSpeed);
            }
 
            Vector3 _position = owner.Pos;
 
            float _deltaDis = owner.ActorInfo.moveSpeed * Time.deltaTime;
            if (_deltaDis > .5f)
            {
                _deltaDis = .5f;
            }
 
            Vector3 _nextPosition = _position + owner.destForward * _deltaDis;
            _nextPosition.y = 0;
 
            if (GActor.TryGetValidPos(_nextPosition, ref _position))
            {
                owner.Pos = new Vector3(_position.x, owner.Pos.y, _position.z);
            }
        }
    }
 
    protected override void OnExit(GActor owner, Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        base.OnExit(owner, animator, stateInfo, layerIndex);
    }
}