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 { /// /// 具体Id /// public int Id; /// /// 红点组ID /// public int GroupId; /// /// 当前红点所属于层级 1级为最上层 /// public int Layer; /// /// 是否已经激活 /// 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: var _skillPowerupConfigs = ConfigComponent.Instance.GetAll(); foreach (var _skillInfo in PlayerManager.Instance.GongFaControl.allSkill) { 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; } 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(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: //具体组 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; } } } }