源战役客户端
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

75 líneas
1.8 KiB

  1. UITalkBoard = UITalkBoard or BaseClass(BaseItem)
  2. function UITalkBoard:__init()
  3. self.layout_file = "TalkBoard"
  4. self.base_file = "uiComponent"
  5. self:Load()
  6. end
  7. function UITalkBoard:__delete()
  8. if self.camera_move_id then
  9. GlobalEventSystem:UnBind(self.camera_move_id)
  10. self.camera_move_id = nil
  11. end
  12. if self.camera_change_size_id then
  13. GlobalEventSystem:UnBind(self.camera_change_size_id)
  14. self.camera_change_size_id = nil
  15. end
  16. if self.delay_timer then
  17. GlobalTimerQuest:CancelQuest(self.delay_timer)
  18. self.delay_timer = nil
  19. end
  20. end
  21. function UITalkBoard:Load_callback()
  22. self.contentText = self:GetChild("Content"):GetComponent("Text")
  23. self.bg_image = self:GetChild("Image"):GetComponent("Image")
  24. self.bg_con = self:GetChild("Image")
  25. self.content_con = self:GetChild("Content")
  26. self:InitEvent()
  27. end
  28. function UITalkBoard:InitEvent()
  29. end
  30. function UITalkBoard:UpdatePos(x,y,z)
  31. SetLocalPosition(self.transform,x,y,z)
  32. end
  33. function UITalkBoard:SetContent(content,content_width)
  34. self.gameObject:SetActive(true)
  35. self.content = content
  36. self.contentText.text = content
  37. self.content_con.sizeDelta = Vector2(content_width,100)
  38. --20 是 距离上下左右的偏移,另外一个 20 是 下面那个尖尖的高度
  39. local width = math.min(self.contentText.preferredWidth,content_width)
  40. local height = self.contentText.preferredHeight
  41. self.bg_con.sizeDelta = Vector2(width + 20 ,height + 20 + 20)
  42. self.content_con.localPosition = Vector3(10,height + 20 + 20 - 10,0)
  43. end
  44. function UITalkBoard:StartTimer(time)
  45. if self.delay_timer == nil then
  46. local delay_callback = function()
  47. self:Show(false)
  48. self.delay_timer = nil
  49. end
  50. self.delay_timer = GlobalTimerQuest:AddDelayQuest(delay_callback, time)
  51. end
  52. end
  53. function UITalkBoard:Show(bool)
  54. self.gameObject:SetActive(bool)
  55. end