| | |
| | | private int m_CurrentIndex; |
| | | private byte m_Step; |
| | | private int targetPoint; |
| | | private int startPoint; |
| | | private List<SFXController> m_EffectList = new List<SFXController>(); |
| | | |
| | | public TransferGroup(H2Engine.MapTrasfer data) |
| | |
| | | private Vector3 m_StartPos; |
| | | private bool isPositive = true; |
| | | |
| | | private SFXController m_FlyingEffect; |
| | | |
| | | public void Update() |
| | | { |
| | | if (m_Data.transferPoints == null |
| | |
| | | _distance = MathUtility.DistanceSqrtXZ(_hero.Pos, _p.position); |
| | | if (_distance < _p.radius * _p.radius) |
| | | { |
| | | m_Step = 1; |
| | | m_InCreaseTime = 0; |
| | | m_Step = 11; |
| | | GA_Hero.s_MapSwitching = true; |
| | | _hero.Pos = m_StartPos = m_Data.transferPoints[i].position; |
| | | _hero.StopPathFind(); |
| | | startPoint = i; |
| | | if (i == 0) |
| | | { |
| | | isPositive = true; |
| | |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | break; |
| | | case 11: |
| | | _p = m_Data.transferPoints[startPoint]; |
| | | var _dir = MathUtility.ForwardXZ(_p.position, _hero.Pos); |
| | | _hero.Pos += _hero.ActorInfo.moveSpeed * Time.deltaTime * _dir; |
| | | _distance = MathUtility.DistanceSqrtXZ(_p.position, _hero.Pos); |
| | | _hero.Run(); |
| | | if (_distance < 0.01f) |
| | | { |
| | | _hero.Pos = m_StartPos = m_Data.transferPoints[startPoint].position; |
| | | m_Step = 1; |
| | | m_InCreaseTime = 0; |
| | | m_FlyingEffect = SFXPlayUtility.Instance.PlayBattleEffect(1180, _hero); |
| | | _hero.Idle(); |
| | | } |
| | | break; |
| | | case 1: |
| | |
| | | { |
| | | m_Step = 3; |
| | | GA_Hero.s_MapSwitching = false; |
| | | if (m_FlyingEffect) |
| | | { |
| | | SFXPlayUtility.Instance.Release(m_FlyingEffect); |
| | | m_FlyingEffect = null; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | |
| | | SFXPlayUtility.Instance.Release(_effect); |
| | | } |
| | | m_EffectList.Clear(); |
| | | |
| | | if (m_FlyingEffect) |
| | | { |
| | | SFXPlayUtility.Instance.Release(m_FlyingEffect); |
| | | m_FlyingEffect = null; |
| | | } |
| | | |
| | | m_Data = null; |
| | | } |
| | | } |