源战役客户端
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

112 lines
5.2 KiB

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