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

112 lines
5.2 KiB

  1. CSGWarSubShowItem = CSGWarSubShowItem or BaseClass(BaseItem)
  2. local CSGWarSubShowItem = CSGWarSubShowItem
  3. function CSGWarSubShowItem:__init()
  4. self.base_file = "CSGWar"
  5. self.layout_file = "CSGWarSubShowItem"
  6. self.model = CSGWarModel:GetInstance()
  7. self.color_str = {
  8. [1] = "#de43ec",
  9. [2] = "#f32020",
  10. [3] = "#5b93db",
  11. [4] = "#b97509",
  12. }
  13. self.pos_data = {
  14. [1] = {occupy_bg = {-100,85}, occupy_text = {-135,85}, reward_image = {-108,30}, receive_image = {-108,30}, guild_text = {-99,-28}, name_text = {-99,-49}, city_text = {-68,-82},occupy_color = {-64,-83}, occupy_image = {-77.5,84.5},},
  15. [2] = {occupy_bg = {100,85}, occupy_text = {82,85}, reward_image = {107,30}, receive_image = {107,30}, guild_text = {30,-28}, name_text = {30,-49}, city_text = {57,-82},occupy_color = {58,-83}, occupy_image = {140.5,84.5},},
  16. [3] = {occupy_bg = {-100,-84}, occupy_text = {-135,-84}, reward_image = {-108,-30}, receive_image = {-108,-30}, guild_text = {-99,56}, name_text = {-99,34}, city_text = {-68,84},occupy_color = {-64,84}, occupy_image = {-77.5,-84.5},},
  17. [4] = {occupy_bg = {100,-84}, occupy_text = {82,-84}, reward_image = {107,-30}, receive_image = {107,-30}, guild_text = {30,56}, name_text = {30,34}, city_text = {57,84},occupy_color = {58,84}, occupy_image = {140.5,-84.5},},
  18. }
  19. self:Load()
  20. end
  21. function CSGWarSubShowItem:Load_callback()
  22. self.nodes = {
  23. "receive_image:obj:img", "reward_image:obj:img", "occupy_bg:img", "bg:img", "guild_text:tmp", "name_text:tmp",
  24. "reward_image/reward_image_red:obj", "occupy_image:obj",
  25. "city_text:tmp", "occupy_text:tmp", "occupy_color:img",
  26. }
  27. self:GetChildren(self.nodes)
  28. self:AddEvents()
  29. if self.need_refreshData then
  30. self:UpdateView()
  31. end
  32. end
  33. function CSGWarSubShowItem:AddEvents( )
  34. local function on_click( ... )
  35. self.model:Fire(CSGWarConst.REQ_CSGWAR_SCMD, 60107, self.data.city_id)
  36. end
  37. AddClickEvent(self.reward_image_obj, on_click)
  38. end
  39. function CSGWarSubShowItem:UpdateView( )
  40. local cfg = Config.Crossguildwarscene
  41. self.city_text_tmp.text = cfg[self.index+1].name
  42. lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetCSGWarImage("csgwar_subbg"..self.index), true)
  43. local pos_data = self.pos_data[self.index]
  44. if self.data and TableSize(self.data) > 0 then
  45. self.guild_text_tmp.text = GetCSLongName(self.data.guild_name, self.data.server_num, false, ColorUtil.GREEN_DARK)
  46. self.name_text_tmp.text = string.format("%s %s", HtmlColorTxt("团长:",ColorUtil.YELLOW_DARK), self.data.chief_name)
  47. self.occupy_text_tmp.text = KfWorldModel:GetInstance():GetContrayNameById(self.data.fact_id)
  48. -- self.occupy_text_tmp.text = GetCSLongName("服", self.data.server_num, true)
  49. local server_id = RoleManager.Instance.mainRoleInfo.server_id
  50. if self.data.is_received_reward == 1 then
  51. lua_resM:setImageSprite(self, self.reward_image_img, "CSGWar_asset", "CSGWar_item3")
  52. else
  53. lua_resM:setImageSprite(self, self.reward_image_img, "CSGWar_asset", "CSGWar_item2")
  54. end
  55. self.reward_image_obj:SetActive(server_id == self.data.server_id)
  56. self.receive_image_obj:SetActive(self.data.is_received_reward == 1)
  57. self.reward_image_red_obj:SetActive(self.data.is_received_reward == 0 and server_id == self.data.server_id)
  58. self.occupy_image_obj:SetActive(true)
  59. SetAnchoredPosition(self.occupy_text, pos_data.occupy_text[1], pos_data.occupy_text[2])
  60. else
  61. self.name_text_tmp.text = string.format("%s %s", HtmlColorTxt("团长:",ColorUtil.YELLOW_DARK), "暂无")
  62. self.guild_text_tmp.text = string.format("暂无占领")
  63. self.occupy_image_obj:SetActive(false)
  64. self.occupy_text_tmp.text = "暂无占领"
  65. self.receive_image_obj:SetActive(false)
  66. self.reward_image_obj:SetActive(false)
  67. self.reward_image_red_obj:SetActive(false)
  68. if self.index == 1 or self.index == 3 then
  69. SetAnchoredPosition(self.occupy_text, pos_data.occupy_text[1]+40, pos_data.occupy_text[2])
  70. else
  71. SetAnchoredPosition(self.occupy_text, pos_data.occupy_text[1]+30, pos_data.occupy_text[2])
  72. end
  73. end
  74. if self.index == 2 or self.index == 4 then
  75. lua_resM:setImageSprite(self, self.occupy_bg_img, "CSGWar_asset", "CSGWar_item6")
  76. end
  77. -- if self.index == 3 or self.index == 4 then
  78. -- self.occupy_bg.localRotation = Quaternion.Euler(0,0,180)
  79. -- end
  80. SetAnchoredPosition(self.receive_image, pos_data.receive_image[1], pos_data.receive_image[2])
  81. SetAnchoredPosition(self.reward_image, pos_data.reward_image[1], pos_data.reward_image[2])
  82. SetAnchoredPosition(self.occupy_bg, pos_data.occupy_bg[1], pos_data.occupy_bg[2])
  83. SetAnchoredPosition(self.guild_text, pos_data.guild_text[1], pos_data.guild_text[2])
  84. SetAnchoredPosition(self.name_text, pos_data.name_text[1], pos_data.name_text[2])
  85. SetAnchoredPosition(self.city_text, pos_data.city_text[1], pos_data.city_text[2])
  86. SetAnchoredPosition(self.occupy_color, pos_data.occupy_color[1], pos_data.occupy_color[2])
  87. SetAnchoredPosition(self.occupy_image, pos_data.occupy_image[1], pos_data.occupy_image[2])
  88. end
  89. function CSGWarSubShowItem:SetData( data,index,room_id )
  90. self.data = data
  91. self.index = index
  92. self.room_id = room_id
  93. if self.is_loaded then
  94. self.need_refreshData = false
  95. self:UpdateView()
  96. else
  97. self.need_refreshData = true
  98. end
  99. end
  100. function CSGWarSubShowItem:__delete( )
  101. if self.on_update_red_id then
  102. self.model:UnBind(self.on_update_red_id)
  103. self.on_update_red_id = nil
  104. end
  105. end