| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 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{    /// <summary>    /// 对敌人照成伤害,并随机封锁敌人{0}个法宝,让其{1}秒内不能使用和不能充能    /// </summary>    public class S3301 : 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<ILifetCycleHitPoint>();            if (lifetCycleHitPoint == null)            {                return;            }            CombatMagicWeaponEntity[] AllMagicWeapon = combatHeroEntity.heroMagicWeaponControl.AllMagicWeapon;                    int maxCount = combatHeroEntity.heroMagicWeaponControl.MagicWeaponCount;            if (maxCount > 0)            {                List<CombatMagicWeaponEntity> currAllMagicWeapon = new List<CombatMagicWeaponEntity>();                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<ILifetCycleHitPoint> cBetterList = new BetterList<ILifetCycleHitPoint>(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<ILifetCycleHitPoint>();        //     return lifetCycleHitPoints;        // }    }}
 |