源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
2.9 KiB

  1. TextFaceItem = TextFaceItem or BaseClass(BaseItem)
  2. function TextFaceItem:__init()
  3. self.base_file = "chat"
  4. self.layout_file = "textFaceItem"
  5. -- self.use_local_view = true
  6. self.model = ChatModel:getInstance()
  7. self.index = nil
  8. self.vo = nil
  9. self:Load()
  10. end
  11. function TextFaceItem:Load_callback()
  12. self.select ,
  13. self.textObj,
  14. self.bg,
  15. self.addBtn,
  16. self.delBtn
  17. = GetChildGameObjects(self.transform,{
  18. "Select",
  19. "Text",
  20. "bg",
  21. "addBtn",
  22. "delBtn"
  23. })
  24. self.select:SetActive(false)
  25. self.text
  26. = GetChildTexts(self.transform,{
  27. "Text"
  28. })
  29. if self.need_refreshData then
  30. self:SetData()
  31. end
  32. local function onClickBtnHandler(target)
  33. if target == self.textObj then
  34. if self.vo then
  35. if self.index > #Config.ConfigChat.text_face
  36. and not self.model.horn_view_is_open then
  37. --自定义的文字直接发送到聊天频道
  38. self.model:Fire(ChatModel.SEND_MSG_IN_VIEW, self.vo.one)
  39. GlobalEventSystem:Fire(EventName.CLOSE_INDIVIDUATION_VIEW)
  40. else
  41. --选中并发送到输入框
  42. self.model:SeletedTextFaceItem(self)
  43. end
  44. else
  45. GlobalEventSystem:Fire(EventName.OPEN_CHAT_CUSTOM_TEXT_VIEW, self.index)
  46. end
  47. elseif target == self.addBtn then
  48. GlobalEventSystem:Fire(EventName.OPEN_CHAT_CUSTOM_TEXT_VIEW, self.index)
  49. elseif target == self.delBtn then
  50. local cookie = CookieWrapper.Instance:GetCookie(CookieLevelType.Account, CookieKey.CHAT_CUSTOM_TEXT)
  51. if cookie and cookie[self.index] then
  52. cookie[self.index] = nil
  53. CookieWrapper.Instance:SaveCookie(CookieLevelType.Account, CookieTimeType.TYPE_ALWAYS, CookieKey.CHAT_CUSTOM_TEXT, cookie)
  54. Message.show("删除成功")
  55. self.model:Fire(ChatModel.UPDATE_INDIVID_VIEW)
  56. end
  57. end
  58. end
  59. AddClickEvent(self.textObj,onClickBtnHandler)
  60. AddClickEvent(self.addBtn,onClickBtnHandler)
  61. AddClickEvent(self.delBtn,onClickBtnHandler)
  62. end
  63. function TextFaceItem:SetData(index)
  64. self.index = index or self.index
  65. if self.is_loaded then
  66. self.need_refreshData = false
  67. if self.index > #Config.ConfigChat.text_face then
  68. local cookie = CookieWrapper.Instance:GetCookie(CookieLevelType.Account, CookieKey.CHAT_CUSTOM_TEXT)
  69. if cookie and cookie[self.index] then
  70. self.vo = {}
  71. self.vo.desc = cookie[self.index].desc
  72. self.vo.one = cookie[self.index].one
  73. self.vo.two = ""
  74. self.text.text = self.vo.desc
  75. self.addBtn:SetActive(false)
  76. self.delBtn:SetActive(true)
  77. else
  78. self.vo = nil
  79. self.text.text = ""
  80. self.addBtn:SetActive(true)
  81. self.delBtn:SetActive(false)
  82. end
  83. else
  84. self.vo = Config.ConfigChat.text_face[self.index]
  85. self.text.text = self.vo.desc
  86. self.addBtn:SetActive(false)
  87. self.delBtn:SetActive(false)
  88. end
  89. else
  90. self.need_refreshData = true
  91. end
  92. end
  93. function TextFaceItem:SetSelect(bool)
  94. if bool then
  95. self.select:SetActive(true)
  96. else
  97. self.select:SetActive(false)
  98. end
  99. end