123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413 |
- ---@class KLChallengeBossPanel:UIKmlLuaPanelBase
- ---@field view KLChallengeBossPanelView
- local KLChallengeBossPanel = class(UIKmlLuaPanelBase)
- local this = KLChallengeBossPanel
- ---创建时调用一次
- function this:Init()
- SL.HideMainPanel()
- GUI:UIPanel_Close("dev/outui/ChallengeBoss/Panel/KLPrivilegeBossOpen/KLPrivilegeBossOpenPanel")
- GUI:DataListInitData(self.view.gold_boss_level, function()
- return self:GoldBossBtnDataListItemCountFunc()
- end, function(realIndex)
- return self:GoldBossBtnDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:GoldBossBtnDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:GoldBossBtnDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.glod_boss_level_btn_all_item = {}
- GUI:DataListInitData(self.view.gold_boss_data_list, function()
- return self:GoldBossDataListItemCountFunc()
- end, function(realIndex)
- return self:GoldBossDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:GoldBossDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:GoldBossDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.glod_boss_level_all_item = {}
- GUI:DataListInitData(self.view.gold_boss_reward, function()
- return self:GoldRewardDataListItemCountFunc()
- end, function(realIndex)
- return self:GoldRewardDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:GoldRewardDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:GoldRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.outdoor_reward_level_all_item = {}
- GUI:DataListInitData(self.view.outdoor_boss_level_data_list, function()
- return self:OutdoorBossBtnDataListItemCountFunc()
- end, function(realIndex)
- return self:OutdoorBossBtnDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:OutdoorBossBtnDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:OutdoorBossBtnDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.outdoor_boss_level_btn_all_item = {}
- GUI:DataListInitData(self.view.outdoor_boss_line_data_list, function()
- return self:OutdoorBossLineDataListItemCountFunc()
- end, function(realIndex)
- return self:OutdoorBossLineDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:OutdoorBossLineDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:OutdoorBossLineDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.outdoor_boss_line_data_list_all_item = {}
- GUI:DataListInitData(self.view.outdoor_boss_reward_data_list, function()
- return self:OutdoorRewardDataListItemCountFunc()
- end, function(realIndex)
- return self:OutdoorRewardDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:OutdoorRewardDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:OutdoorRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.glod_reward_level_all_item = {}
- GUI:DataListInitData(self.view.secret_boss_level_data_list, function()
- return self:SecretBossBtnDataListItemCountFunc()
- end, function(realIndex)
- return self:SecretBossBtnDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:SecretBossBtnDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:SecretBossBtnDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.secrect_boss_level_btn_all_item = {}
- GUI:DataListInitData(self.view.secret_boss_line_data_list, function()
- return self:SecretBossLineDataListItemCountFunc()
- end, function(realIndex)
- return self:SecretBossLineDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:SecretBossLineDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:SecretBossLineDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.secrect_boss_line_data_list_all_item = {}
- GUI:DataListInitData(self.view.secret_reward_data_list, function()
- return self:SecretRewardDataListItemCountFunc()
- end, function(realIndex)
- return self:SecretRewardDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:SecretRewardDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:SecretRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.secrect_reward_level_all_item = {}
- GUI:DataListInitData(self.view.secret_reward_box_data_list, function()
- return self:SecretRewardBoxDataListItemCountFunc()
- end, function(realIndex)
- return self:SecretRewardBoxDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:SecretRewardBoxDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:SecretRewardBoxDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.secrect_reward_box_level_all_item = {}
- GUI:DataListInitData(self.view.privilege_boss_level_data_list, function()
- return self:PrivilegeBossBtnDataListItemCountFunc()
- end, function(realIndex)
- return self:PrivilegeBossBtnDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:PrivilegeBossBtnDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:PrivilegeBossBtnDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.privilege_boss_level_btn_all_item = {}
- GUI:DataListInitData(self.view.privilege_boss_reward_data_list, function()
- return self:PrivilegeRewardDataListItemCountFunc()
- end, function(realIndex)
- return self:PrivilegeRewardDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:PrivilegeRewardDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:PrivilegeRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.privilege_reward_level_all_item = {}
- --圣域BOSS
- GUI:DataListInitData(self.view.sanctuary_boss_level_data_list, function()
- return self:SanctuaryBossBtnDataListItemCountFunc()
- end, function(realIndex)
- return self:SanctuaryBossBtnDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:SanctuaryBossBtnDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:SanctuaryBossBtnDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.sanctuary_boss_level_btn_all_item = {}
- GUI:DataListInitData(self.view.sanctuary_boss_line_data_list, function()
- return self:SanctuaryBossLineDataListItemCountFunc()
- end, function(realIndex)
- return self:SanctuaryBossLineDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:SanctuaryBossLineDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:SanctuaryBossLineDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- ---@type KLUIChallengeBossLineItem[]
- self.sanctuary_boss_line_data_list_all_item = {}
- GUI:DataListInitData(self.view.sanctuary_reward_data_list, function()
- return self:SanctuaryRewardDataListItemCountFunc()
- end, function(realIndex)
- return self:SanctuaryRewardDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:SanctuaryRewardDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:SanctuaryRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.sanctuary_reward_level_all_item = {}
- GUI:DataListInitData(self.view.sanctuary_reward_box_data_list, function()
- return self:SanctuaryRewardBoxDataListItemCountFunc()
- end, function(realIndex)
- return self:SanctuaryRewardBoxDataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:SanctuaryRewardBoxDataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:SanctuaryRewardBoxDataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- self.sanctuary_reward_box_level_all_item = {}
- self.secretBossLineLoadEnd = nil
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- --SL:LogTable(self.args,true)
- if self.args and self.args.monsterType then
- --MonsterType 1黄金 ,2野外,3秘境,4特权
- self.monsterId = self.args.monsterId
- ---转换一下,策划说按cfg_BOSS_challenge表的type走,之前黄金和野外是反的
- if self.args.monsterType == 2 then
- self.args.monsterType = 1
- elseif self.args.monsterType == 1 then
- self.args.monsterType = 2
- end
- if self.args.monsterType == 2 then
- --self.view.boss_1_toggle:SetTogDefaultThis()
- GUI:SetTogDefaultThis(self.view.boss_1_toggle)
- elseif self.args.monsterType == 1 then
- --self.view.boss_2_toggle:SetTogDefaultThis()
- GUI:SetTogDefaultThis(self.view.boss_2_toggle)
- elseif self.args.monsterType == 3 then
- --self.view.boss_3_toggle:SetTogDefaultThis()
- GUI:SetTogDefaultThis(self.view.boss_3_toggle)
- elseif self.args.monsterType == 4 then
- --self.view.boss_4_toggle:SetTogDefaultThis()
- GUI:SetTogDefaultThis(self.view.boss_4_toggle)
- elseif self.args.monsterType == 6 then
- --self.view.boss_4_toggle:SetTogDefaultThis()
- GUI:SetTogDefaultThis(self.view.boss_6_toggle)
- end
- else
- self.monsterId = nil
- --self.view.boss_1_toggle:SetTogDefaultThis()
- GUI:SetTogDefaultThis(self.view.boss_1_toggle)
- end
- -- local level = InfoManager.newVipInfo.vipLevel
- -- if level > 0 or PrivilegeCardManager.HavePriviege() then
- -- else
- -- GUI:setVisible(self.view.boss_4,false)
- -- end
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- GUI:SetToggleOnValueChange(self.view.boss_1_toggle, self, self.Boss1Click)
- GUI:SetToggleOnValueChange(self.view.boss_2_toggle, self, self.Boss2Click)
- GUI:SetToggleOnValueChange(self.view.boss_3_toggle, self, self.Boss3Click)
- GUI:SetToggleOnValueChange(self.view.boss_4_toggle, self, self.Boss4Click)
- GUI:SetToggleOnValueChange(self.view.boss_5_toggle, self, self.Boss5Click)
- GUI:SetToggleOnValueChange(self.view.boss_6_toggle, self, self.Boss6Click)
- GUI:AddOnClickEvent(self.view.btn_close, self, self.CloseOnclick)
- GUI:AddOnClickEvent(self.view.privilege_boss_join_btn, self, self.privilege_boss_join)
- SL:RegisterLuaNetMsg(LuaMessageIdToClient.NEAREST_MONSTER, self.MonserPos, self)
- SL:RegisterLuaNetMsg(LuaMessageIdToClient.SECRET_REALM_COUNT, self.SecretCount, self)
- SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_PRIVILEGE_BOSS_PANEL, self.RES_PRIVILEGE_BOSS_PANEL, self)
- SL:RegisterLuaNetMsg(LuaMessageIdToClient.MONSTER_COUNT_RESULT_BY_ID, self.MONSTER_COUNT_RESULT_BY_ID, self)
- SL:RegisterLuaNetMsg(LuaMessageIdToClient.SEND_SECRET_REALM_MONSTER_COUNT, self.MonserCopyCount, self)
- SL:RegisterLUAEvent(LUA_EVENT_CHALLENGE_BOSS_MONSTER_POS, self.LUA_EVENT_CHALLENGE_BOSS_MONSTER_POS, self)
- end
- function this:CloseOnclick()
- GUI:UIPanel_Close("dev/outui/ChallengeBoss/Panel/KLChallengeBoss/KLChallengeBossPanel")
- SL.ShowMainPanel()
- end
- function this:Boss1Click(kmlCtrl, eventData, args)
- if args[1] then
- GUI:setColor(self.view.boss_1_toggle_t, "#e6e6e6")
- self:ShowBossPanel(EBossChallengeType.Gold)
- self:SelectGoldBoss()
- else
- GUI:setColor(self.view.boss_1_toggle_t, "#999999")
- end
- end
- function this:Boss2Click(kmlCtrl, eventData, args)
- if args[1] then
- self:ShowBossPanel(EBossChallengeType.Field)
- self:SelectOutdoorBoss()
- self.monsterId = nil
- else
- GUI:setColor(self.view.boss_2_toggle_t, "#999999")
- end
- end
- function this:Boss3Click(kmlCtrl, eventData, args)
- if args[1] then
- GUI:setColor(self.view.boss_3_toggle_t, "#e6e6e6")
- self:ShowBossPanel(EBossChallengeType.Secret)
- self:SelectSecretBoss()
- self.monsterId = nil
- else
- GUI:setColor(self.view.boss_3_toggle_t, "#999999")
- end
- end
- function this:Boss4Click(kmlCtrl, eventData, args)
- if args[1] then
- GUI:setColor(self.view.boss_4_toggle_t, "#e6e6e6")
- self:ShowBossPanel(EBossChallengeType.Privilege)
- self:SelectPrivilegeBoss()
- self.monsterId = nil
- else
- GUI:setColor(self.view.boss_4_toggle_t, "#999999")
- end
- end
- function this:Boss5Click(kmlCtrl, eventData, args)
- if args[1] then
- GUI:setColor(self.view.boss_5_toggle_t, "#e6e6e6")
- self:ShowBossPanel(0)
- ---跨服boss不在表类型里
- self.monsterId = nil
- self.kuaFuInfoItem = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLKuaFuBossInfo/KLKuaFuBossInfoItem",
- self.view.root, self)
- else
- GUI:setColor(self.view.boss_5_toggle_t, "#999999")
- self.kuaFuInfoItem = nil
- GUI:UIPanel_Close("dev/outui/ChallengeBoss/Item/KLKuaFuBossInfo/KLKuaFuBossInfoItem")
- end
- end
- function this:Boss6Click(kmlCtrl, eventData, args)
- if args[1] then
- GUI:setColor(self.view.boss_6_toggle_t, "#e6e6e6")
- self:ShowBossPanel(EBossChallengeType.Sanctuary)
- self:SelectSanctuaryBoss()
- self.monsterId = nil
- else
- GUI:setColor(self.view.boss_6_toggle_t, "#999999")
- end
- end
- function this:ShowBossPanel(type)
- GUI:setVisible(self.view.gold_boss_panel, type == EBossChallengeType.Gold)
- GUI:setVisible(self.view.outdoor_boss_panel, type == EBossChallengeType.Field)
- GUI:setVisible(self.view.mi_boss_panel, type == EBossChallengeType.Secret)
- GUI:setVisible(self.view.privilege_boss_panel, type == EBossChallengeType.Privilege)
- GUI:setVisible(self.view.sanctuary_boss_panel, type == EBossChallengeType.Sanctuary)
- end
- --黄金boss
- function this:SelectGoldBoss()
- local playerLevel = SL:GetMetaValue(EMetaVarGetKey.LEVEL)
- if self.monsterId then
- playerLevel = SL:GetConfig("cfg_BOSS_challenge", self.monsterId, "monsterid").level
- end
- if not self.allGoldLevel then
- self.allGoldLevel = {}
- --local allBoss = SL:GetConfigMultiKeys('cfg_BOSS_challenge', 1, 'monsterType')
- local allBoss = SL:FindConfigs("cfg_BOSS_challenge", "monsterType", 1)
- for i, boss in ipairs(allBoss) do
- local level = boss.level
- if not table.contains(self.allGoldLevel, level) then
- table.insert(self.allGoldLevel, level)
- end
- end
- self.select_gold_level = nil
- local index = 0
- for i, level in ipairs(self.allGoldLevel) do
- if not self.select_gold_level then
- self.select_gold_level = level
- index = i
- else
- if level <= playerLevel and level > self.select_gold_level then
- self.select_gold_level = level
- index = i
- end
- end
- end
- local percentage = index / #self.allGoldLevel
- percentage = percentage - percentage % 0.00001
- GUI:DataListUpdateData(self.view.gold_boss_level)
- GUI:SetScrollView_scrollpos(self.view.gold_boss_select, percentage)
- end
- self:RefreshGoldBoss()
- end
- function this:RefreshGoldBoss()
- if not self.monsterId then
- end
- --self.GoldOneLevel = SL:GetConfigMultiKeys("cfg_BOSS_challenge",1,self.select_gold_level,"monsterType","level")
- self.GoldOneLevel = {}
- local index = 0
- if self.monsterId then
- local tab = SL:FindConfigs("cfg_BOSS_challenge", "monsterType", 1)
- local isFind = false
- for i, v in ipairs(tab) do
- if v.level == self.select_gold_level then
- table.insert(self.GoldOneLevel, v)
- if v.monsterid == self.monsterId then
- isFind = true
- end
- if not isFind then
- index = index + 1
- end
- end
- end
- --GUI:DataListUpdateData(self.view.gold_boss_data_list)
- --GUI:SetScrollView_scrollpos(self.view.gold_boss_view, index)
- SL:ScheduleOnce(0.1, function()
- self.monsterId = nil
- if self.count_data then
- self:MonserCount(nil, self.count_data)
- end
- end)
- else
- --GUI:DataListUpdateData(self.view.gold_boss_data_list)
- --GUI:SetScrollView_scrollpos(self.view.gold_boss_view, 0)
- local tab = SL:FindConfigs("cfg_BOSS_challenge", "monsterType", 1)
- for i, v in ipairs(tab) do
- if v.level == self.select_gold_level then
- table.insert(self.GoldOneLevel, v)
- end
- end
- --GUI:DataListUpdateData(self.view.gold_boss_data_list) --TODO CH
- self.monsterId = nil
- end
- self.GoldAllRwward = {}
- if #self.GoldOneLevel > 0 then
- local Rwward = self.GoldOneLevel[1].monsterDrop
- local baseCareer = SL:GetMetaValue(EMetaVarGetKey.JOB)
- for i, one_reward in ipairs(Rwward) do
- if one_reward[1] == baseCareer then
- table.insert(self.GoldAllRwward, one_reward[2])
- end
- end
- end
- GUI:DataListUpdateData(self.view.gold_boss_reward)
- local message = {}
- for i, v in ipairs(self.GoldOneLevel) do
- table.insert(message, { id = v.id, state = 1 })
- end
- GUI:DataListUpdateData(self.view.gold_boss_data_list,true,function()
- SL:ScheduleOnce(0.1, function()
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_MONSTER_COUNT_BY_ID, message)
- GUI:SetScrollView_scrollpos(self.view.gold_boss_view, index)
- end)
- end)
- end
- function this:GoldBossBtnDataListItemCountFunc()
- return #self.allGoldLevel
- end
- function this:GoldBossBtnDataListItemGetFunc(realIndex)
- local data = self.allGoldLevel[realIndex + 1]
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossBtnItem/KLUIChallengeBossBtnItem", self.view.gold_boss_level, self, {}, true)
- self.glod_boss_level_btn_all_item[item.view.root] = item
- return item.view.root
- end
- function this:GoldBossBtnDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:GoldBossBtnDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.allGoldLevel[realIndex + 1]
- self.glod_boss_level_btn_all_item[kmlcontrol]:RefreshItem(data, self.select_gold_level, self)
- if data == self.select_gold_level then
- self.GoldBossLevelBtn = self.glod_boss_level_btn_all_item[kmlcontrol]
- end
- end
- function this:GoldBossDataListItemCountFunc()
- return #self.GoldOneLevel
- end
- function this:GoldBossDataListItemGetFunc(realIndex)
- local data = self.GoldOneLevel[realIndex + 1]
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossItem/KLUIChallengeBossItem", self.view.gold_boss_data_list, self, {}, true)
- self.glod_boss_level_all_item[realIndex + 1] = item
-
- return item.view.root
- end
- function this:GoldBossDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:GoldBossDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.GoldOneLevel[realIndex + 1]
- --SL:LogTable(data,true)
- self.glod_boss_level_all_item[realIndex + 1]:RefreshItem(data, self.select_gold_level, self)
- if self.monsterId == data.monsterid then
- self.glod_boss_level_all_item[realIndex + 1]:ShowSelectImg()
- end
- end
- function this:HideSelectLevel()
- self.GoldBossLevelBtn:HideItem()
- end
- function this:SelectLevel(level, Btn)
- self.monsterId = nil
- self.GoldBossLevelBtn = Btn
- self.select_gold_level = level
- self:RefreshGoldBoss()
- end
- function this:GoldRewardDataListItemCountFunc()
- return #self.GoldAllRwward
- end
- function this:GoldRewardDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossRewardItem/KLUIChallengeBossRewardItem", self.view.gold_boss_reward, self, {}, true)
-
- self.glod_reward_level_all_item[item.view.root] = item
- return item.view.root
- end
- function this:GoldRewardDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:GoldRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.GoldAllRwward[realIndex + 1]
- self.glod_reward_level_all_item[kmlcontrol]:RefreshItem({ cfgId = data }, self.select_gold_level, self)
- end
- --野外boss
- function this:SelectOutdoorBoss()
- local playerLevel = SL:GetMetaValue(EMetaVarGetKey.LEVEL)
- -- if self.monsterId then
- -- playerLevel = SL:GetConfig("cfg_BOSS_challenge",self.monsterId,"monsterid").level
- -- end
- if not self.allOutdoorLevel then
- self.allOutdoorLevel = {}
- --local allBoss = SL:GetConfigMultiKeys('cfg_BOSS_challenge', 1, 'monsterType')
- self.allOutdoorLevel = SL:FindConfigs("cfg_BOSS_challenge", "monsterType", 2)
- self.select_outdoor_level = nil
- self.select_outdoor_index = 1
- local index = 0
- for i, data in ipairs(self.allOutdoorLevel) do
- data.index = i
- local level = data.level
- if self.monsterId then
- if data.monsterid == self.monsterId then
- self.select_outdoor_level = level
- self.select_outdoor_index = i
- index = i
- end
- else
- if not self.select_outdoor_level then
- self.select_outdoor_level = level
- self.select_outdoor_index = i
- index = i
- else
- if level <= playerLevel and level > self.select_outdoor_level then
- self.select_outdoor_level = level
- self.select_outdoor_index = i
- index = i
- end
- end
- end
- end
- local percentage = index / #self.allOutdoorLevel
- percentage = percentage - percentage % 0.00001
- GUI:DataListUpdateData(self.view.outdoor_boss_level_data_list)
- GUI:SetScrollView_scrollpos(self.view.outdoor_boss_select, percentage)
- end
- self:RefreshOutdoorBoss()
- end
- function this:RefreshOutdoorBoss()
- self.current_outdoor_data = nil
- local current_data
- for i, data in ipairs(self.allOutdoorLevel) do
- local level = data.level
- if data.index == self.select_outdoor_index then
- self.current_outdoor_data = data
- break
- end
- end
-
- self.OutdoorAllRwward = {}
- local monsterid = nil
- if self.current_outdoor_data then
- monsterid = self.current_outdoor_data.monsterid
- local tab = SL:GetConfigMultiKeys('cfg_monster', monsterid, 'id')
- local name = tab.name
- local icon = tab.icon
- local appr = tab.appr
- local path = SL:GetConfigMultiKeys('cfg_model_monster', appr, 'id').path
- GUI:Text_setString(self.view.outdoor_boss_name, name)
- local mscale = ""
- if self.current_outdoor_data.size then
- local scale = math.ceil(self.current_outdoor_data.size / 100)
- mscale = scale .. "," .. scale .. "," .. scale
- end
- GUI:Model_setSrc(self.view.outdoor_boss_path, path, mscale)
- if self.current_outdoor_data.offset and #self.current_outdoor_data.offset >= 2 then
- GUI:setPosition(self.view.outdoor_boss_path, self.current_outdoor_data.offset[1], self.current_outdoor_data.offset[2])
- end
- GUI:DataListUpdateData(self.view.outdoor_boss_line_data_list,true,function()
- SL:ScheduleOnce(Time.deltaTime, function()
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_MONSTER_COUNT_BY_ID, { { id = self.current_outdoor_data.id, state = 1 } })
- end)
- end)
- if self.current_outdoor_data then
- local Rwward = self.current_outdoor_data.monsterDrop
- local baseCareer = SL:GetMetaValue(EMetaVarGetKey.JOB)
- for i, one_reward in ipairs(Rwward) do
- if one_reward[1] == baseCareer then
- table.insert(self.OutdoorAllRwward, one_reward[2])
- end
- end
- end
- GUI:DataListUpdateData(self.view.outdoor_boss_reward_data_list)
- end
- InfoManager.uiHuntingDemonsInfo:SetIntegralInControl(self.view.outdoor_boss_Integral_BG,self.view.outdoor_boss_Integral_Text,monsterid)
- end
- function this:MONSTER_COUNT_RESULT_BY_ID(id, message)
- self.count_data = message
- self:MonserCount(id, self.count_data)
- end
- function this:MonserCount(id, message)
- --SL:LogError("MonserCount")
- --SL:LogTable(message,true)
- if not message then
- return
- end
- if self.current_outdoor_data then
- local id = tostring(self.current_outdoor_data.id)
- if message[id] then
- local msg = message[id]
- for i = 1, 10000, 1 do
- if msg[tostring(i)] and self.outdoor_boss_line_data_list_all_item[i] then
- self.outdoor_boss_line_data_list_all_item[i]:MonserCount(nil, msg[tostring(i)])
- else
- break
- end
- end
- end
- end
- if self.GoldOneLevel and #self.GoldOneLevel > 0 then
- for i = 1, 10000, 1 do
- if self.GoldOneLevel[i] then
- local id = tostring(self.GoldOneLevel[i].id)
- if message[id] and self.glod_boss_level_all_item[i] then
- self.glod_boss_level_all_item[i]:MonserCount(nil, message[id])
- else
- break
- end
- else
- break
- end
- end
- end
- if self.current_Sanctuary_data then
- local id = tostring(self.current_Sanctuary_data.id)
- if message[id] then
- local msg = message[id]
- for i = 1, 10000, 1 do
- if msg[tostring(i)] and self.sanctuary_boss_line_data_list_all_item[i] then
- self.sanctuary_boss_line_data_list_all_item[i]:MonserCount(nil, msg[tostring(i)])
- else
- break
- end
- end
- end
- end
- end
- function this:OutdoorBossBtnDataListItemCountFunc()
- return #self.allOutdoorLevel
- end
- function this:OutdoorBossBtnDataListItemGetFunc(realIndex)
- local data = self.allOutdoorLevel[realIndex + 1]
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossSelectBtnItem/KLUIChallengeBossSelectBtnItem", self.view.outdoor_boss_level_data_list, self, {}, true)
-
- self.outdoor_boss_level_btn_all_item[item.view.root] = item
- return item.view.root
- end
- function this:OutdoorBossBtnDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:OutdoorBossBtnDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.allOutdoorLevel[realIndex + 1]
- self.outdoor_boss_level_btn_all_item[kmlcontrol]:RefreshItem(data, self.select_outdoor_index, self, 2)
- if data.index == self.select_outdoor_index then
- self.OutdoorBossLevelBtn = self.outdoor_boss_level_btn_all_item[kmlcontrol]
- end
- end
- function this:HideSelectLevelOutdoor()
- self.OutdoorBossLevelBtn:HideItem()
- end
- function this:SelectLevelOutdoor(level, Btn)
- self.OutdoorBossLevelBtn = Btn
- self.select_outdoor_index = level
- self:RefreshOutdoorBoss()
- end
- function this:OutdoorBossLineDataListItemCountFunc()
- return #self.current_outdoor_data.mapId
- end
- function this:OutdoorBossLineDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossLineItem/KLUIChallengeBossLineItem", self.view.outdoor_boss_line_data_list, self, {}, true)
-
- self.outdoor_boss_line_data_list_all_item[realIndex + 1] = item
- return item.view.root
- end
- function this:OutdoorBossLineDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:OutdoorBossLineDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.current_outdoor_data.mapId[realIndex + 1]
- local move = self.current_outdoor_data.mapMoveId[realIndex + 1]
- local monsterid = self.current_outdoor_data.monsterid
- self.outdoor_boss_line_data_list_all_item[realIndex + 1]:RefreshItem(monsterid, data, move, self, 210)
- end
- function this:OutdoorRewardDataListItemCountFunc()
- return #self.OutdoorAllRwward
- end
- function this:OutdoorRewardDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossRewardItem/KLUIChallengeBossRewardItem", self.view.outdoor_boss_reward_data_list, self, {}, true)
-
- self.outdoor_reward_level_all_item[item.view.root] = item
- return item.view.root
- end
- function this:OutdoorRewardDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:OutdoorRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.OutdoorAllRwward[realIndex + 1]
- self.outdoor_reward_level_all_item[kmlcontrol]:RefreshItem({ cfgId = data }, self.select_gold_level, self)
- end
- --秘境boss
- function this:SelectSecretBoss()
- local playerLevel = SL:GetMetaValue(EMetaVarGetKey.LEVEL)
- if self.monsterId then
- playerLevel = SL:GetConfig("cfg_BOSS_challenge", self.monsterId, "monsterid").level
- end
- if not self.allSecretLevel then
- self.allSecretLevel = {}
- --local allBoss = SL:GetConfigMultiKeys('cfg_BOSS_challenge', 1, 'monsterType')
- self.allSecretLevel = SL:FindConfigs("cfg_BOSS_challenge", "monsterType", 3)
- self.select_Secret_level = nil
- local index = 0
- for i, data in ipairs(self.allSecretLevel) do
- local level = data.level
- if not self.select_Secret_level then
- self.select_Secret_level = level
- index = i
- else
- if level <= playerLevel and level > self.select_Secret_level then
- self.select_Secret_level = level
- index = i
- end
- end
- end
- local percentage = index / #self.allSecretLevel
- percentage = percentage - percentage % 0.00001
- GUI:DataListUpdateData(self.view.secret_boss_level_data_list)
- GUI:SetScrollView_scrollpos(self.view.secret_boss_level_select, percentage)
- end
- self:RefreshSecretBoss()
- end
- function this:RefreshSecretBoss()
- self.current_secrect_data = nil
- local current_data
- for i, data in ipairs(self.allSecretLevel) do
- local level = data.level
- if level == self.select_Secret_level then
- self.current_secrect_data = data
- break
- end
- end
- self.SecretAllRwward = {}
- self.SecretAllBoxRwward = {}
- self.SecretAllLine = {}
- self.repId = 0
- local monsterid = nil
- if self.current_secrect_data then
- monsterid = self.current_secrect_data.monsterid
- local tab = SL:GetConfigMultiKeys('cfg_monster', monsterid, 'id')
- local name = tab.name
- local icon = tab.icon
- local appr = tab.appr
- local repId = self.current_secrect_data.repId
- local path = SL:GetConfigMultiKeys('cfg_model_monster', appr, 'id').path
- GUI:Text_setString(self.view.secret_boss_name, name)
- local mscale = ""
- if self.current_secrect_data.size then
- local scale = math.ceil(self.current_secrect_data.size / 100)
- mscale = scale .. "," .. scale .. "," .. scale
- end
- GUI:Model_setSrc(self.view.secret_boss_path, path, mscale)
- if self.current_secrect_data.offset and #self.current_secrect_data.offset >= 2 then
- GUI:setPosition(self.view.secret_boss_path, self.current_secrect_data.offset[1], self.current_secrect_data.offset[2])
- end
- --SL:LogError(#self.current_secrect_data.mapId)
- if self.current_secrect_data then
- local Rwward = self.current_secrect_data.monsterDrop
- local baseCareer = SL:GetMetaValue(EMetaVarGetKey.JOB)
- for i, one_reward in ipairs(Rwward) do
- if one_reward[1] == baseCareer then
- table.insert(self.SecretAllRwward, one_reward[2])
- end
- end
- local box = self.current_secrect_data.boxDrop
- if box and #box > 0 then
- table.insert(self.SecretAllBoxRwward, box[1])
- end
- end
- local tab = SL:GetConfigMultiKeys('cfg_repfairyland_monster', repId, 'id')
- self.SecretAllLine = tab.monster1
- self.repId = repId
- GUI:DataListUpdateData(self.view.secret_boss_line_data_list)
- GUI:DataListUpdateData(self.view.secret_reward_box_data_list)
- GUI:DataListUpdateData(self.view.secret_reward_data_list)
- SL:SendLuaNetMsg(LuaMessageIdToSever.GET_SECRET_REALM_MONSTER_COUNT, { repId = self.repId })
- end
- GUI:Text_setString(self.view.last_num, "")
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_GET_SECRET_REALM_COUNT, {})
- InfoManager.uiHuntingDemonsInfo:SetIntegralInControl(self.view.mijing_boss_Integral_BG,self.view.mijing_boss_Integral_Text,monsterid)
- end
- function this:SecretCount(id, message)
- --SL:LogTable(message,true)
- self.last_num = message.count
- GUI:Text_setString(self.view.last_num, tostring(message.count))
- end
- --圣域boss
- function this:SelectSanctuaryBoss()
- local playerLevel = SL:GetMetaValue(EMetaVarGetKey.LEVEL)
- if self.monsterId then
- playerLevel = SL:GetConfig("cfg_BOSS_challenge", self.monsterId, "monsterid").level
- end
- if not self.allSanctuaryLevel or table.count(self.allSanctuaryLevel) == 0 then
- self.allSanctuaryLevel = {}
- self.allSanctuaryLevel = SL:FindConfigs("cfg_BOSS_challenge", "monsterType", EBossChallengeType.Sanctuary)
- self.select_Sanctuary_level = nil
- local index = 0
- for i, data in ipairs(self.allSanctuaryLevel) do
- local level = data.level
- if not self.select_Sanctuary_level then
- self.select_Sanctuary_level = level
- index = i
- else
- if level <= playerLevel and level > self.select_Sanctuary_level then
- self.select_Sanctuary_level = level
- index = i
- end
- end
- end
- local percentage = index / #self.allSanctuaryLevel
- percentage = percentage - percentage % 0.00001
- GUI:DataListUpdateData(self.view.sanctuary_boss_level_data_list)
- GUI:SetScrollView_scrollpos(self.view.sanctuary_boss_level_select, percentage)
- end
- self:RefreshSanctuaryBoss()
- end
- function this:RefreshSanctuaryBoss()
- self.current_Sanctuary_data = nil
- local current_data
- for i, data in ipairs(self.allSanctuaryLevel) do
- local level = data.level
- if level == self.select_Sanctuary_level then
- self.current_Sanctuary_data = data
- break
- end
- end
- self.sanctuaryAllRwward = {}
- self.sanctuaryAllBoxRwward = {}
- self.sanctuaryAllLine = {}
- self.repId = 0
- local monsterid = nil
- if self.current_Sanctuary_data then
- monsterid = self.current_Sanctuary_data.monsterid
- local tab = SL:GetConfigMultiKeys('cfg_monster', monsterid, 'id')
- local name = tab.name
- local icon = tab.icon
- local appr = tab.appr
- local mapData = self.current_Sanctuary_data.mapId[1]
- local path = SL:GetConfigMultiKeys('cfg_model_monster', appr, 'id').path
- GUI:Text_setString(self.view.sanctuary_boss_name, name)
- local mscale = ""
- if self.current_Sanctuary_data.size then
- local scale = math.ceil(self.current_Sanctuary_data.size / 100)
- mscale = scale .. "," .. scale .. "," .. scale
- end
- GUI:Model_setSrc(self.view.sanctuary_boss_path, path, mscale)
- if self.current_Sanctuary_data.offset and #self.current_Sanctuary_data.offset >= 2 then
- GUI:setPosition(self.view.sanctuary_boss_path, self.current_Sanctuary_data.offset[1], self.current_Sanctuary_data.offset[2])
- end
- --SL:LogError(#self.current_Sanctuary_data.mapId)
- if self.current_Sanctuary_data then
- local Rwward = self.current_Sanctuary_data.monsterDrop
- local baseCareer = SL:GetMetaValue(EMetaVarGetKey.JOB)
- for i, one_reward in ipairs(Rwward) do
- if one_reward[1] == baseCareer then
- table.insert(self.sanctuaryAllRwward, one_reward[2])
- end
- end
- local box = self.current_Sanctuary_data.boxDrop
- if box and #box > 0 then
- table.insert(self.sanctuaryAllBoxRwward, box[1])
- end
- end
- self.sanctuaryAllLine = self.current_Sanctuary_data.mapId
- self.repId = mapData[1]
- GUI:DataListUpdateData(self.view.sanctuary_boss_line_data_list)
- GUI:DataListUpdateData(self.view.sanctuary_reward_box_data_list)
- GUI:DataListUpdateData(self.view.sanctuary_reward_data_list)
- GUI:DataListUpdateData(self.view.sanctuary_boss_line_data_list,true,function()
- SL:ScheduleOnce(Time.deltaTime, function()
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_MONSTER_COUNT_BY_ID, { { id = self.current_Sanctuary_data.id, state = 1 } })
- end)
- end)
- end
- GUI:Text_setString(self.view.last_num, "")
- InfoManager.uiHuntingDemonsInfo:SetIntegralInControl(self.view.sanctuary_boss_Integral_BG,self.view.sanctuary_boss_Integral_Text,monsterid)
- --SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_GET_SECRET_REALM_COUNT, {})
- end
- function this:SanctuaryCount(id, message)
- --SL:LogTable(message,true)
- self.last_num = message.count
- GUI:Text_setString(self.view.last_num, tostring(message.count))
- end
- function this:isJoin()
- if not self.last_num or self.last_num < 1 then
- return false
- end
- return true
- end
- function this:MonserCopyCount(id, message)
- --SL:LogTable(message,true)
- if not self.secretBossLineLoadEnd then
- return
- end
- if not message then
- return
- end
- if not message["1"] then
- return
- end
- if not self.repId then
- return
- end
- if message["1"].repId ~= self.repId then
- return
- end
- for i = 1, 1000, 1 do
- if message[tostring(i)] then
- if self.secrect_boss_line_data_list_all_item[i] then
- self.secrect_boss_line_data_list_all_item[i]:MonserCopyCount(nil, message[tostring(i)])
- end
- else
- break
- end
- end
- end
- function this:SecretBossBtnDataListItemCountFunc()
- return #self.allSecretLevel
- end
- function this:SecretBossBtnDataListItemGetFunc(realIndex)
- local data = self.allSecretLevel[realIndex + 1]
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossSelectBtnItem/KLUIChallengeBossSelectBtnItem", self.view.secret_boss_level_data_list, self, {}, true)
-
- self.secrect_boss_level_btn_all_item[item.view.root] = item
- return item.view.root
- end
- function this:SecretBossBtnDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:SecretBossBtnDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.allSecretLevel[realIndex + 1]
- self.secrect_boss_level_btn_all_item[kmlcontrol]:RefreshItem(data, self.select_Secret_level, self, 3)
- if data.level == self.select_Secret_level then
- self.SecrectrBossLevelBtn = self.secrect_boss_level_btn_all_item[kmlcontrol]
- end
- end
- function this:HideSelectLevelSecret()
- self.SecrectrBossLevelBtn:HideItem()
- end
- function this:SelectLevelSecret(level, Btn)
- self.SecrectrBossLevelBtn = Btn
- self.select_Secret_level = level
- self:RefreshSecretBoss()
- end
- function this:HideSanctuaryLevelSecret()
- self.sanctuaryBossLevelBtn:HideItem()
- end
- function this:SelectSanctuarySecret(level, Btn)
- self.sanctuaryBossLevelBtn = Btn
- self.select_Sanctuary_level = level
- self:RefreshSanctuaryBoss()
- end
- function this:SecretBossLineDataListItemCountFunc()
- return #self.SecretAllLine
- end
- function this:SecretBossLineDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossLineItem/KLUIChallengeBossLineItem", self.view.secret_boss_line_data_list, self, { is_copy = 1 }, true,
- function(_item)
- self.secrect_boss_line_data_list_all_item[realIndex + 1] = _item
- if not self.secretBossLineLoadEnd then
- self.secretBossLineLoadEnd = true
- SL:SendLuaNetMsg(LuaMessageIdToSever.GET_SECRET_REALM_MONSTER_COUNT, { repId = self.repId })
- end
- end)
-
- self.secrect_boss_line_data_list_all_item[realIndex + 1] = item
- return item.view.root
- end
- function this:SecretBossLineDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:SecretBossLineDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.SecretAllLine[realIndex + 1]
- --local monsterid = self.current_secrect_data.monsterid
- self.secrect_boss_line_data_list_all_item[realIndex + 1]:RefreshItem(self.repId, data, 0, self, 210)
- end
- function this:SecretRewardDataListItemCountFunc()
- return #self.SecretAllRwward
- end
- function this:SecretRewardDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossRewardItem/KLUIChallengeBossRewardItem", self.view.secret_reward_data_list, self, {}, true)
-
- self.secrect_reward_level_all_item[item.view.root] = item
- return item.view.root
- end
- function this:SecretRewardDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:SecretRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.SecretAllRwward[realIndex + 1]
- self.secrect_reward_level_all_item[kmlcontrol]:RefreshItem({ cfgId = data }, self.select_Secret_level, self)
- end
- function this:SecretRewardBoxDataListItemCountFunc()
- return #self.SecretAllBoxRwward
- end
- function this:SecretRewardBoxDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossRewardItem/KLUIChallengeBossRewardItem", self.view.secret_reward_box_data_list, self, {}, true)
-
- self.secrect_reward_box_level_all_item[item.view.root] = item
- return item.view.root
- end
- function this:SecretRewardBoxDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:SecretRewardBoxDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.SecretAllBoxRwward[realIndex + 1]
- self.secrect_reward_box_level_all_item[kmlcontrol]:RefreshItem({ cfgId = data }, self.select_Secret_level, self)
- end
- function this:MonserPos(id, message)
- if not message then
- return
- end
- if not message.mapCfgId or not message.line or not message.monsterCfgId then
- return
- end
- if SL:GetMetaValue(EMetaVarGetKey.MAP_ID) == message.mapCfgId and SL:GetMetaValue(EMetaVarGetKey.MAP_LINE) == message.line then
- else
- if InfoManager.redNameInfo:IsLimitTransferById(SL:GetMetaValue("MAIN_ACTOR_ID")) then
- SL:TipMessage(SL:GetConfig('cfg_string', 262).text, 1, NoticeType.NoticeMid)--"pk值较高,无法传送",
- return
- end
- end
- --SL:LogError(table.toString(message))
- SL:StopOnHook(true)
- this.pos_monster_id = message.monsterCfgId
- GUI:UIPanel_Close("dev/outui/ChallengeBoss/Panel/KLChallengeBoss/KLChallengeBossPanel")
- this.map_data = { message.mapCfgId, message.line, message.x, message.y }
- SL:Pathfinding(message.mapCfgId, message.line, message.x, message.y, this.MonserPosEnd, this.pos_monster_id)
- SL.ShowMainPanel()
- end
- function this:MonserPosEnd(pos)
- --SL:StartOnHook(true,true)
- if pos and pos.x and pos.z then
- this.scheduleId = SL:ScheduleOnce(0.1, function()
- SL:Pathfinding(this.map_data[1], this.map_data[2], pos.x, pos.z, this.BossPointOnHook)
- end)
- else
- SL:StartOnHook(true, true, this.pos_monster_id)
- end
- end
- function this:BossPointOnHook()
- SL:StartOnHook(true, true, this.pos_monster_id)
- end
- function this:Close()
- self.monsterId = nil
- self:UnRegistEvents()
- end
- ---选择特权boss
- function this:SelectPrivilegeBoss()
- local playerLevel = SL:GetMetaValue(EMetaVarGetKey.LEVEL)
- if self.monsterId then
- playerLevel = SL:GetConfig("cfg_BOSS_challenge", self.monsterId, "monsterid").level
- end
- if not self.allPrivilegeLevel then
- self.allPrivilegeLevel = {}
- --local allBoss = SL:GetConfigMultiKeys('cfg_BOSS_challenge', 1, 'monsterType')
- local allBoss = SL:FindConfigs("cfg_rep", "type", 18001)
- for i, boss in ipairs(allBoss) do
- boss.index = i
- table.insert(self.allPrivilegeLevel, boss)
- end
- self.select_privilege_level = nil
- self.select_privilege_index = nil
- local index = 0
- for i, boss in ipairs(self.allPrivilegeLevel) do
- local level = boss.level[1]
- if not self.select_privilege_level then
- self.select_privilege_level = level
- self.select_privilege_index = i
- index = i
- else
- if level <= playerLevel and level > self.select_privilege_level then
- self.select_privilege_level = level
- self.select_privilege_index = i
- index = i
- end
- end
- end
- local percentage = index / #self.allPrivilegeLevel
- percentage = percentage - percentage % 0.00001
- GUI:DataListUpdateData(self.view.privilege_boss_level_data_list)
- GUI:SetScrollView_scrollpos(self.view.privilege_boss_select, percentage)
- end
- self:RefreshPrivilegeBoss()
- end
- function this:RefreshPrivilegeBoss()
- self.current_Privilege_data = self.allPrivilegeLevel[self.select_privilege_index]
- --SL:LogTable(self.current_Privilege_data,true)
- self.PrivilegeAllRwward = {}
- self.repId = 0
- local monsterid = nil
- if self.current_Privilege_data then
- monsterid = self.current_Privilege_data.monsterUI
- local tab = SL:GetConfigMultiKeys('cfg_monster', monsterid, 'id')
- local name = tab.name
- local icon = tab.icon
- local appr = tab.appr
- local path = SL:GetConfigMultiKeys('cfg_model_monster', appr, 'id').path
- GUI:Text_setString(self.view.privilege_boss_name, name)
- local mscale = ""
- if self.current_Privilege_data.size then
- local scale = math.ceil(self.current_Privilege_data.size / 100)
- mscale = scale .. "," .. scale .. "," .. scale
- end
- GUI:Model_setSrc(self.view.privilege_boss_path, path, mscale)
- if self.current_Privilege_data.offset and #self.current_Privilege_data.offset >= 2 then
- GUI:setPosition(self.view.privilege_boss_path, self.current_Privilege_data.offset[1], self.current_Privilege_data.offset[2])
- end
- local baseCareer = SL:GetMetaValue(EMetaVarGetKey.JOB)
- for i, one_reward in ipairs(self.current_Privilege_data.UIJobReward) do
- if one_reward[1] == baseCareer then
- table.insert(self.PrivilegeAllRwward, one_reward[2])
- end
- end
- GUI:DataListUpdateData(self.view.privilege_boss_reward_data_list)
- end
- GUI:Text_setString(self.view.privilege_boss_last_num, "")
- self.privilege_num = 0
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_PRIVILEGE_BOSS_PANEL, { configId = self.current_Privilege_data.id })
- InfoManager.uiHuntingDemonsInfo:SetIntegralInControl(self.view.tequan_boss_Integral_BG,self.view.tequan_boss_Integral_Text,monsterid)
- end
- function this:PrivilegeBossBtnDataListItemCountFunc()
- return #self.allPrivilegeLevel
- end
- function this:PrivilegeBossBtnDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossSelectBtnItem/KLUIChallengeBossSelectBtnItem", self.view.privilege_boss_level_data_list, self, {}, true)
-
- self.privilege_boss_level_btn_all_item[item.view.root] = item
- return item.view.root
- end
- function this:PrivilegeBossBtnDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:PrivilegeBossBtnDataListItemUpdateFunc(realIndex, kmlcontrol)
- local _level = self.allPrivilegeLevel[realIndex + 1].level[1]
- local monsterUI = self.allPrivilegeLevel[realIndex + 1].monsterUI
- local data = { level = _level, monsterid = monsterUI, index = self.allPrivilegeLevel[realIndex + 1].index }
- self.privilege_boss_level_btn_all_item[kmlcontrol]:RefreshItem(data, self.select_privilege_index, self, 4)
- if self.allPrivilegeLevel[realIndex + 1].index == self.select_privilege_index then
- self.PrivilegeBossLevelBtn = self.privilege_boss_level_btn_all_item[kmlcontrol]
- end
- end
- function this:HideSelectLevelPrivilege()
- self.PrivilegeBossLevelBtn:HideItem()
- end
- function this:SelectLevelPrivilege(level, Btn)
- self.PrivilegeBossLevelBtn = Btn
- self.select_privilege_index = level
- self:RefreshPrivilegeBoss()
- end
- function this:PrivilegeRewardDataListItemCountFunc()
- return #self.PrivilegeAllRwward
- end
- function this:PrivilegeRewardDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossRewardItem/KLUIChallengeBossRewardItem", self.view.privilege_boss_reward_data_list, self, {}, true)
-
- self.privilege_reward_level_all_item[item.view.root] = item
- return item.view.root
- end
- function this:PrivilegeRewardDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:PrivilegeRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.PrivilegeAllRwward[realIndex + 1]
- self.privilege_reward_level_all_item[kmlcontrol]:RefreshItem({ cfgId = data }, self.select_Secret_level, self)
- end
- ---圣域BOSS
- function this:SanctuaryBossBtnDataListItemCountFunc()
- return #self.allSanctuaryLevel
- end
- function this:SanctuaryBossBtnDataListItemGetFunc(realIndex)
- local data = self.allSanctuaryLevel[realIndex + 1]
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossSelectBtnItem/KLUIChallengeBossSelectBtnItem", self.view.sanctuary_boss_level_data_list, self, {}, true)
-
- self.sanctuary_boss_level_btn_all_item[item.view.root] = item
- return item.view.root
- end
- function this:SanctuaryBossBtnDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:SanctuaryBossBtnDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.allSanctuaryLevel[realIndex + 1]
- self.sanctuary_boss_level_btn_all_item[kmlcontrol]:RefreshItem(data, self.select_Sanctuary_level, self, EBossChallengeType.Sanctuary)
- if data.level == self.select_Sanctuary_level then
- self.sanctuaryBossLevelBtn = self.sanctuary_boss_level_btn_all_item[kmlcontrol]
- end
- end
- function this:SanctuaryBossLineDataListItemCountFunc()
- return #self.sanctuaryAllLine
- end
- function this:SanctuaryBossLineDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossLineItem/KLUIChallengeBossLineItem", self.view.sanctuary_boss_line_data_list, self, { is_copy = 1 }, true)
-
- self.sanctuary_boss_line_data_list_all_item[realIndex + 1] = item
- return item.view.root
- end
- function this:SanctuaryBossLineDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:SanctuaryBossLineDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.allSanctuaryLevel[realIndex + 1]
- local mapMoveId = self.current_Sanctuary_data.mapMoveId[1][1]
- self.sanctuary_boss_line_data_list_all_item[realIndex + 1]:RefreshItem(self.repId, data, mapMoveId, self, 210, self.current_Sanctuary_data)
- end
- function this:SanctuaryRewardDataListItemCountFunc()
- return #self.sanctuaryAllRwward
- end
- function this:SanctuaryRewardDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossRewardItem/KLUIChallengeBossRewardItem", self.view.sanctuary_reward_data_list, self, {}, true)
-
- self.sanctuary_reward_level_all_item[item.view.root] = item
- return item.view.root
- end
- function this:SanctuaryRewardDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:SanctuaryRewardDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.sanctuaryAllRwward[realIndex + 1]
- self.sanctuary_reward_level_all_item[kmlcontrol]:RefreshItem({ cfgId = data }, self.select_Sanctuary_level, self)
- end
- function this:SanctuaryRewardBoxDataListItemCountFunc()
- return #self.sanctuaryAllBoxRwward
- end
- function this:SanctuaryRewardBoxDataListItemGetFunc(realIndex)
- local item = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Item/KLUIChallengeBossRewardItem/KLUIChallengeBossRewardItem", self.view.sanctuary_reward_box_data_list, self, {}, true)
-
- self.sanctuary_reward_box_level_all_item[item.view.root] = item
- return item.view.root
- end
- function this:SanctuaryRewardBoxDataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:SanctuaryRewardBoxDataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.sanctuaryAllBoxRwward[realIndex + 1]
- self.sanctuary_reward_box_level_all_item[kmlcontrol]:RefreshItem({ cfgId = data }, self.select_Sanctuary_level, self)
- end
- function this:RES_PRIVILEGE_BOSS_PANEL(id, message)
- local leftCount = message.leftCount
- local numStr = tostring(leftCount)
- -- if not self:IsHavePrivilege() or leftCount == 0 then
- -- numStr = "<color=#ff2323>0</color>"
- -- end
- if leftCount == 0 then
- numStr = "<color=#ff2323>0</color>"
- end
- self.privilege_num = leftCount
- GUI:Text_setString(self.view.privilege_boss_last_num, numStr)
- end
- function this:privilege_boss_join()
- local map_id = SL:GetMetaValue(EMetaVarGetKey.MAP_ID)
- local mapTab = SL:GetConfig("cfg_map_info", map_id)
- if mapTab.nopositionmove and mapTab.nopositionmove == 1 then
- SL:MessageTip({ id = 116 })--"副本中无法传送",
- return
- end
- -- if self:IsHavePrivilege() then
- -- else
- -- --无特权
- -- GUI:UIPanel_Close("dev/outui/ChallengeBoss/Panel/KLChallengeBoss/KLChallengeBossPanel")
- -- GUI:UIPanel_Open("dev/outui/MonthCard/Panel/KLUIMonthCardMain/KLUIMonthCardMainPanel")
- -- return
- -- end
- local playerLevel = SL:GetMetaValue(EMetaVarGetKey.LEVEL)
- if self.current_Privilege_data.level[1] > playerLevel then
- SL:TipMessage(SL:GetConfig('cfg_string', 263).text, 1, NoticeType.NoticeMid)--"当前等级不足",
- return
- end
- if self.privilege_num <= 0 then
- SL:TipMessage(SL:GetConfig('cfg_string', 264).text, 1, NoticeType.NoticeMid)--"挑战次数不足",
- return
- end
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_ENTER_DUPLICATE, self.current_Privilege_data.id)
- end
- function this:IsHavePrivilege()
- if InfoManager.monthCardInfo.IsGetMonthCard or InfoManager.monthCardInfo.IsGetDailyCard then
- --有月卡或是日卡
- return true
- elseif PrivilegeCardManager.goldPrivilege or PrivilegeCardManager.diamondPrivilege then
- --有黄金或者钻石特权
- return true
- else
- --无特权
- end
- return false
- end
- function this:UnRegistEvents()
- SL:UnRegisterLuaNetMsg(LuaMessageIdToClient.NEAREST_MONSTER, self.MonserPos, self)
- SL:UnRegisterLuaNetMsg(LuaMessageIdToClient.SECRET_REALM_COUNT, self.SecretCount, self)
- SL:UnRegisterLuaNetMsg(LuaMessageIdToClient.RES_PRIVILEGE_BOSS_PANEL, self.RES_PRIVILEGE_BOSS_PANEL, self)
- SL:UnRegisterLuaNetMsg(LuaMessageIdToClient.MONSTER_COUNT_RESULT_BY_ID, self.MonserCount, self)
- SL:UnRegisterLuaNetMsg(LuaMessageIdToClient.SEND_SECRET_REALM_MONSTER_COUNT, self.MonserCopyCount, self)
- end
- function this:LUA_EVENT_CHALLENGE_BOSS_MONSTER_POS(_id, message)
- self:MonserPos(nil, message)
- end
- return this
|