UIBattleSimpleResultView.lua 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. local UIBattleSimpleResultView = require("UIBattle/UIBattleSimpleResultView_Generate")
  2. function UIBattleSimpleResultView:OnAwake(data)
  3. self.controller = require("UIBattle/UIBattleSimpleResultCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIBattleSimpleResultView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  9. end
  10. function UIBattleSimpleResultView:FillContent(data, uiBase)
  11. self.uiBase = uiBase
  12. local gameObject = self.uiBase:GetRoot()
  13. if gameObject ~= nil then
  14. self.gameObject = gameObject
  15. self.transform = gameObject.transform
  16. end
  17. self:InitGenerate(self.transform, data)
  18. self:Init()
  19. end
  20. function UIBattleSimpleResultView:Init()
  21. local battleResult = self.controller:GetBattleResult()
  22. self.battleLose:SetActive(battleResult ~= 1)
  23. self.battleWin:SetActive(battleResult == 1)
  24. self.AnyBtn.button.interactable = false
  25. if self.canExitTimer then
  26. self.canExitTimer.time = self.canExitTimer.duration
  27. else
  28. self.canExitTimer = Timer.New(slot(self.OpenAnyBtnClick, self), 1)
  29. end
  30. if not self.canExitTimer.running then
  31. self.canExitTimer:Start()
  32. end
  33. if self.exitTimer then
  34. self.exitTimer.time = self.exitTimer.duration
  35. else
  36. self.exitTimer = Timer.New(slot(self.OnClickCancelBtn, self), 10)
  37. end
  38. if not self.exitTimer.running then
  39. self.exitTimer:Start()
  40. end
  41. end
  42. function UIBattleSimpleResultView:RemoveEventListener()
  43. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  44. end
  45. function UIBattleSimpleResultView:AddUIEventListener()
  46. self.uiBase:AddButtonEventListener(self.AnyBtn.button,self, self.OnClickCancelBtn)
  47. end
  48. function UIBattleSimpleResultView:OnHide()
  49. end
  50. function UIBattleSimpleResultView:OnShow(data)
  51. self.controller:SetData(data)
  52. end
  53. function UIBattleSimpleResultView:OnClose()
  54. end
  55. function UIBattleSimpleResultView:OnDispose()
  56. if self.exitTimer then
  57. self.exitTimer:Stop()
  58. self.exitTimer = nil
  59. end
  60. if self.canExitTimer then
  61. self.canExitTimer:Stop()
  62. self.canExitTimer = nil
  63. end
  64. self.controller:OnDispose()
  65. end
  66. function UIBattleSimpleResultView:OnClickCancelBtn()
  67. self.controller:HandleCallback()
  68. self:UIClose()
  69. end
  70. function UIBattleSimpleResultView:OpenAnyBtnClick()
  71. self.AnyBtn.button.interactable = true
  72. end
  73. return UIBattleSimpleResultView