| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 | using System;using System.Collections.Generic;using Excel2Json;using Fort23.Core;using Fort23.UTool;using GameLogic.Hero;using Utility;namespace Fort23.Mono{    public class RedDotData    {        /// <summary>        /// 具体Id        /// </summary>        public int Id;        /// <summary>        /// 红点组ID        /// </summary>        public int GroupId;        /// <summary>        /// 当前红点所属于层级 1级为最上层         /// </summary>        public int Layer;        /// <summary>        /// 是否已经激活        /// </summary>        private bool _isEnable;        public bool isEnable        {            get { return _isEnable; }            set { _isEnable = value; }        }        public int EnableId;        public void Update()        {            switch (GroupId)            {                //上阵的功法可以升级显示红点                case 1:                    isEnable = false;                    switch (EnableId)                     {                        case 0: //没有自己的红点逻辑根据下层红点来决定                            isEnable = RedDotManager.Instance.AllRedDotGroupData[GroupId].TargetLayerIsEnable(Layer);                            break;                        case 1:                            foreach (var _skillInfo in PlayerManager.Instance.GongFaControl.allUseSkill)                            {                                if (RedDotManager.Instance.isSkillUpgrade(_skillInfo))                                {                                    isEnable = true;                                    return;                                }                            }                            break;                    }                    break;                //境界升级                case 5:                     isEnable = false;                    switch (EnableId)                     {                        case 0: //没有自己的红点逻辑根据下层红点来决定                            isEnable = RedDotManager.Instance.AllRedDotGroupData[GroupId].TargetLayerIsEnable(Layer);                            break;                        case 1:                            int currentMiao =                                (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) /                                      1000);                            float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;                            if (PlayerManager.Instance.myHero.heroData.exp + allexp <                                PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)                            {                                isEnable = false;                                return;                            }                            int redDotID = 5;                            AccountFileInfo.RedDot redDot = RedDotManager.Instance.GetRedDot(redDotID);                            HeroInfo heroInfo = PlayerManager.Instance.myHero.CopyHero();                            heroInfo.InitHero(PlayerManager.Instance.myHero.heroData.heroModelId,                                PlayerManager.Instance.myHero.heroData.heroPowerId + 1);                            if (PlayerManager.Instance.myHero.powerUpConfig.jingjie1 == heroInfo.powerUpConfig.jingjie1)                            {                                //小突破                                if (PlayerManager.Instance.myHero.powerUpConfig.jingjie2 ==                                    heroInfo.powerUpConfig.jingjie2)                                {                                    isEnable = true;                                    return;                                }                                //大突破                                else                                {                                    for (var i = 0;                                         i < PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs.Length;                                         i++)                                    {                                        if (!PlayerManager.Instance.BagController.IsEnough(                                                PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs[i], 1))                                        {                                            isEnable = false;                                            return;                                        }                                    }                                    //当前升级已经查看了也不显示红点                                    if (redDot != null &&                                        redDot.Params.Contains(                                            PlayerManager.Instance.myHero.powerUpConfig.ID.ToString()))                                    {                                        isEnable = false;                                        return;                                    }                                }                            }                            //渡劫                            else                            {                                for (var i = 0;                                     i < PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs.Length;                                     i++)                                {                                    if (!PlayerManager.Instance.BagController.IsEnough(                                            PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs[i], 1))                                    {                                        isEnable = false;                                        return;                                    }                                }                                //当前升级已经查看了也不显示红点                                if (redDot != null &&                                    redDot.Params.Contains(PlayerManager.Instance.myHero.powerUpConfig.ID.ToString()))                                {                                    isEnable = false;                                    return;                                }                            }                            isEnable = true;                            break;                    }                    break;                case 7: //具上的代金卷可以免费抽                    isEnable = false;                    switch (EnableId) //具体出现条件                    {                        case 0: //没有自己的红点逻辑根据下层红点来决定                            isEnable = RedDotManager.Instance.AllRedDotGroupData[GroupId].TargetLayerIsEnable(Layer);                            break;                        case 1:                            AccountFileInfo.SummonData summonData =                                PlayerManager.Instance.SummonManager.summonDataMap[1];                            OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(1);                            //有免费次数,并且让到时间了就免费抽                            if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] &&                                PlayerManager.Instance.serverTime >= summonData.nextTenFreeTime)                            {                                isEnable = true;                                return;                            }                            isEnable = false;                            break;                    }                    break;                case 8: //法宝可以升级或者有新槽位                    isEnable = false;                    switch (EnableId) //具体出现条件                    {                        case 0: //没有自己的红点逻辑根据下层红点来决定                            isEnable = RedDotManager.Instance.AllRedDotGroupData[GroupId].TargetLayerIsEnable(Layer);                            break;                        case 1:                            for (int i = 0; i < 4; i++)                            {                                FaBaoInfo faBaoInfo = PlayerManager.Instance.FaBaoControl.FightFaBao[i];                                if (RedDotManager.Instance.IsFabaoUpgrade1(i, faBaoInfo))                                {                                    isEnable = true;                                    return;                                }                            }                            break;                    }                    break;                case 11: //挂机奖励大于300分钟                    isEnable = false;                    switch (EnableId) //具体出现条件                    {                        case 0: //没有自己的红点逻辑根据下层红点来决定                            isEnable = RedDotManager.Instance.AllRedDotGroupData[GroupId].TargetLayerIsEnable(Layer);                            break;                        case 1:                            if (AccountFileInfo.Instance.playerData.QiankundaiLingQuAwardTime == 0)                            {                                isEnable = true;                                return;                            }                            int miao = (int)((PlayerManager.Instance.serverTime -                                              AccountFileInfo.Instance.playerData.QiankundaiLingQuAwardTime) / 1000);                            if (miao >= 300)                            {                                isEnable = true;                            }                            break;                    }                    break;            }        }    }}
 |