源战役客户端
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
2.1 KiB

hace 4 semanas
  1. MessageItemNew = MessageItemNew or BaseClass(BaseItem)
  2. local MessageItemNew = MessageItemNew
  3. MessageItemNew.Height = 32
  4. MessageItemNew.MoveOffset = 20
  5. function MessageItemNew:__init(parent,prefab_asset,layer_name,create_callback)
  6. self.base_file = "message"
  7. self.layout_file = "miniMessage"
  8. self.layer_name = "Top"
  9. self.create_callback = create_callback
  10. self:Load()
  11. end
  12. function MessageItemNew:Load_callback()
  13. -- self.nodes = {
  14. -- "content:txt",
  15. -- "bg",
  16. -- }
  17. -- self:GetChildren(self.nodes)
  18. self.height = MessageItemNew.Height
  19. self.bg = self:GetChild("bg").gameObject
  20. self.bg_transform = self.bg.transform
  21. self.text = self:GetChild("Text"):GetComponent("TMP_Text")
  22. if self.create_callback then
  23. self:create_callback(self)
  24. end
  25. self:AddEvents()
  26. if self.need_refreshData then
  27. self:UpdateView()
  28. end
  29. end
  30. function MessageItemNew:AddEvents( )
  31. end
  32. function MessageItemNew:UpdateView( )
  33. self.text.text = self.data.content
  34. self:SetVisible(true)
  35. self:SetPosition(0,-self.real_index*(self.height))
  36. local function time_callback ()
  37. self.time_count = self.time_count + 1
  38. if self.time_count >= 2 then
  39. SysInfoCtrl.Instance:DeleteFuncCallBack("MessageItemNew"..self.real_index)
  40. self.callback(self, self.index, self.real_index)
  41. end
  42. end
  43. SysInfoCtrl.Instance:SetFuncCallBack(time_callback, "MessageItemNew"..self.real_index)
  44. SetSizeDeltaX(self.bg_transform, self.text.preferredWidth + 72)
  45. end
  46. --real_index是目前正在飘的所有item总数
  47. function MessageItemNew:SetData( data ,index, real_index, callback)
  48. self.data = data
  49. self.index = index
  50. self.real_index = real_index
  51. self.callback = callback
  52. if self.is_loaded then
  53. self.need_refreshData = false
  54. self:UpdateView()
  55. else
  56. self.need_refreshData = true
  57. end
  58. end
  59. function MessageItemNew:Reset( )
  60. self.time_count = 0
  61. SetAnchoredPositionY(self.transform,0)
  62. cc.ActionManager:getInstance():removeAllActionsFromTarget(self.transform)
  63. self.is_first_create = true
  64. end
  65. function MessageItemNew:__delete( )
  66. cc.ActionManager:getInstance():removeAllActionsFromTarget(self.transform)
  67. SysInfoCtrl.Instance:DeleteFuncCallBack("MessageItemNew"..self.real_index)
  68. end