| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 | using ET;using GFGGame;using System.Collections;using System.Collections.Generic;using UnityEngine;namespace Assets.Game.HotUpdate.Data{    public class ActivityTeaDataManager : SingletonBase<ActivityTeaDataManager>    {        public List<ItemSyntheticProto> ItemSynthetics = new List<ItemSyntheticProto>();        /**********************************************************新春活动*************************************************/        public List<NpcVisitProto> NpcInfoList = new List<NpcVisitProto>();        public bool GetRewardRed()        {            if (ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearVisit) == 0)            {                return false;            }            RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityVisitCfgArray.Instance.dataArray[0].limitId);            int time = limitData.TotalPlayMax - limitData.PlayTimes;            foreach (NpcVisitProto t in NpcInfoList)            {                if (t.RewrdStatus == 1 || (t.UnlockStatus == 1 && time>0 ))                {                    return true;                }            }            return false;        }        //获取华容道可用次数        public bool CheckHRDRed()        {            if (ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.AfternoonLeisure) == 0)            {                return false;            }            RoleLimitData limitData;            limitData = RoleLimitDataManager.GetLimitData(300);            int times = limitData.TotalPlayMax - limitData.PlayTimes;            if(times > 0)            {                //当有关卡没通过时                for (int i = 0; i < MiniGameDateManager.Instance.gameinfoList.Count; i++)                {                    if (MiniGameDateManager.Instance.gameinfoList[i].GameType == 3)                    {                        if (!MiniGameDateManager.Instance.gameinfoList[i].IsCleared)                        {                            return true;                        }                    }                }                return false;            }            else            {                return false;            }        }        //合成红点        public bool GetActivitySyntheticRed()        {            if (ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.ItemSynthetic) == 0)            {                return false;            }            var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.ItemSynthetic);            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);            var suitCfg = SuitCfgArray.Instance.GetCfg(activityOpenCfg.paramsArr[0]);            for (int i = 0; i < suitCfg.partsArr.Length; i++)            {                ItemCfg itemSyntheticCfg = ItemCfgArray.Instance.GetCfg(suitCfg.partsArr[i]);                var materiarsArr = itemSyntheticCfg.syntheticMateriarsArr;                if (ItemDataManager.GetItemNum(materiarsArr[0][0]) >= materiarsArr[0][1] && ItemDataManager.GetItemNum(materiarsArr[1][0]) >= materiarsArr[1][1] && ItemDataManager.GetItemNum(suitCfg.partsArr[i]) <= 0)                    return true;            }            return false;        }        //新年拜访任务红点        public bool CheckVisitTaskRed(int npcID = 0)        {            if (npcID == 0)            {                for (int i = 0; i < ActivityVisitCfgArray.Instance.dataArray.Length; i++)                {                    if ((NpcInfoList.Count > i) && NpcInfoList[i].UnlockStatus == 2)                    {                        foreach (int j in ActivityVisitCfgArray.Instance.dataArray[i].taskIdArr)                        {                            if (TaskDataManager.Instance.GetTaskStateById(j) == 1)                            {                                return true;                            }                        }                    }                }            }            else            {                foreach (int j in ActivityVisitCfgArray.Instance.GetCfg(npcID).taskIdArr)                {                    if (TaskDataManager.Instance.GetTaskStateById(j) == 1)                    {                        return true;                    }                }            }            return false;        }    }}
 |