源战役客户端
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 

123 строки
4.2 KiB

-- <*
-- @Author: Saber
-- @Description: 2020年5月20日新增:社团创建类型节点
-- *>
GuildCreateTabItem = GuildCreateTabItem or BaseClass(BaseItem)
local GuildCreateTabItem = GuildCreateTabItem
function GuildCreateTabItem:__init(parent_wnd,prefab_asset,layer_name)
self.base_file = "guild"
self.layout_file = "GuildCreateTabItem"
self.parent_wnd = parent_wnd
self.layer_name = layer_name
self.cur_tab_index = 0 -- 当前选中的社团类型
self.model = GuildModel:getInstance()
self:Load()
end
function GuildCreateTabItem:Load_callback()
local nodes = {
"bg:obj:img",
"guild_lv:img",
"cost_icon:img",
"selected:obj",
"cost_val:tmp", "mem_num:tmp",
"cost_val_line:obj", "cost_val_discount:tmp",
}
self:GetChildren(nodes)
self:AddEvents()
if self.need_refreshData then
self:UpdateView()
end
end
function GuildCreateTabItem:AddEvents( )
local function click_event(target)
if target == self.bg_obj then
if self.callback and self.data then
self.callback(self.data.cfg_id, self.index)
end
end
end
AddClickEvent(self.bg_obj, click_event, LuaSoundManager.SOUND_UI.SWITCH)
end
function GuildCreateTabItem:SetData( data, index, callback )
self.data = data
self.index = index
self.callback = callback
if self.is_loaded then
self.need_refreshData = false
self:UpdateView()
else
self.need_refreshData = true
end
end
function GuildCreateTabItem:UpdateView( )
if not self.data then return end
-- 加载背景
lua_resM:setImageSprite(self, self.bg_img, "guildCreate_asset", "guild_create_type" .. self.data.cfg_id)
-- 加载社团类型艺术字
lua_resM:setImageSprite(self, self.guild_lv_img, "guild_asset", "g_create_title" .. self.data.cfg_id, true)
-- -- 加载条件和不同创建类型下的消费
-- local cond = stringtotable(self.data.condition)
-- local condi_str = ""
-- for k, v in pairs(cond) do
-- if v[1] == "lv" then
-- condi_str = condi_str .. string.format("Lv.%s", v[2])
-- elseif v[1] == "vip" then
-- condi_str = condi_str .. string.format("VIP%s", v[2])
-- end
-- if k < #cond then
-- condi_str = condi_str .. "或"
-- end
-- end
-- -- local role_lv = RoleManager.Instance.mainRoleInfo.level
-- self.create_lv_tmp.text = string.format("1.%s", condi_str)
-- 花费
local cost_cfg = stringtotable(self.data.cost)[1]
local icon_asset, icon_name = WordManager:GetCommonMoneyIcon(cost_cfg[1])
lua_resM:setImageSprite(self, self.cost_icon_img, icon_asset, icon_name)
local guild_lv_cfg = Config.Guildlv[self.data.guild_lv]
self.cost_val_tmp.text = cost_cfg[3]
self.mem_num_tmp.text = string.format("人数 <size=16>%s</size>", guild_lv_cfg and guild_lv_cfg.member_capacity or 0)
--是否处于社团创建折扣期
local is_in_discount = self.model:IsInCreateGuildDiscount()
if is_in_discount then
self.cost_val_line_obj:SetActive(true)
local discount = stringtotable(self.model:GetGuildKvByKey("create_guild_discount").val)[2]
self.cost_val_discount_tmp.text = cost_cfg[3]*discount
else
self.cost_val_line_obj:SetActive(false)
self.cost_val_discount_tmp.text = ""
end
-- 设置tmp材质球
if self.data.cfg_id == 1 then
SetTMPSharedMaterial(self.mem_num_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7OutlineGreenTab)
elseif self.data.cfg_id == 2 then
SetTMPSharedMaterial(self.mem_num_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7OutlineBlueTab)
else
SetTMPSharedMaterial(self.mem_num_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7OutlineOrangeTab)
end
self:SetSelected()
end
function GuildCreateTabItem:SetSelected(cur_tab_index)
self.cur_tab_index = cur_tab_index or self.cur_tab_index
local bool = self.data and self.data.cfg_id == self.cur_tab_index or false
if self.is_loaded then
if self.selected_obj.activeSelf ~= bool then
self.selected_obj:SetActive(bool)
end
end
end
function GuildCreateTabItem:__delete( )
end