123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- ---@class KLOpenServiceWingTaskPanel:UIKmlLuaPanelBase
- ---@field view KLOpenServiceWingTaskPanelView
- local KLOpenServiceWingTaskPanel = class(UIKmlLuaPanelBase)
- local this = KLOpenServiceWingTaskPanel
- function this:AsyncLoadUI()
- end
- ---创建时调用一次
- function this:Init()
- self.allTaskItem = {}
- self.curSelectTaskMap = {}
- GUI:DataListInitData(self.view.taskDataList, function()
- return self:TaskDataListItemCountFunc()
- end, function(realIndex)
- return self:TaskDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:TaskDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:TaskDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.allChapterItem = {}
- self.allChapterCfg = {}
- GUI:DataListInitData(self.view.chapterDataList, function()
- return self:ChapterDataListItemCountFunc()
- end, function(realIndex)
- return self:ChapterDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:ChapterDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self:InitCfg()
- end
- function this:InitCfg()
- self.allChapterCfg = SL:GetConfigTable("cfg_wings")
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- GUI:AddOnClickEvent(self.view.btn_Get, self, self.GetOnClick)
- SL:RegisterLUAEvent(LUA_EVENT_WING_TASK_CHANGE, self.RefreshMain, self)
- SL:RegisterLUAEvent(LUA_EVENT_WING_CHAPTER_CHANGE, self.Refresh, self)
- end
- function this:GetOnClick()
- local cfg = SL:GetConfig("cfg_wings", self.selectChapter)
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_RECEIVE_WINGS_CHAPTER_AWARD, cfg.groupID)
- end
- ---界面显示时调用一次
- function this:Show()
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- if InfoManager.wingTaskInfo.curChapter==-1 then --任务都完成了
- self.selectChapter = self.selectChapter or 1
- else
- self.selectChapter = InfoManager.wingTaskInfo.curChapter
- end
- GUI:DataListUpdateData(self.view.chapterDataList)
- self:RefreshMain()
- end
- function this:RefreshMain()
- local state = InfoManager.wingTaskInfo.wingChapterState[self.selectChapter]
- if state then
- self.selectUnlockChapter = self.selectChapter
- end
- if self.selectUnlockChapter then
- self.curSelectTaskMap = {}
- local accept = {}
- local finish = {}
- local isGet = {}
- for key, value in pairs(InfoManager.wingTaskInfo.wingTaskMap[self.selectUnlockChapter]) do
- if value.state == E_ChapterState.FINISH then
- table.insert(finish, value)
- elseif value.state == E_ChapterState.ACCPT then
- table.insert(accept, value)
- else
- table.insert(isGet, value)
- end
- end
- table.AddRanage(self.curSelectTaskMap, finish)
- table.AddRanage(self.curSelectTaskMap, accept)
- table.AddRanage(self.curSelectTaskMap, isGet)
- GUI:DataListUpdateData(self.view.taskDataList)
- end
- GUI:setVisible(self.view.btn_Get, state and state == E_ChapterState.FINISH)
- GUI:setVisible(self.view.chapter, not state or state == E_ChapterState.ACCPT)
- GUI:setVisible(self.view.img_Get, state and state == E_ChapterState.REWARD)
- GUI:Text_setString(self.view.txt_chapter, tostring(self.selectChapter))
- self:RefreshModel()
- end
- function this:RefreshModel()
- local cfg = SL:GetConfig("cfg_wings", self.selectChapter)
- GUI:Item_setItemId(self.view.EquipItem, cfg.rewardItem[1])
- GUI:Item_Scale(self.view.EquipItem, 150)
- GUI:AddOnClickEvent(self.view.EquipItem, self, function()
- SL:OpenTips(nil, cfg.rewardItem[1])
- end)
- end
- function this:Close()
- end
- function this:TaskDataListItemCountFunc()
- return #self.curSelectTaskMap
- end
- function this:TaskDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/WingTask/Item/KLOpenServiceWingTask/KLOpenServiceWingTaskItem",
- self.view.taskDataList, self, {}, true)
- self.allTaskItem[item.view.root] = item
- return item.view.root
- end
- function this:TaskDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:TaskDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.curSelectTaskMap[realIndex + 1]
- self.allTaskItem[kmlcontrol]:RefreshItem(data)
- end
- local PosArry = {
- { -159, 50 },
- { -14, -11 },
- { 136, 50 },
- }
- function this:ChapterDataListItemCountFunc()
- return table.count(PosArry)
- end
- function this:ChapterDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open(
- "dev/outui/WingTask/Item/KLOpenServiceWingTaskChapter/KLOpenServiceWingTaskChapterItem",
- self.view.chapterDataList, self, {}, true)
- GUI:setPosition(item.view.root, PosArry[realIndex + 1][1], PosArry[realIndex + 1][2])
- self.allChapterItem[item.view.root] = item
- return item.view.root
- end
- function this:ChapterDataListItemUpdateFunc(realIndex, kmlcontrol)
- -- local data = self.allChapterCfg[realIndex + 1]
- self.allChapterItem[kmlcontrol]:RefreshItem(realIndex + 1, self.ChapterOnClick, self)
- end
- function this:ChapterOnClick(index)
- self.selectChapter = index
- for key, ctr in pairs(self.allChapterItem) do
- ctr:RefreshSelectState()
- end
- self:RefreshMain()
- end
- return this
|