源战役客户端
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

96 righe
2.9 KiB

4 settimane fa
  1. --[[
  2. --]]
  3. UIListTitle = UIListTitle or BaseClass()
  4. function UIListTitle:__init(parent_wnd, bheight, del_x)
  5. -- 标题栏高度
  6. self.height = bheight or 45
  7. self.del_x=del_x or 1
  8. self.root_wnd = parent_wnd
  9. self.bgList = {}
  10. self.labelList = {}
  11. self.root_size = parent_wnd.transform.sizeDelta
  12. local bg = UiFactory.createChild(self.root_wnd,UIType.Image,"bg")
  13. lua_resM:setImageSprite(self,bg:GetComponent("Image"),"common_asset", "tyui_syq_bg")
  14. -- bg.transform.localPosition = Vector3(0, 0, 0)
  15. bg.transform.sizeDelta = Vector2(self.root_size.x, self.height)
  16. bg.transform.anchorMax = Vector2(0, 1)
  17. bg.transform.anchorMin = Vector2(0, 1)
  18. bg:GetComponent("Image").type = UnityEngine.UI.Image.Type.Sliced
  19. bg.transform.pivot = Vector2(0,1)
  20. bg.transform.localPosition = Vector3(0, 0, 0)
  21. end
  22. -- 设置标题栏{{"名字",宽度},{"名字",宽度}...}
  23. function UIListTitle:SetData(data)
  24. self.data = data or {}
  25. self:ClearItems()
  26. local px = 0
  27. local len = #self.data
  28. for i=1,len do
  29. local d = self.data[i]
  30. local title = d[1] or ""
  31. local width = d[2] or 40
  32. local font_size = d[3] or 20
  33. if i~=len then
  34. local bg = self:CreateBg(px,width)
  35. self.bgList[i] = bg
  36. end
  37. local label = self:CreateLabel(title,px,width, font_size)
  38. self.labelList[i] = label
  39. px = px + width
  40. end
  41. end
  42. function UIListTitle:ClearItems()
  43. for k,v in pairs(self.bgList) do
  44. lua_viewM:ClearItem(v)
  45. end
  46. self.bgList={}
  47. for k,v in pairs(self.labelList) do
  48. lua_viewM:ClearItem(v)
  49. end
  50. self.labelList={}
  51. end
  52. function UIListTitle:CreateLabel(str,px,width, font_size)
  53. local label = UiFactory.createChild(self.root_wnd,UIType.Label2,"label")
  54. -- label.transform.localPosition = Vector3(px, 0, 0)
  55. label.transform.localPosition = Vector3(px, 0, 0)
  56. label.transform.sizeDelta = Vector2(width, self.height or 45)
  57. label:GetComponent("Text").alignment = UnityEngine.TextAnchor.MiddleCenter
  58. label:GetComponent("Text").text = str
  59. label:GetComponent("Text").color = ColorUtilValue.WHITE
  60. label:GetComponent("Text").fontSize = font_size
  61. label.transform.anchorMax = Vector2(0, 1)
  62. label.transform.anchorMin = Vector2(0, 1)
  63. label.transform.pivot = Vector2(0,1)
  64. label.transform.localPosition = Vector3(px, 0, 0)
  65. return label
  66. end
  67. function UIListTitle:CreateBg(px,width)
  68. local bg = UiFactory.createChild(self.root_wnd,UIType.Image,"bg")
  69. lua_resM:setImageSprite(self,bg:GetComponent("Image"),"common_asset", "tyui_syq_gt")
  70. -- bg.transform.localPosition = Vector3(px+width, 0, 0)
  71. bg.transform.localPosition = Vector3(px+width, 0, 0)
  72. bg.transform.sizeDelta = Vector2(1, self.height or 45)
  73. bg.transform.anchorMax = Vector2(0, 1)
  74. bg.transform.anchorMin = Vector2(0, 1)
  75. bg.transform.pivot = Vector2(0,1)
  76. bg.transform.localPosition = Vector3(px+width, 0, 0)
  77. return bg
  78. end
  79. --传入颜色id
  80. function UIListTitle:SetLabelColor( color_id )
  81. for _,v in pairs(self.labelList) do
  82. v:GetComponent("Text").color = ColorUtil:GetGoodsColor(color_id)
  83. end
  84. end