-- <*
|
|
-- @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
|