UIQuickBattleCtr.lua 1.2 KB

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