using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic; using GameLogic.Combat.Hero; using UnityEngine; namespace GameLogic.Combat.Skill.MagicSkill { public class MagicSkillBasic : SkillBasic { protected MagicAttShowBasic magicAttShowBasic; protected CombatMagicWeaponEntity CombatMagicWeaponEntity { get { return CombatHeroEntity as CombatMagicWeaponEntity; } } protected override void ProUseSkill() { _finishTimeLineGroupName = "-1"; ProMagicUseSkill(); } public MagicAttShowBasic InitMagicAttShowBasic(CombatHeroEntity target, System.Action finishCallBack) { MagicAttShowBasic magicAttShowBasic = null; TimeLineEventLogicGroupBasic timeLineEventLogicGroupBasic = CombatHeroEntity.combatHeroTimeLineControl.GetTimeLineEventLogicGroup( "sk1_xiaoshi"); if (timeLineEventLogicGroupBasic != null) { XiaoShiAndShow xiaoShiAndShow = new XiaoShiAndShow(); xiaoShiAndShow.Init(this); magicAttShowBasic = xiaoShiAndShow; } else { StraightLineShow straightLineShow = new StraightLineShow(); straightLineShow.Init(this); magicAttShowBasic = straightLineShow; } magicAttShowBasic.SetInfo(target, finishCallBack); return magicAttShowBasic; } public XiaoShiAndShowForTargetPosShow InitXiaoShiAndShow(Vector3 target, System.Action finishCallBack) { XiaoShiAndShowForTargetPosShow xiaoShiAndShow = new XiaoShiAndShowForTargetPosShow(); xiaoShiAndShow.Init(this); xiaoShiAndShow.SetInfo(null, finishCallBack); xiaoShiAndShow.SetTargetPos(target); return xiaoShiAndShow; } public MoveToTargetPosShow InitMoveToTargetPosShow(Vector3 targetPos, System.Action finishCallBack) { MoveToTargetPosShow moveToTargetPosShow = new MoveToTargetPosShow(); moveToTargetPosShow.Init(this); moveToTargetPosShow.SetInfo(null, finishCallBack); moveToTargetPosShow.SetTargetPos(targetPos); return moveToTargetPosShow; } protected virtual void ProMagicUseSkill() { } protected void SetMagicAttShowBasic(MagicAttShowBasic magicAttShowBasic) { this.magicAttShowBasic = magicAttShowBasic; } protected override void ProCombatUpdate(float time) { if (magicAttShowBasic != null) { magicAttShowBasic.Update(time); } MagicSkillUpdate(time); } protected virtual void MagicSkillUpdate(float time) { } } }