源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

110 lines
3.9 KiB

-- <*
-- @Author: Saber
-- @Description: 社团系统 社团合并请求发起界面 社团节点
-- *>
GuildRequestMergeItem = GuildRequestMergeItem or BaseClass(BaseItem)
local GuildRequestMergeItem = GuildRequestMergeItem
local SetAnchoredPositionX = SetAnchoredPositionX
function GuildRequestMergeItem:__init(parent_wnd,prefab_asset,layer_name)
self.base_file = "guild"
self.layout_file = "GuildRequestMergeItem"
self.parent_wnd = parent_wnd
self.layer_name = layer_name
self.model = GuildModel:getInstance()
self:Load()
end
function GuildRequestMergeItem:Load_callback()
local nodes = {
"guild_icon:img",
"info_con/vip_con:obj", "info_con/sex_flag:obj:img", "info_con/name:obj:tmp",
"selected:obj", "applied:obj",
"chat_leader_btn:obj",
"power_val:txt",
"guild_name:tmp", "guild_lv:tmp",
"guild_num:tmp", "guild_active:tmp",
}
self:GetChildren(nodes)
-- 加载vip节点
self.vipItem = RoleVipItem.New(self.vip_con)
self.vipItem:SetAnchoredPosition(0, 0)
self:AddEvents()
if self.need_refreshData then
self:UpdateView()
end
end
function GuildRequestMergeItem:AddEvents( )
local function click_event(target)
if target == self.chat_leader_btn_obj then
if self.data then
SocialityModel:getInstance():Fire(SocialityModel.CHAT_WITH_ROLEID, self.data.role_id)
self.model:Fire(GuildModel.OPEN_REQUEST_MERGE_VIEW, false)
end
elseif target == self.gameObject then
if self.callback and self.index then
self.callback(self.index, self.data.guild_id)
end
end
end
AddClickEvent(self.chat_leader_btn_obj, click_event, LuaSoundManager.SOUND_UI.NONE)
AddClickEvent(self.gameObject, click_event, LuaSoundManager.SOUND_UI.SWITCH)
end
function GuildRequestMergeItem: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 GuildRequestMergeItem:SetSelected(bool)
self.is_selected = bool
if self.is_loaded then
if self.selected_obj.activeSelf ~= self.is_selected then
self.selected_obj:SetActive(self.is_selected)
end
end
end
function GuildRequestMergeItem:UpdateView( )
-- 加载团长信息
self.vipItem:SetData(self.data.vip_flag, self.data.sup_vip_type)
self.name_tmp.text = self.data.name
lua_resM:setImageSprite(self, self.sex_flag_img, "common_asset", self.data.sex == 1 and "com_boy" or "com_girl", true)
local sex_pos_x = 50 + self.name_tmp.preferredWidth
SetAnchoredPositionX(self.sex_flag, sex_pos_x)
self.power_val_txt.text = self.data.combat_power or self.data.sec_value
-- 加载社团信息
local guild_lv_cfg = Config.Guildlv[self.data.guild_lv]
self.guild_name_tmp.text = self.data.guild_name
self.guild_num_tmp.text = (self.data.member_num or self.data.members_num) .. "/" .. (guild_lv_cfg.member_capacity + self.data.add_mem_num) -- 数据来源有两个协议决定
self.guild_lv_tmp.text = "Lv." .. self.data.guild_lv
self.guild_active_tmp.text = self.data.week_labor_last or self.data.first_value -- 数据来源有两个协议决定
lua_resM:setImageSprite(self, self.guild_icon_img, "guildIcon_asset", "guild_icon" .. self.data.guild_flag, true)
self:SetSelected(self.is_selected)
self:UpdateApplied()
end
function GuildRequestMergeItem:UpdateApplied( )
if self.data then
local merge_info = self.model:GetGuildMergeInfo()
self.applied_obj:SetActive(self.data.guild_id == merge_info.t_guild_id)
end
end
function GuildRequestMergeItem:__delete( )
if self.vipItem then
self.vipItem:DeleteMe()
self.vipItem = nil
end
end