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