Пример #1
0
 public static void ShowTaskAward(CUIFormScript formScript, ResTask task, GameObject awardContainer)
 {
     if (((formScript != null) && (awardContainer != null)) && ((task != null) && (task.dwTaskID != 0)))
     {
         ResTaskReward dataByKey = GameDataMgr.taskRewardDatabin.GetDataByKey(task.dwRewardID);
         if (dataByKey != null)
         {
             for (int i = 0; i < dataByKey.astRewardInfo.Length; i++)
             {
                 ResTaskRewardDetail detail    = dataByKey.astRewardInfo[i];
                 Transform           transform = awardContainer.transform.FindChild(string.Format("itemCell{0}", i));
                 if (transform != null)
                 {
                     GameObject gameObject = transform.gameObject;
                     if (gameObject != null)
                     {
                         if ((detail != null) && (detail.iCnt > 0))
                         {
                             CUseable itemUseable = CUseableManager.CreateUsableByServerType((RES_REWARDS_TYPE)detail.dwRewardType, detail.iCnt, detail.dwRewardID);
                             CUICommonSystem.SetItemCell(formScript, gameObject, itemUseable, true, false);
                             gameObject.transform.FindChild("lblIconCount").GetComponent <Text>().text = string.Format("x{0}", detail.iCnt.ToString());
                             gameObject.gameObject.CustomSetActive(true);
                         }
                         else
                         {
                             gameObject.CustomSetActive(false);
                         }
                     }
                 }
             }
         }
     }
 }
Пример #2
0
 public CTask(uint id, ResTask task)
 {
     DebugHelper.Assert((id > 0) && (task != null));
     this.m_resTask = task;
     if (this.m_resTask != null)
     {
         this.m_baseId    = id;
         this.m_taskState = 0;
         this.m_taskType  = this.m_resTask.dwTaskType;
         this.m_preTaskId = this.m_resTask.dwPreTaskID;
         for (int i = 0; i < this.m_resTask.astPrerequisiteArray.Length; i++)
         {
             if (this.m_resTask.astPrerequisiteArray[i].astPrerequisiteParam[0].iParam > 0)
             {
                 this.m_prerequisiteInfo[i].m_value         = 0;
                 this.m_prerequisiteInfo[i].m_valueTarget   = this.m_resTask.astPrerequisiteArray[i].astPrerequisiteParam[0].iParam;
                 this.m_prerequisiteInfo[i].m_isReach       = false;
                 this.m_prerequisiteInfo[i].m_conditionType = this.m_resTask.astPrerequisiteArray[i].dwPrerequisiteType;
             }
         }
         this.m_taskTitle = Utility.UTF8Convert(this.m_resTask.szTaskName);
         this.m_taskDesc  = Utility.UTF8Convert(this.m_resTask.szTaskDesc);
         this.m_taskIcon  = Utility.UTF8Convert(this.m_resTask.szTaskIcon);
         this.m_rewardId  = this.m_resTask.dwRewardID;
         if (this.m_rewardId != 0)
         {
             this.resAward = GameDataMgr.taskRewardDatabin.GetDataByKey(this.m_rewardId);
             if (this.resAward != null)
             {
             }
         }
     }
 }
Пример #3
0
 public bool IsHasCltCalcCompeletedTask()
 {
     for (int i = 0; i < this.task_ids.Length; i++)
     {
         ResTask resTask = this.task_ids[i];
         if (resTask != null && Singleton <CTaskSys> .instance.model.IsInCltCalcCompletedTasks(resTask.dwTaskID))
         {
             return(true);
         }
     }
     return(false);
 }
Пример #4
0
 public int GetResTaskIDIndex(uint id)
 {
     for (int i = 0; i < this.task_ids.Length; i++)
     {
         ResTask resTask = this.task_ids[i];
         if (resTask != null && resTask.dwTaskID == id)
         {
             return(i);
         }
     }
     return(-1);
 }
Пример #5
0
 public bool IsAllLevelTask()
 {
     for (int i = 0; i < this.task_ids.Length; i++)
     {
         ResTask resTask = this.task_ids[i];
         if (resTask != null && resTask != null && resTask.bTaskSubType != 0)
         {
             return(false);
         }
     }
     return(true);
 }
Пример #6
0
        public static CTask Create_Task(uint taskid)
        {
            if (taskid == 0u)
            {
                return(null);
            }
            ResTask dataByKey = GameDataMgr.taskDatabin.GetDataByKey(taskid);

            if (dataByKey == null)
            {
                return(null);
            }
            return(new CTask(taskid, dataByKey));
        }
Пример #7
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;
                     }
                 }
             }
         }
     }
 }
Пример #8
0
 public void Load_Share_task()
 {
     Dictionary <long, object> .Enumerator enumerator = GameDataMgr.taskDatabin.GetEnumerator();
     while (enumerator.MoveNext())
     {
         KeyValuePair <long, object> current = enumerator.Current;
         ResTask task = (ResTask)current.Value;
         if (task.astPrerequisiteArray[0].dwPrerequisiteType == 0x13)
         {
             this.share_task_id = task.dwTaskID;
             break;
         }
     }
 }
Пример #9
0
        public int GetValidTaskCount()
        {
            int num = 0;

            for (int i = 0; i < this.task_ids.Length; i++)
            {
                ResTask task = this.task_ids[i];
                if ((task != null) && (Singleton <CTaskSys> .instance.model.GetTask(task.dwTaskID) != null))
                {
                    num++;
                }
            }
            return(num);
        }
Пример #10
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;
                 }
             }
         }
     }
 }
Пример #11
0
 public void Load_Share_task()
 {
     Dictionary <long, object> .Enumerator enumerator = GameDataMgr.taskDatabin.GetEnumerator();
     while (enumerator.MoveNext())
     {
         KeyValuePair <long, object> current = enumerator.get_Current();
         ResTask resTask = (ResTask)current.get_Value();
         bool    flag    = resTask.astPrerequisiteArray[0].dwPrerequisiteType == 19u;
         if (flag)
         {
             this.share_task_id = resTask.dwTaskID;
             break;
         }
     }
 }
Пример #12
0
 public void ShowTask(ResTask task, CUIFormScript fromScript)
 {
     if (task == null || fromScript == null)
     {
         return;
     }
     this.taskID = task.dwTaskID;
     if (this.taskTitle != null)
     {
         this.taskTitle.text = task.szTaskName;
     }
     if (this.taskDesc != null)
     {
         this.taskDesc.text = task.szTaskDesc;
     }
     this.taskIcon_back.CustomSetActive(true);
     this.taskIcon_front.CustomSetActive(true);
     if (task.bTaskIconShowType == 0)
     {
         this.taskIcon_front.GetComponent <Image>().enabled = false;
         this.taskIcon_back.GetComponent <Image>().enabled  = true;
         this.taskIcon_back.GetComponent <Image>().SetSprite(task.szTaskBgIcon, fromScript, true, false, false, false);
     }
     else if (task.bTaskIconShowType == 1)
     {
         this.taskIcon_back.GetComponent <Image>().enabled  = false;
         this.taskIcon_front.GetComponent <Image>().enabled = true;
         this.taskIcon_front.GetComponent <Image>().SetSprite(task.szTaskIcon, fromScript, true, false, false, false);
     }
     else
     {
         this.taskIcon_back.GetComponent <Image>().enabled  = true;
         this.taskIcon_front.GetComponent <Image>().enabled = true;
         this.taskIcon_back.GetComponent <Image>().SetSprite(task.szTaskBgIcon, fromScript, true, false, false, false);
         this.taskIcon_front.GetComponent <Image>().SetSprite(task.szTaskIcon, fromScript, true, false, false, false);
     }
     this.progressObj.CustomSetActive(false);
     this.progress.gameObject.CustomSetActive(false);
     this.award_obj.CustomSetActive(false);
     this.goto_obj.CustomSetActive(false);
     this.has_finish.CustomSetActive(true);
     CTaskView.CTaskUT.ShowTaskAward(fromScript, task, this.m_awardContainer);
 }
Пример #13
0
        public int GetValidTaskCount()
        {
            int num = 0;

            for (int i = 0; i < this.task_ids.Length; i++)
            {
                ResTask resTask = this.task_ids[i];
                if (resTask != null)
                {
                    CTask task = Singleton <CTaskSys> .get_instance().model.GetTask(resTask.dwTaskID);

                    if (task != null)
                    {
                        num++;
                    }
                }
            }
            return(num);
        }
Пример #14
0
        public int GetHaveDoneTaskCount()
        {
            int num = 0;

            for (int i = 0; i < this.task_ids.Length; i++)
            {
                ResTask resTask = this.task_ids[i];
                if (resTask != null)
                {
                    CTask task = Singleton <CTaskSys> .instance.model.GetTask(resTask.dwTaskID);

                    if (task != null && task.m_taskSubType != 0 && task.m_taskState == 1)
                    {
                        num++;
                    }
                }
            }
            return(num);
        }
Пример #15
0
        public void OnLinkPveClick(CUIEvent uiEvent)
        {
            uint taskId = uiEvent.m_eventParams.taskId;

            uiEvent.m_eventID = enUIEventID.Adv_OpenChapterForm;
            ResTask dataByKey = GameDataMgr.taskDatabin.GetDataByKey(taskId);
            int     num       = 0;

            for (int i = 0; i < dataByKey.astPrerequisiteArray.Length; i++)
            {
                if (dataByKey.astPrerequisiteArray[i].dwPrerequisiteType == 2u)
                {
                    num = dataByKey.astPrerequisiteArray[i].astPrerequisiteParam[1].iParam;
                    break;
                }
            }
            if (num == 0)
            {
                Singleton <CAdventureSys> .get_instance().currentChapter = 1;

                Singleton <CAdventureSys> .get_instance().currentLevelSeq = 1;

                Singleton <CAdventureSys> .get_instance().currentDifficulty = 1;

                Singleton <CUIEventManager> .GetInstance().DispatchUIEvent(uiEvent);
            }
            else
            {
                ResLevelCfgInfo dataByKey2 = GameDataMgr.levelDatabin.GetDataByKey((long)num);
                DebugHelper.Assert(dataByKey2 != null);
                if (dataByKey2 != null)
                {
                    Singleton <CAdventureSys> .get_instance().currentChapter = dataByKey2.iChapterId;

                    Singleton <CAdventureSys> .get_instance().currentLevelSeq = (int)dataByKey2.bLevelNo;

                    Singleton <CAdventureSys> .get_instance().currentDifficulty = uiEvent.m_eventParams.tag;

                    Singleton <CUIEventManager> .GetInstance().DispatchUIEvent(uiEvent);
                }
            }
        }
Пример #16
0
        public static void ShowTaskAward(CUIFormScript formScript, ResTask task, GameObject awardContainer)
        {
            if (formScript == null || awardContainer == null || task == null || task.dwTaskID == 0u)
            {
                return;
            }
            ResTaskReward dataByKey = GameDataMgr.taskRewardDatabin.GetDataByKey(task.dwRewardID);

            if (dataByKey == null)
            {
                return;
            }
            for (int i = 0; i < dataByKey.astRewardInfo.Length; i++)
            {
                ResTaskRewardDetail resTaskRewardDetail = dataByKey.astRewardInfo[i];
                Transform           transform           = awardContainer.transform.FindChild(string.Format("itemCell{0}", i));
                if (!(transform == null))
                {
                    GameObject gameObject = transform.gameObject;
                    if (!(gameObject == null))
                    {
                        if (resTaskRewardDetail != null && resTaskRewardDetail.iCnt > 0)
                        {
                            RES_REWARDS_TYPE dwRewardType = (RES_REWARDS_TYPE)resTaskRewardDetail.dwRewardType;
                            CUseable         itemUseable  = CUseableManager.CreateUsableByServerType(dwRewardType, resTaskRewardDetail.iCnt, resTaskRewardDetail.dwRewardID);
                            CUICommonSystem.SetItemCell(formScript, gameObject, itemUseable, true, false, false, false);
                            gameObject.transform.FindChild("lblIconCount").GetComponent <Text>().set_text(string.Format("x{0}", resTaskRewardDetail.iCnt.ToString()));
                            gameObject.gameObject.CustomSetActive(true);
                        }
                        else
                        {
                            gameObject.CustomSetActive(false);
                        }
                    }
                }
            }
        }
Пример #17
0
        public void ParseCltCalcCompletedTasks(ref uint[] taskids)
        {
            this.maxCfgTudiTaskID   = 0u;
            this.maxCfgMasterTaskID = 0u;
            this.maxTaskIds         = new uint[taskids.Length];
            for (int i = 0; i < taskids.Length; i++)
            {
                this.maxTaskIds[i] = taskids[i];
            }
            Dictionary <int, List <uint> > .Enumerator enumerator = this.m_cltCalcCompletedTasks.GetEnumerator();
            while (enumerator.MoveNext())
            {
                KeyValuePair <int, List <uint> > current = enumerator.get_Current();
                List <uint> value = current.get_Value();
                if (value != null)
                {
                    value.Clear();
                }
            }
            this.m_cltCalcCompletedTasks.Clear();
            Dictionary <byte, uint> dictionary = new Dictionary <byte, uint>();

            for (int j = 0; j < taskids.Length; j++)
            {
                uint num = taskids[j];
                if (num != 0u)
                {
                    ResTask dataByKey = GameDataMgr.taskDatabin.GetDataByKey(num);
                    DebugHelper.Assert(dataByKey != null, "ParseCltCalcCompletedTasks, taskDatabin.GetDataByKey({0}) is null", new object[]
                    {
                        num
                    });
                    if (dataByKey != null)
                    {
                        if (dictionary.ContainsKey(dataByKey.bTaskSubType))
                        {
                            if (num < dictionary.get_Item(dataByKey.bTaskSubType))
                            {
                                dictionary.set_Item(dataByKey.bTaskSubType, num);
                            }
                        }
                        else
                        {
                            dictionary.Add(dataByKey.bTaskSubType, num);
                        }
                    }
                }
            }
            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.dwTaskType == 0u)
                    {
                        if (dictionary.ContainsKey(resTask.bTaskSubType) && resTask.dwTaskID < dictionary.get_Item(resTask.bTaskSubType))
                        {
                            this.InsertCltCalcCompletedTasks(resTask.dwTaskID, (int)resTask.bTaskSubType);
                        }
                        if (resTask.bTaskSubType == 3 && resTask.dwTaskID > this.maxCfgMasterTaskID)
                        {
                            this.maxCfgMasterTaskID = resTask.dwTaskID;
                        }
                        if (resTask.bTaskSubType == 4 && resTask.dwTaskID > this.maxCfgTudiTaskID)
                        {
                            this.maxCfgTudiTaskID = resTask.dwTaskID;
                        }
                    }
                }
            }
            Dictionary <byte, uint> .Enumerator enumerator3 = dictionary.GetEnumerator();
            while (enumerator3.MoveNext())
            {
                KeyValuePair <byte, uint> current3 = enumerator3.get_Current();
                if (this.GetTask(current3.get_Value()) == null)
                {
                    DatabinTable <ResTask, uint> arg_25E_0 = GameDataMgr.taskDatabin;
                    KeyValuePair <byte, uint>    current4  = enumerator3.get_Current();
                    ResTask dataByKey2 = arg_25E_0.GetDataByKey(current4.get_Value());
                    this.InsertCltCalcCompletedTasks(dataByKey2.dwTaskID, (int)dataByKey2.bTaskSubType);
                }
            }
        }
Пример #18
0
    private void ShowLevelTask(LevelRewardData levelRewardData)
    {
        if (levelRewardData != null)
        {
            bool flag  = levelRewardData.IsConfigTaskAllEmpty();
            bool flag2 = levelRewardData.GetValidTaskCount() > 0;
            bool flag3 = levelRewardData.IsAllLevelTask();
            if ((flag || !flag2) || flag3)
            {
                this.m_emptyTaskNode.CustomSetActive(true);
                this.m_normalTaskNode.CustomSetActive(false);
                Text component = this.m_CUIForm.transform.Find("node/list_node_main/task_node/noTask/Text").GetComponent <Text>();
                if (component != null)
                {
                    string text = string.Empty;
                    if (flag)
                    {
                        text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_None");
                    }
                    if (!flag2)
                    {
                        text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_NoGetTask");
                    }
                    if (flag3)
                    {
                        if (levelRewardData.m_level >= LevelValue)
                        {
                            text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_Up21");
                        }
                        else
                        {
                            text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_AllLevelTask");
                        }
                    }
                    component.text = text;
                }
            }
            else
            {
                this.m_emptyTaskNode.CustomSetActive(false);
                this.m_normalTaskNode.CustomSetActive(true);
                Text text2 = this.m_CUIForm.transform.Find("node/list_node_main/task_node/normal/Text").GetComponent <Text>();
                if (text2 != null)
                {
                    string[] args = new string[] { levelRewardData.m_level.ToString() };
                    text2.text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_Normal", args);
                }
                int num = 0;
                for (int i = 0; i < levelRewardData.task_ids.Length; i++)
                {
                    ResTask task = levelRewardData.task_ids[i];
                    if (task != null)
                    {
                        CTask task2 = Singleton <CTaskSys> .instance.model.GetTask(task.dwTaskID);

                        bool flag4 = (task2 != null) && (task2.m_resTask.bTaskSubType == 0);
                        bool flag5 = task2 != null;
                        bool flag6 = false;
                        if (!flag5 && (task != null))
                        {
                            flag6 = Singleton <CTaskSys> .instance.model.IsInCltCalcCompletedTasks(task.dwTaskID);

                            flag4 = task.bTaskSubType == 0;
                        }
                        GameObject obj2 = null;
                        switch (num)
                        {
                        case 0:
                            obj2 = this.m_taskNode0;
                            break;

                        case 1:
                            obj2 = this.m_taskNode1;
                            break;
                        }
                        if (((obj2 != null) && (flag5 || flag6)) && !flag4)
                        {
                            CTaskShower shower = obj2.GetComponent <CTaskShower>();
                            if (shower == null)
                            {
                                return;
                            }
                            if (flag5)
                            {
                                obj2.CustomSetActive(true);
                                shower.ShowTask(task2, this.m_CUIForm);
                            }
                            else if (flag6)
                            {
                                obj2.CustomSetActive(true);
                                ResTask task3 = levelRewardData.task_ids[i];
                                if (task3 != null)
                                {
                                    shower.ShowTask(task3, this.m_CUIForm);
                                }
                            }
                            num++;
                        }
                    }
                }
                for (int j = num; j < LevelRewardData.TASK_MAX_COUNT; j++)
                {
                    GameObject obj3 = null;
                    switch (j)
                    {
                    case 0:
                        obj3 = this.m_taskNode0;
                        break;

                    case 1:
                        obj3 = this.m_taskNode1;
                        break;
                    }
                    if (obj3 != null)
                    {
                        obj3.CustomSetActive(false);
                    }
                }
            }
        }
    }
Пример #19
0
    private void ShowLevelTask(LevelRewardData levelRewardData)
    {
        if (levelRewardData == null)
        {
            return;
        }
        bool flag  = levelRewardData.IsConfigTaskAllEmpty();
        bool flag2 = levelRewardData.GetValidTaskCount() > 0;
        bool flag3 = levelRewardData.IsAllLevelTask();

        if (flag || (!flag2 && !levelRewardData.IsHasCltCalcCompeletedTask()) || flag3)
        {
            this.m_emptyTaskNode.CustomSetActive(true);
            this.m_normalTaskNode.CustomSetActive(false);
            Text component = this.m_CUIForm.transform.Find("node/list_node_main/task_node/noTask/Text").GetComponent <Text>();
            if (component != null)
            {
                string text = string.Empty;
                if (flag)
                {
                    text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_None");
                }
                if (!flag2 && !levelRewardData.IsHasCltCalcCompeletedTask())
                {
                    text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_NoGetTask");
                }
                if (flag3)
                {
                    if (levelRewardData.m_level >= CTaskView.LevelValue)
                    {
                        text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_Up21");
                    }
                    else
                    {
                        text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_AllLevelTask");
                    }
                }
                component.set_text(text);
            }
        }
        else
        {
            this.m_emptyTaskNode.CustomSetActive(false);
            this.m_normalTaskNode.CustomSetActive(true);
            Text component2 = this.m_CUIForm.transform.Find("node/list_node_main/task_node/normal/Text").GetComponent <Text>();
            if (component2 != null)
            {
                component2.set_text(Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_Normal", new string[]
                {
                    levelRewardData.m_level.ToString()
                }));
            }
            int num = 0;
            for (int i = 0; i < levelRewardData.task_ids.Length; i++)
            {
                ResTask resTask = levelRewardData.task_ids[i];
                if (resTask != null)
                {
                    CTask task = Singleton <CTaskSys> .instance.model.GetTask(resTask.dwTaskID);

                    bool flag4 = task != null && task.m_resTask.bTaskSubType == 0;
                    bool flag5 = task != null;
                    bool flag6 = false;
                    if (!flag5 && resTask != null)
                    {
                        flag6 = Singleton <CTaskSys> .instance.model.IsInCltCalcCompletedTasks(resTask.dwTaskID);

                        flag4 = (resTask.bTaskSubType == 0);
                    }
                    GameObject gameObject = null;
                    if (num == 0)
                    {
                        gameObject = this.m_taskNode0;
                    }
                    else if (num == 1)
                    {
                        gameObject = this.m_taskNode1;
                    }
                    if (gameObject != null && (flag5 || flag6) && !flag4)
                    {
                        CTaskShower component3 = gameObject.GetComponent <CTaskShower>();
                        if (component3 == null)
                        {
                            return;
                        }
                        if (flag5)
                        {
                            gameObject.CustomSetActive(true);
                            component3.ShowTask(task, this.m_CUIForm);
                        }
                        else if (flag6)
                        {
                            gameObject.CustomSetActive(true);
                            ResTask resTask2 = levelRewardData.task_ids[i];
                            if (resTask2 != null)
                            {
                                component3.ShowTask(resTask2, this.m_CUIForm);
                            }
                        }
                        num++;
                    }
                }
            }
            for (int j = num; j < LevelRewardData.TASK_MAX_COUNT; j++)
            {
                GameObject gameObject2 = null;
                if (j == 0)
                {
                    gameObject2 = this.m_taskNode0;
                }
                else if (j == 1)
                {
                    gameObject2 = this.m_taskNode1;
                }
                if (gameObject2 != null)
                {
                    gameObject2.CustomSetActive(false);
                }
            }
        }
    }
Пример #20
0
        public void ParseCltCalcCompletedTasks(ref uint[] taskids)
        {
            Dictionary <int, List <uint> > .Enumerator enumerator = this.m_cltCalcCompletedTasks.GetEnumerator();
            while (enumerator.MoveNext())
            {
                KeyValuePair <int, List <uint> > current = enumerator.Current;
                List <uint> list = current.Value;
                if (list != null)
                {
                    list.Clear();
                }
            }
            this.m_cltCalcCompletedTasks.Clear();
            Dictionary <byte, uint> dictionary = new Dictionary <byte, uint>();

            for (int i = 0; i < taskids.Length; i++)
            {
                uint key = taskids[i];
                if (key != 0)
                {
                    ResTask  dataByKey    = GameDataMgr.taskDatabin.GetDataByKey(key);
                    object[] inParameters = new object[] { key };
                    DebugHelper.Assert(dataByKey != null, "ParseCltCalcCompletedTasks, taskDatabin.GetDataByKey({0}) is null", inParameters);
                    if (dataByKey != null)
                    {
                        if (dictionary.ContainsKey(dataByKey.bTaskSubType))
                        {
                            if (key < dictionary[dataByKey.bTaskSubType])
                            {
                                dictionary[dataByKey.bTaskSubType] = key;
                            }
                        }
                        else
                        {
                            dictionary.Add(dataByKey.bTaskSubType, key);
                        }
                    }
                }
            }
            Dictionary <long, object> .Enumerator enumerator2 = GameDataMgr.taskDatabin.GetEnumerator();
            while (enumerator2.MoveNext())
            {
                KeyValuePair <long, object> pair2 = enumerator2.Current;
                ResTask task2 = (ResTask)pair2.Value;
                if (((task2 != null) && (task2.dwTaskType == 0)) && (dictionary.ContainsKey(task2.bTaskSubType) && (task2.dwTaskID < dictionary[task2.bTaskSubType])))
                {
                    this.InsertCltCalcCompletedTasks(task2.dwTaskID, task2.bTaskSubType);
                }
            }
            Dictionary <byte, uint> .Enumerator enumerator3 = dictionary.GetEnumerator();
            while (enumerator3.MoveNext())
            {
                KeyValuePair <byte, uint> pair3 = enumerator3.Current;
                if (this.GetTask(pair3.Value) == null)
                {
                    KeyValuePair <byte, uint> pair4 = enumerator3.Current;
                    ResTask task4 = GameDataMgr.taskDatabin.GetDataByKey(pair4.Value);
                    this.InsertCltCalcCompletedTasks(task4.dwTaskID, task4.bTaskSubType);
                }
            }
        }