UIQuickBattleCtr.lua 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. local UIQuickBattleCtr = class("UIQuickBattleCtr", require("UICtrBase"))
  2. function UIQuickBattleCtr:Init(view)
  3. self.view = view
  4. self.limitStr = I18N.T('Limit')
  5. end
  6. function UIQuickBattleCtr:SetData(data)
  7. self.asyncIdx = 0
  8. if data == nil then return end
  9. self.data = data
  10. end
  11. function UIQuickBattleCtr:GetAsyncIdx()
  12. self.asyncIdx = self.asyncIdx + 1
  13. return self.asyncIdx
  14. end
  15. function UIQuickBattleCtr:GetData()
  16. return self.data
  17. end
  18. function UIQuickBattleCtr:LeftCnt()
  19. local maxCnt = ManagerContainer.LuaBattleMgr:MaxQuickBattleTimes()
  20. local usedCnt = ManagerContainer.LuaBattleMgr:UsedQuickBattleTimes()
  21. return maxCnt - usedCnt
  22. end
  23. function UIQuickBattleCtr:GetUseCondition()
  24. local leftCnt = self:LeftCnt()
  25. if leftCnt == 0 then
  26. return self.limitStr , true
  27. end
  28. local nextTimes = ManagerContainer.LuaBattleMgr:UsedQuickBattleTimes() + 1
  29. local costCfg = ManagerContainer.CfgMgr:GetQuickBattleCost(nextTimes)
  30. if costCfg == nil or costCfg.Cost == 0 then
  31. return I18N.T("Free"), true
  32. end
  33. local enough = costCfg.Cost <= ManagerContainer.DataMgr.UserData:GetOwnDiamond()
  34. return tostring(costCfg.Cost), enough
  35. end
  36. function UIQuickBattleCtr:OnDispose()
  37. self.data = nil
  38. self.view = nil
  39. end
  40. return UIQuickBattleCtr