| | |
| | | using UnityEngine; |
| | | using System; |
| | | using Snxxz.UI; |
| | | using UnityEngine; |
| | | |
| | | public class Status_Mocking : Status_Base |
| | | { |
| | | private float m_LastUseSkillTime; |
| | | private int m_UseClickSkill = -1; |
| | | |
| | | public override void Init(uint sid, int skillId, uint srcSid, int type, int lastTime) |
| | | { |
| | | base.Init(sid, skillId, srcSid, type, lastTime); |
| | | m_UseClickSkill = -1; |
| | | HeroBehaviour.OnUserClickSkill += OnUserClickSkill; |
| | | } |
| | | |
| | | private void OnUserClickSkill(int skillId) |
| | | { |
| | | m_UseClickSkill = skillId; |
| | | } |
| | | |
| | | public override void UnInit(uint objID, byte buffType) |
| | | { |
| | | base.UnInit(objID, buffType); |
| | | |
| | | HeroBehaviour.OnUserClickSkill -= OnUserClickSkill; |
| | | } |
| | | |
| | | public sealed override void Update() |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | int _index = _hero.nextComAtkIndex; |
| | | if (_index == -1) |
| | | _skill = null; |
| | | |
| | | if (m_UseClickSkill != -1) |
| | | { |
| | | _index = 0; |
| | | int _skillId; |
| | | var _tsModel = ModelCenter.Instance.GetModel<TreasureSkillModel>(); |
| | | if (_tsModel.TryGetExpertSkill(m_UseClickSkill, out _skillId)) |
| | | { |
| | | int _level = 0; |
| | | if (_tsModel.TryGetExpertActiveLevel(_skillId, out _level)) |
| | | { |
| | | _skillId += (_level - 1); |
| | | } |
| | | var _skillInfo = SkillHelper.Instance.Get(_skillId); |
| | | SkillHelper.EffectValue _effectValue; |
| | | if (_skillInfo.effectValue.TryGetValue(4093, out _effectValue)) |
| | | { |
| | | _skill = _hero.SkillMgr.Get(_skillId); |
| | | } |
| | | } |
| | | m_UseClickSkill = -1; |
| | | } |
| | | int _comSkillID = _hero.GetCommonSkillID(_index); |
| | | _skill = _hero.SkillMgr.Get(_comSkillID); |
| | | |
| | | if (_skill == null) |
| | | { |
| | | int _index = _hero.nextComAtkIndex; |
| | | if (_index == -1) |
| | | { |
| | | _index = 0; |
| | | } |
| | | int _comSkillID = _hero.GetCommonSkillID(_index); |
| | | _skill = _hero.SkillMgr.Get(_comSkillID); |
| | | } |
| | | |
| | | if (_skill == null) |
| | | { |
| | |
| | | Vector3 _forward = MathUtility.ForwardXZ(_target.Pos, _hero.Pos); |
| | | _hero.destForward = _hero.Forward = _forward; |
| | | |
| | | _hero.Behaviour.DoCommonAttack(); |
| | | if (_skill.skillInfo.config.FuncType == (int)E_SkillFuncType.NormalAttack) |
| | | { |
| | | _hero.Behaviour.DoCommonAttack(); |
| | | } |
| | | else |
| | | { |
| | | _hero.Behaviour.DoAttack(_skill); |
| | | } |
| | | |
| | | m_UseClickSkill = -1; |
| | | m_LastUseSkillTime = Time.time; |
| | | } |
| | | } |