CSGWarSubShowItem = CSGWarSubShowItem or BaseClass(BaseItem) local CSGWarSubShowItem = CSGWarSubShowItem function CSGWarSubShowItem:__init() self.base_file = "CSGWar" self.layout_file = "CSGWarSubShowItem" self.model = CSGWarModel:GetInstance() self.color_str = { [1] = "#de43ec", [2] = "#f32020", [3] = "#5b93db", [4] = "#b97509", } self.pos_data = { [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},}, [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},}, [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},}, [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},}, } self:Load() end function CSGWarSubShowItem:Load_callback() self.nodes = { "receive_image:obj:img", "reward_image:obj:img", "occupy_bg:img", "bg:img", "guild_text:tmp", "name_text:tmp", "reward_image/reward_image_red:obj", "occupy_image:obj", "city_text:tmp", "occupy_text:tmp", "occupy_color:img", } self:GetChildren(self.nodes) self:AddEvents() if self.need_refreshData then self:UpdateView() end end function CSGWarSubShowItem:AddEvents( ) local function on_click( ... ) self.model:Fire(CSGWarConst.REQ_CSGWAR_SCMD, 60107, self.data.city_id) end AddClickEvent(self.reward_image_obj, on_click) end function CSGWarSubShowItem:UpdateView( ) local cfg = Config.Crossguildwarscene self.city_text_tmp.text = cfg[self.index+1].name lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetCSGWarImage("csgwar_subbg"..self.index), true) local pos_data = self.pos_data[self.index] if self.data and TableSize(self.data) > 0 then self.guild_text_tmp.text = GetCSLongName(self.data.guild_name, self.data.server_num, false, ColorUtil.GREEN_DARK) self.name_text_tmp.text = string.format("%s %s", HtmlColorTxt("团长:",ColorUtil.YELLOW_DARK), self.data.chief_name) self.occupy_text_tmp.text = KfWorldModel:GetInstance():GetContrayNameById(self.data.fact_id) -- self.occupy_text_tmp.text = GetCSLongName("服", self.data.server_num, true) local server_id = RoleManager.Instance.mainRoleInfo.server_id if self.data.is_received_reward == 1 then lua_resM:setImageSprite(self, self.reward_image_img, "CSGWar_asset", "CSGWar_item3") else lua_resM:setImageSprite(self, self.reward_image_img, "CSGWar_asset", "CSGWar_item2") end self.reward_image_obj:SetActive(server_id == self.data.server_id) self.receive_image_obj:SetActive(self.data.is_received_reward == 1) self.reward_image_red_obj:SetActive(self.data.is_received_reward == 0 and server_id == self.data.server_id) self.occupy_image_obj:SetActive(true) SetAnchoredPosition(self.occupy_text, pos_data.occupy_text[1], pos_data.occupy_text[2]) else self.name_text_tmp.text = string.format("%s %s", HtmlColorTxt("团长:",ColorUtil.YELLOW_DARK), "暂无") self.guild_text_tmp.text = string.format("暂无占领") self.occupy_image_obj:SetActive(false) self.occupy_text_tmp.text = "暂无占领" self.receive_image_obj:SetActive(false) self.reward_image_obj:SetActive(false) self.reward_image_red_obj:SetActive(false) if self.index == 1 or self.index == 3 then SetAnchoredPosition(self.occupy_text, pos_data.occupy_text[1]+40, pos_data.occupy_text[2]) else SetAnchoredPosition(self.occupy_text, pos_data.occupy_text[1]+30, pos_data.occupy_text[2]) end end if self.index == 2 or self.index == 4 then lua_resM:setImageSprite(self, self.occupy_bg_img, "CSGWar_asset", "CSGWar_item6") end -- if self.index == 3 or self.index == 4 then -- self.occupy_bg.localRotation = Quaternion.Euler(0,0,180) -- end SetAnchoredPosition(self.receive_image, pos_data.receive_image[1], pos_data.receive_image[2]) SetAnchoredPosition(self.reward_image, pos_data.reward_image[1], pos_data.reward_image[2]) SetAnchoredPosition(self.occupy_bg, pos_data.occupy_bg[1], pos_data.occupy_bg[2]) SetAnchoredPosition(self.guild_text, pos_data.guild_text[1], pos_data.guild_text[2]) SetAnchoredPosition(self.name_text, pos_data.name_text[1], pos_data.name_text[2]) SetAnchoredPosition(self.city_text, pos_data.city_text[1], pos_data.city_text[2]) SetAnchoredPosition(self.occupy_color, pos_data.occupy_color[1], pos_data.occupy_color[2]) SetAnchoredPosition(self.occupy_image, pos_data.occupy_image[1], pos_data.occupy_image[2]) end function CSGWarSubShowItem:SetData( data,index,room_id ) self.data = data self.index = index self.room_id = room_id if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end end function CSGWarSubShowItem:__delete( ) if self.on_update_red_id then self.model:UnBind(self.on_update_red_id) self.on_update_red_id = nil end end