using System.Collections.Generic; using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic; using Fort23.Core; using GameLogic.Combat.Buff; using GameLogic.Combat.CombatTool; using GameLogic.Combat.Hero; using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical; using UnityEngine; using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface; namespace GameLogic.Combat.Skill.MagicSkill { /// /// 对敌人照成伤害,并随机封锁敌人{0}个法宝,让其{1}秒内不能使用和不能充能 /// public class S901004 : MagicSkillBasic { private CombatHeroEntity target; protected override void ProMagicUseSkill() { // StraightLineShow straightLineShow = new StraightLineShow(); // straightLineShow.Init(this); CombatHeroEntity[] allHero = CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy); if (allHero == null || allHero.Length <= 0) { SkillPlayFinish(); return; } // SkillPlayFinish(); target = allHero[0]; MagicAttShowBasic magicAttShowBasic = InitMagicAttShowBasic(allHero[0], Finish); SetMagicAttShowBasic(magicAttShowBasic); } private void Finish() { CombatHeroEntity combatHeroEntity =target; ILifetCycleHitPoint lifetCycleHitPoint = target.GetMainHotPoin(); if (lifetCycleHitPoint == null) { return; } CombatMagicWeaponEntity[] AllMagicWeapon = combatHeroEntity.heroMagicWeaponControl.AllMagicWeapon; int maxCount = combatHeroEntity.heroMagicWeaponControl.MagicWeaponCount; List currAllMagicWeapon = new List(); currAllMagicWeapon.AddRange(AllMagicWeapon); for (int i = 0; i < effectValue[0]; i++) { if (maxCount > 0) { int index = Random.Range(0, maxCount); BuffInfo buffInfo = BuffInfo.GetBuffInfo(10081, effectValue[1], 1); CombatMagicWeaponEntity combatMagicWeaponEntity = currAllMagicWeapon[index]; combatMagicWeaponEntity.BuffControl.AddBuff(CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity, buffInfo); currAllMagicWeapon.RemoveAt(index); maxCount--; } } BetterList cBetterList = new BetterList(1); cBetterList.Add(lifetCycleHitPoint); ActivationTimeLineData("gongji", currTarget: cBetterList); SkillPlayFinish(); // TimeLineEventLogicGroupBasic timeLineEventLogicGroupBasic = // ActivationTimeLineData("sk1_xiaoshi"); } // protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity( // TimeLineEventLogicBasic timeLineEventLogicBasic) // { // ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1]; // lifetCycleHitPoints[0] = target.GetMainHotPoin(); // return lifetCycleHitPoints; // } } }