UIChapterView.lua 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. local UIChapterView = require("UIChapter/UIChapterView_Generate")
  2. function UIChapterView:OnAwake(data)
  3. self.controller = require("UIChapter/UIChapterCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIChapterView:AddEventListener()
  8. end
  9. function UIChapterView:FillContent(data, uiBase)
  10. self.uiBase = uiBase
  11. local gameObject = self.uiBase:GetRoot()
  12. if gameObject ~= nil then
  13. self.gameObject = gameObject
  14. self.transform = gameObject.transform
  15. end
  16. self:InitGenerate(self.transform, data)
  17. self:Init()
  18. end
  19. function UIChapterView:Init()
  20. local cfgId = self.controller:GetCfgId()
  21. if cfgId then
  22. local storyChapterCfgData = ManagerContainer.CfgMgr:GetStoryChapterById(cfgId)
  23. if storyChapterCfgData then
  24. self.textC.uILocalizeScript:SetContent(storyChapterCfgData.Name)
  25. self.text2.uILocalizeScript:SetContent(storyChapterCfgData.Content)
  26. CommonUtil.LoadIcon(self, storyChapterCfgData.Icon, function (sprite)
  27. self.logo1.image.sprite = sprite
  28. self.logoLt.image.sprite = sprite
  29. end, self, 'IconAsyncIdx')
  30. end
  31. end
  32. local animator = self.uICapterAnim.animator
  33. local showStateInfo = animator:GetCurrentAnimatorStateInfo(0)
  34. local closeTime
  35. if showStateInfo then
  36. closeTime = showStateInfo.length
  37. local normalizedTime = showStateInfo.normalizedTime
  38. closeTime = (1 - normalizedTime) * closeTime
  39. end
  40. if not closeTime then closeTime = 0 end
  41. if not self.timer then
  42. self.timer = Timer.New(function()
  43. self:UIClose()
  44. end, closeTime, 1)
  45. end
  46. if self.timer.running then
  47. self.timer.time = closeTime
  48. else
  49. self.timer:Start()
  50. end
  51. end
  52. function UIChapterView:RemoveEventListener()
  53. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  54. end
  55. function UIChapterView:AddUIEventListener()
  56. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  57. end
  58. function UIChapterView:OnHide()
  59. end
  60. function UIChapterView:OnShow(data)
  61. self.controller:SetData(data)
  62. end
  63. function UIChapterView:OnClose()
  64. end
  65. function UIChapterView:OnDispose()
  66. if self.timer then
  67. self.timer:Stop()
  68. self.timer = nil
  69. end
  70. self.controller:OnDispose()
  71. end
  72. return UIChapterView