源战役客户端
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

52 行
1.2 KiB

  1. --加载loading
  2. Loading = Loading or BaseClass(BaseComponent)
  3. local Loading = Loading
  4. function Loading:__init(handle_wnd, callback)
  5. self:InitData(callback)
  6. self:CreateGameObject(UIType.Loading)
  7. end
  8. function Loading:InitData(callback)
  9. self.callback = callback
  10. end
  11. function Loading:LoadSuccess()
  12. self.mask = self:GetChild("mask"):GetComponent("Image")
  13. self.circle = self:GetChild("circle")
  14. self:InitEvent()
  15. end
  16. function Loading:InitEvent()
  17. self:Play()
  18. end
  19. function Loading:Play()
  20. self:RemoveTimer()
  21. local time = 0
  22. local function onTimer()
  23. if not self._use_delete_method then
  24. if self.circle then
  25. self.circle:Rotate(Vector3(0, 0, -12))
  26. end
  27. time = time + 0.1
  28. if time - 15 >= 0.001 then --15秒超时自动关闭
  29. self:RemoveTimer()
  30. GlobalEventSystem:Fire(EventName.HIDE_LOADING_VIEW)
  31. GlobalEventSystem:Fire(EventName.RECONNECT_TIMEOUT)
  32. end
  33. end
  34. end
  35. self.period_timer = GlobalTimerQuest:AddPeriodQuest(onTimer,0.1,-1)
  36. onTimer()
  37. end
  38. function Loading:RemoveTimer()
  39. if self.period_timer then
  40. GlobalTimerQuest:CancelQuest(self.period_timer)
  41. self.period_timer = nil
  42. end
  43. end
  44. function Loading:__delete( )
  45. self:RemoveTimer()
  46. end