Пример #1
0
        public bool CalcNextRewardNode(int startIndex, out int nextlistIndex, out LevelRewardData nextData)
        {
            nextlistIndex = 0;
            nextData      = null;
            ListView <LevelRewardData> levelRewardDataMap = Singleton <CTaskSys> .get_instance().model.m_levelRewardDataMap;

            for (int i = startIndex + 1; i < levelRewardDataMap.get_Count(); i++)
            {
                LevelRewardData levelRewardData = levelRewardDataMap.get_Item(i);
                if (levelRewardData != null && this.IsLevelNode_RedDot(levelRewardData))
                {
                    nextlistIndex = i;
                    nextData      = levelRewardData;
                    return(true);
                }
            }
            for (int j = 0; j < startIndex; j++)
            {
                LevelRewardData levelRewardData2 = levelRewardDataMap.get_Item(j);
                if (levelRewardData2 != null && this.IsLevelNode_RedDot(levelRewardData2))
                {
                    nextlistIndex = j;
                    nextData      = levelRewardData2;
                    return(true);
                }
            }
            return(false);
        }
Пример #2
0
        private void OnTask_ClickLevelNode(CUIEvent uievent)
        {
            int             srcWidgetIndexInBelongedList = uievent.m_srcWidgetIndexInBelongedList;
            LevelRewardData data = this.model.GetLevelRewardData_ByIndex(srcWidgetIndexInBelongedList);

            if ((data != null) && (this.model.curLevelRewardData != data))
            {
                this.model.curLevelRewardData = data;
            }
        }
Пример #3
0
 public int GetLevelIndex(int level)
 {
     for (int i = 0; i < this.m_levelRewardDataMap.Count; i++)
     {
         LevelRewardData data = this.m_levelRewardDataMap[i];
         if (data.m_level == level)
         {
             return(i);
         }
     }
     return(-1);
 }
Пример #4
0
 public LevelRewardData GetLevelRewardData(int level)
 {
     for (int i = 0; i < this.m_levelRewardDataMap.get_Count(); i++)
     {
         LevelRewardData levelRewardData = this.m_levelRewardDataMap.get_Item(i);
         if (levelRewardData != null && levelRewardData.m_level == level)
         {
             return(levelRewardData);
         }
     }
     return(null);
 }
Пример #5
0
 public int GetLevelIndex(int level)
 {
     for (int i = 0; i < this.m_levelRewardDataMap.get_Count(); i++)
     {
         LevelRewardData levelRewardData = this.m_levelRewardDataMap.get_Item(i);
         if (levelRewardData.m_level == level)
         {
             return(i);
         }
     }
     return(-1);
 }
Пример #6
0
 public bool IsShowMainTaskTab_RedDotCount()
 {
     for (int i = 0; i < this.m_levelRewardDataMap.get_Count(); i++)
     {
         LevelRewardData levelRewardData = this.m_levelRewardDataMap.get_Item(i);
         if (levelRewardData != null && this.IsLevelNode_RedDot(levelRewardData))
         {
             return(true);
         }
     }
     return(false);
 }
Пример #7
0
 public bool IsEqual(LevelRewardData data)
 {
     if (data == null)
     {
         return(false);
     }
     if (this.m_resLevelReward != null && data.m_resLevelReward != null)
     {
         return(this.m_resLevelReward.iLevel == data.m_resLevelReward.iLevel && this.m_level == data.m_level);
     }
     return(this.m_resLevelReward == null && data.m_resLevelReward == null && this.m_level == data.m_level);
 }
Пример #8
0
        public LevelRewardData GetLevelRewardData(int level)
        {
            LevelRewardData data = null;

            for (int i = 0; i < this.m_levelRewardDataMap.Count; i++)
            {
                data = this.m_levelRewardDataMap[i];
                if ((data != null) && (data.m_level == level))
                {
                    return(data);
                }
            }
            return(null);
        }
Пример #9
0
 public void ParseLevelRewardData()
 {
     Dictionary <long, object> .Enumerator enumerator = GameDataMgr.resPvpLevelRewardDatabin.GetEnumerator();
     while (enumerator.MoveNext())
     {
         KeyValuePair <long, object> current           = enumerator.get_Current();
         ResPvpLevelReward           resPvpLevelReward = (ResPvpLevelReward)current.get_Value();
         if (resPvpLevelReward != null)
         {
             if (this.GetLevelRewardData(resPvpLevelReward.iLevel) == null)
             {
                 LevelRewardData levelRewardData = new LevelRewardData();
                 levelRewardData.m_level          = resPvpLevelReward.iLevel;
                 levelRewardData.m_resLevelReward = resPvpLevelReward;
                 DebugHelper.Assert(resPvpLevelReward.astLockInfo.Length <= 2, "ParseLevelRewardData 等级奖励配置表配 解锁数量不该超过2个, 翔哥 check out...");
                 for (int i = 0; i < resPvpLevelReward.astLockInfo.Length; i++)
                 {
                     ResDT_LevelReward_UnlockInfo resDT_LevelReward_UnlockInfo = resPvpLevelReward.astLockInfo[i];
                     if (resDT_LevelReward_UnlockInfo != null)
                     {
                         levelRewardData.astLockInfo[i] = resDT_LevelReward_UnlockInfo;
                     }
                 }
                 this.m_levelRewardDataMap.Add(levelRewardData);
             }
         }
     }
     Dictionary <long, object> .Enumerator enumerator2 = GameDataMgr.taskDatabin.GetEnumerator();
     while (enumerator2.MoveNext())
     {
         KeyValuePair <long, object> current2 = enumerator2.get_Current();
         ResTask resTask = (ResTask)current2.get_Value();
         if (resTask != null)
         {
             if (resTask.dwOpenType == 2u)
             {
                 int             iParam           = resTask.astOpenTaskParam[0].iParam;
                 LevelRewardData levelRewardData2 = this.GetLevelRewardData(iParam);
                 if (levelRewardData2 != null && levelRewardData2.GetResTaskIDIndex(resTask.dwTaskID) == -1)
                 {
                     int fristNullResTaskIndex = levelRewardData2.GetFristNullResTaskIndex();
                     if (fristNullResTaskIndex != -1)
                     {
                         levelRewardData2.task_ids[fristNullResTaskIndex] = resTask;
                     }
                 }
             }
         }
     }
 }
Пример #10
0
        private void OnTask_ClickLevelNode(CUIEvent uievent)
        {
            int             srcWidgetIndexInBelongedList = uievent.m_srcWidgetIndexInBelongedList;
            LevelRewardData levelRewardData_ByIndex      = this.model.GetLevelRewardData_ByIndex(srcWidgetIndexInBelongedList);

            if (levelRewardData_ByIndex == null)
            {
                return;
            }
            if (this.model.curLevelRewardData != levelRewardData_ByIndex)
            {
                this.model.curLevelRewardData = levelRewardData_ByIndex;
            }
        }
Пример #11
0
 public void ParseLevelRewardData()
 {
     Dictionary <long, object> .Enumerator enumerator = GameDataMgr.resPvpLevelRewardDatabin.GetEnumerator();
     while (enumerator.MoveNext())
     {
         KeyValuePair <long, object> current = enumerator.Current;
         ResPvpLevelReward           reward  = (ResPvpLevelReward)current.Value;
         if (reward != null)
         {
             LevelRewardData item = null;
             if (this.GetLevelRewardData(reward.iLevel) == null)
             {
                 item = new LevelRewardData {
                     m_level          = reward.iLevel,
                     m_resLevelReward = reward
                 };
                 DebugHelper.Assert(reward.astLockInfo.Length <= 2, "ParseLevelRewardData 等级奖励配置表配 解锁数量不该超过2个, 翔哥 check out...");
                 for (int i = 0; i < reward.astLockInfo.Length; i++)
                 {
                     ResDT_LevelReward_UnlockInfo info = reward.astLockInfo[i];
                     if (info != null)
                     {
                         item.astLockInfo[i] = info;
                     }
                 }
                 this.m_levelRewardDataMap.Add(item);
             }
         }
     }
     Dictionary <long, object> .Enumerator enumerator2 = GameDataMgr.taskDatabin.GetEnumerator();
     while (enumerator2.MoveNext())
     {
         KeyValuePair <long, object> pair2 = enumerator2.Current;
         ResTask task = (ResTask)pair2.Value;
         if ((task != null) && (task.dwOpenType == 2))
         {
             int             iParam          = task.astOpenTaskParam[0].iParam;
             LevelRewardData levelRewardData = this.GetLevelRewardData(iParam);
             if ((levelRewardData != null) && (levelRewardData.GetResTaskIDIndex(task.dwTaskID) == -1))
             {
                 int fristNullResTaskIndex = levelRewardData.GetFristNullResTaskIndex();
                 if (fristNullResTaskIndex != -1)
                 {
                     levelRewardData.task_ids[fristNullResTaskIndex] = task;
                 }
             }
         }
     }
 }
Пример #12
0
 public void SyncServerLevelRewardFlagData(ulong num)
 {
     this.m_levelRewardFlag = num;
     for (int i = 0; i < this.m_levelRewardDataMap.get_Count(); i++)
     {
         LevelRewardData levelRewardData = this.m_levelRewardDataMap.get_Item(i);
         if (levelRewardData != null)
         {
             levelRewardData.m_bHasGetReward = this.IsGetLevelReward(this.m_levelRewardFlag, levelRewardData.m_level);
             if (levelRewardData.m_bHasGetReward)
             {
             }
         }
     }
 }
Пример #13
0
 public int GetLevelRewardData_Index(LevelRewardData data)
 {
     if (data != null)
     {
         for (int i = 0; i < this.m_levelRewardDataMap.Count; i++)
         {
             LevelRewardData data2 = this.m_levelRewardDataMap[i];
             if (data2 == data)
             {
                 return(i);
             }
         }
     }
     return(-1);
 }
Пример #14
0
 public bool IsLevelNode_RedDot(LevelRewardData levelRewardData)
 {
     if (levelRewardData != null)
     {
         bool flag = false;
         if (!Singleton <CTaskSys> .get_instance().model.IsGetLevelReward(levelRewardData.m_level) && (ulong)Singleton <CRoleInfoManager> .get_instance().GetMasterRoleInfo().PvpLevel >= (ulong)((long)levelRewardData.m_level))
         {
             flag = true;
         }
         if (flag || levelRewardData.GetHaveDoneTaskCount() > 0)
         {
             return(true);
         }
     }
     return(false);
 }
Пример #15
0
 public int GetLevelRewardData_Index(LevelRewardData data)
 {
     if (data == null)
     {
         return(-1);
     }
     for (int i = 0; i < this.m_levelRewardDataMap.get_Count(); i++)
     {
         LevelRewardData levelRewardData = this.m_levelRewardDataMap.get_Item(i);
         if (levelRewardData == data)
         {
             return(i);
         }
     }
     return(-1);
 }
Пример #16
0
 private void OnTask_JumpToReward(CUIEvent uievent)
 {
     if ((this.m_taskView != null) && (this.model.curLevelRewardData != null))
     {
         int levelIndex = this.model.GetLevelIndex(this.model.curLevelRewardData.m_level);
         if (levelIndex != -1)
         {
             int             nextlistIndex = 0;
             LevelRewardData nextData      = null;
             if (this.model.CalcNextRewardNode(levelIndex, out nextlistIndex, out nextData))
             {
                 this.model.curLevelRewardData = nextData;
             }
         }
     }
 }
Пример #17
0
        public void SyncServerLevelRewardFlagData(ulong num)
        {
            this.m_levelRewardFlag = num;
            LevelRewardData data = null;

            for (int i = 0; i < this.m_levelRewardDataMap.Count; i++)
            {
                data = this.m_levelRewardDataMap[i];
                if (data != null)
                {
                    data.m_bHasGetReward = this.IsGetLevelReward(this.m_levelRewardFlag, data.m_level);
                    if (!data.m_bHasGetReward)
                    {
                    }
                }
            }
        }
Пример #18
0
 private void OnTask_JumpToReward(CUIEvent uievent)
 {
     if (this.m_taskView != null)
     {
         if (this.model.curLevelRewardData == null)
         {
             return;
         }
         int levelIndex = this.model.GetLevelIndex(this.model.curLevelRewardData.m_level);
         if (levelIndex == -1)
         {
             return;
         }
         int             num = 0;
         LevelRewardData curLevelRewardData = null;
         if (!this.model.CalcNextRewardNode(levelIndex, out num, out curLevelRewardData))
         {
             return;
         }
         this.model.curLevelRewardData = curLevelRewardData;
     }
 }
Пример #19
0
        public int GetMainTask_RedDotCount()
        {
            int num = 0;

            for (int i = 0; i < this.m_levelRewardDataMap.Count; i++)
            {
                LevelRewardData data = this.m_levelRewardDataMap[i];
                if (data != null)
                {
                    bool flag = false;
                    if (!Singleton <CTaskSys> .instance.model.IsGetLevelReward(data.m_level) && (Singleton <CRoleInfoManager> .instance.GetMasterRoleInfo().PvpLevel >= data.m_level))
                    {
                        flag = true;
                    }
                    if (flag || (data.GetHaveDoneTaskCount() > 0))
                    {
                        num++;
                    }
                }
            }
            return(num);
        }
Пример #20
0
        public int GetMainTask_RedDotCount()
        {
            int num = 0;

            for (int i = 0; i < this.m_levelRewardDataMap.get_Count(); i++)
            {
                LevelRewardData levelRewardData = this.m_levelRewardDataMap.get_Item(i);
                if (levelRewardData != null)
                {
                    bool flag = false;
                    if (!Singleton <CTaskSys> .get_instance().model.IsGetLevelReward(levelRewardData.m_level) && (ulong)Singleton <CRoleInfoManager> .get_instance().GetMasterRoleInfo().PvpLevel >= (ulong)((long)levelRewardData.m_level))
                    {
                        flag = true;
                    }
                    if (flag || levelRewardData.GetHaveDoneTaskCount() > 0)
                    {
                        num++;
                    }
                }
            }
            return(num);
        }