| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- local UIHundredDojoChallengeCtr = class("UIHundredDojoChallengeCtr", require("UICtrBase"))
- function UIHundredDojoChallengeCtr:Init(view)
- self.view = view
- end
- function UIHundredDojoChallengeCtr:SetData(data)
- self.asyncIdx = 0
- if data == nil then return end
- self.data = data
- end
- function UIHundredDojoChallengeCtr:GetAsyncIdx()
- self.asyncIdx = self.asyncIdx + 1
- return self.asyncIdx
- end
- function UIHundredDojoChallengeCtr:GetData()
- return self.data
- end
- function UIHundredDojoChallengeCtr:OnDispose()
- self.rewardRate = nil
- self.defaultHeroCute = nil
- self.robotHeroCute = nil
- self.buyCosts = nil
- self.data = nil
- self.view = nil
- end
- function UIHundredDojoChallengeCtr:InitData()
- local rewardInterval = GlobalConfig.Instance:GetConfigIntValue(252)
- if rewardInterval <= 0 then rewardInterval = 1 end
- self.rewardRate = 60 / rewardInterval
- local costStr = GlobalConfig.Instance:GetConfigStrValue(265)
- self.buyCosts = CommonUtil.DeserializeGlobalStrToNumberTable(costStr)
- self.defaultHeroCute = GlobalConfig.Instance:GetConfigStrValue(259)
- self.robotHeroCute = GlobalConfig.Instance:GetConfigStrValue(258)
- end
- function UIHundredDojoChallengeCtr:GetRewardRate()
- return self.rewardRate
- end
- function UIHundredDojoChallengeCtr:GetAreaData()
- if self.data then
- return ManagerContainer.DataMgr.HundredDojoDataMgr:GetAreaDataById(self.data)
- end
- return nil
- end
- function UIHundredDojoChallengeCtr:GetUserNickname()
- return ManagerContainer.DataMgr.UserData:GetUserNickname()
- end
- function UIHundredDojoChallengeCtr:GetTotalFightPower()
- return ManagerContainer.DataMgr.UserData:GetTotalFightPower()
- end
- function UIHundredDojoChallengeCtr:GetUserRoleId()
- return ManagerContainer.DataMgr.UserData:GetUserRoleId()
- end
- function UIHundredDojoChallengeCtr:GetSelfAreaData()
- return ManagerContainer.DataMgr.HundredDojoDataMgr:GetSelfAreaData()
- end
- function UIHundredDojoChallengeCtr:IsSelfArea(id)
- local selfAreaData = self:GetSelfAreaData()
- if selfAreaData and selfAreaData:IsValidData() and (selfAreaData.id == id) then
- return true
- end
- return false
- end
- function UIHundredDojoChallengeCtr:IsLastBeAtkArea(uid)
- if not uid then
- return false
- end
- local lastBeAtkUid = ManagerContainer.DataMgr.HundredDojoDataMgr:GetLastBeAttackUid()
- if not lastBeAtkUid then
- return false
- end
- return int64.equals(lastBeAtkUid, uid)
- end
- function UIHundredDojoChallengeCtr:IsSameGuild(guildId)
- local guildData = ManagerContainer.DataMgr.GuildDataMgr:GetCurGuildData()
- if guildData then
- return guildData:IsSameGuild(guildId)
- end
- return false
- end
- function UIHundredDojoChallengeCtr:GetDefaultHeroCute()
- return self.defaultHeroCute
- end
- function UIHundredDojoChallengeCtr:GetRobotHeroCute()
- return self.robotHeroCute
- end
- function UIHundredDojoChallengeCtr:GetChallengeCount()
- return ManagerContainer.DataMgr.HundredDojoDataMgr:GetChallengeCount()
- end
- function UIHundredDojoChallengeCtr:GetBuyChallengeCount()
- return ManagerContainer.DataMgr.HundredDojoDataMgr:GetBuyChallengeCount()
- end
- function UIHundredDojoChallengeCtr:GetBuyChallengeCountCost()
- local buyCount = self:GetBuyChallengeCount()
- if self.buyCosts then
- buyCount = Mathf.Clamp(buyCount + 1, 1, #self.buyCosts)
- local buyCost = self.buyCosts[buyCount]
- if buyCost then
- return buyCost[1], buyCost[2]
- end
- end
- return 1, 100
- end
- function UIHundredDojoChallengeCtr:GetSelfSlogan()
- return ManagerContainer.DataMgr.HundredDojoDataMgr:GetSlogan()
- end
- function UIHundredDojoChallengeCtr:SendChallengeReq()
- local areaData = self:GetAreaData()
- if not areaData or not areaData:IsValidData() then
- return 1
- end
- if areaData:IsOccupy() then
- local count = self:GetChallengeCount()
- if count < 1 then
- return 2
- end
- end
- if not ManagerContainer.DataMgr.HundredDojoDataMgr:SendChallengeReq(self.data) then
- return 100007
- end
- return 0
- end
- function UIHundredDojoChallengeCtr:SendBuyChallengeNumReq()
- local costCfgId, costNum = self:GetBuyChallengeCountCost()
- local ownNum = CommonUtil.GetOwnResCountByItemId(costCfgId)
- if ownNum < costNum then
- return 1, costCfgId
- end
- if not ManagerContainer.DataMgr.HundredDojoDataMgr:SendBuyChallengeNumReq() then
- return 100007, nil
- end
- return 0, nil
- end
- return UIHundredDojoChallengeCtr
|