Ejemplo n.º 1
0
        public void ResetDungeonInfoDictionary(int lastDungeonId, List <int> getRewardDungeonIds)
        {
            //
            List <ExpeditionDungeonInfo> infoList = DungeonInfoDictionary.GetValues();
            int count = infoList.Count;
            //ExpeditionData data;
            ExpeditionDungeonInfo info;

            for (int i = 0; i < count; i++)
            {
                info = infoList[i];
                info.SetFinished(info.id <= lastDungeonId);
                info.SetUnlocked(info.id <= lastDungeonId);
                info.SetGetReward(info.id <= lastDungeonId);
            }
            //unlock
            if (lastDungeonId == -1)
            {
                ExpeditionData firstData = ExpeditionData.ExpeditionDataDictionary.First().Value;
                CurrentExpeditionDungeonId = firstData.id;
                DungeonInfoDictionary[firstData.id].SetUnlocked(true);
            }
            else
            {
                ExpeditionData nextData = ExpeditionData.GetNextExpeditionData(lastDungeonId);
                if (nextData != null)
                {
                    CurrentExpeditionDungeonId = nextData.id;
                    DungeonInfoDictionary[nextData.id].SetUnlocked(true);
                    if (nextData.type != (int)ExpeditionDungeonType.Expedition_Normal)
                    {
                        DungeonInfoDictionary[nextData.id].SetFinished(true);
                    }
                }
                else
                {
                    CurrentExpeditionDungeonId = lastDungeonId;
                }
            }
            //reward
            if (getRewardDungeonIds != null)
            {
                count = getRewardDungeonIds.Count;
                int rewardId;
                for (int i = 0; i < count; i++)
                {
                    rewardId = getRewardDungeonIds[i];
                    if (DungeonInfoDictionary.ContainsKey(rewardId))
                    {
                        DungeonInfoDictionary[rewardId].SetGetReward(true);
                    }
                }
            }

            if (onUpdateResetSucDelegate != null)
            {
                onUpdateResetSucDelegate();
            }
        }
Ejemplo n.º 2
0
 public void Set(int dataid, bool isFinished, bool isGetReward, bool isUnlocked)
 {
     id               = dataid;
     data             = ExpeditionData.GetExpeditionDataByID(dataid);
     this.isFinished  = isFinished;
     this.isGetReward = isGetReward;
     this.isUnlocked  = isUnlocked;
 }
Ejemplo n.º 3
0
        public static ExpeditionData GetNextExpeditionData(int curId)
        {
            List <int>     keys   = ExpeditionDataDictionary.GetKeys();
            ExpeditionData data   = null;
            bool           isNext = false;
            int            id;

            for (int i = 0, count = keys.Count; i < count; i++)
            {
                id = keys[i];
                if (isNext)
                {
                    data = ExpeditionDataDictionary[id];
                    break;
                }

                if (curId == id)
                {
                    isNext = true;
                }
            }
            return(data);
        }