-- <* -- @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("人数 %s", 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