-- <*
|
|
-- @Author: Saber
|
|
-- @Description: 社团拼单参与玩家头像
|
|
-- *>
|
|
GuildSpellListHeadItem = GuildSpellListHeadItem or BaseClass(BaseItem)
|
|
local GuildSpellListHeadItem = GuildSpellListHeadItem
|
|
|
|
function GuildSpellListHeadItem:__init(parent_wnd,prefab_asset,layer_name)
|
|
self.base_file = "guild"
|
|
self.layout_file = "GuildSpellListHeadItem"
|
|
self.parent_wnd = parent_wnd
|
|
self.layer_name = layer_name
|
|
|
|
self.model = GuildModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function GuildSpellListHeadItem:Load_callback()
|
|
local nodes = {
|
|
"head_con",
|
|
"lock:obj",
|
|
"add_btn:obj",
|
|
"kick_fakeRole_btn:obj",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
self.head_item = HeadRoleItem.New(self.head_con)
|
|
self.head_item:SetItemSize(69, 69)
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
self:StartAddBtnAnim()
|
|
end
|
|
end
|
|
|
|
function GuildSpellListHeadItem:AddEvents( )
|
|
local function click_event(target)
|
|
if target == self.add_btn_obj then -- 点击弹出拼单界面的邀请小窗口
|
|
if self.click_callback then
|
|
self.click_callback()
|
|
end
|
|
elseif target == self.kick_fakeRole_btn_obj then -- 点击踢出邀请的假人
|
|
local data = self.model:GetCurSelectedSpellListData()
|
|
if data then
|
|
if data.state < 3 then
|
|
-- local cur_order_id = self.model:GetCurSelectedSpellListId()
|
|
-- self.model:Fire(GuildModel.REQUEST_CCMD_EVENT, 40037, cur_order_id, 2)
|
|
self.model:Fire(GuildModel.REQUEST_CCMD_EVENT, 40037, data.order, 2)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.add_btn_obj, click_event)
|
|
AddClickEvent(self.kick_fakeRole_btn_obj, click_event)
|
|
end
|
|
|
|
function GuildSpellListHeadItem:SetData( index, sl_cfg, head_data, click_callback)
|
|
self.index = index
|
|
self.sl_cfg = sl_cfg
|
|
self.head_data = head_data
|
|
self.click_callback = click_callback
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function GuildSpellListHeadItem:UpdateView( )
|
|
local head_vo = {
|
|
vo = {
|
|
id = 0,
|
|
do_not_click = true,
|
|
empty_head = true,
|
|
},
|
|
}
|
|
if self.index == 1 then -- 1的直接显示玩家自己
|
|
self.lock_obj:SetActive(false)
|
|
self.add_btn_obj:SetActive(false)
|
|
self.kick_fakeRole_btn_obj:SetActive(false)
|
|
local main_vo = RoleManager.Instance.mainRoleInfo
|
|
head_vo.vo.id = main_vo.role_id
|
|
head_vo.vo.profile_photo_id = main_vo.profile_photo_id
|
|
head_vo.vo.empty_head = false
|
|
head_vo.vo.level = main_vo.level
|
|
head_vo.vo.dress_board_id = main_vo.dress_id or main_vo.dress_board
|
|
head_vo.vo.do_not_click = false
|
|
else
|
|
self.lock_obj:SetActive(false)
|
|
if self.head_data then
|
|
head_vo.vo = self.head_data
|
|
if self.head_data.role_id < 10 then -- 假人,头像需要固定
|
|
head_vo.vo.profile_photo_id = 424008
|
|
head_vo.vo.level = nil
|
|
head_vo.show_tip = false
|
|
self.kick_fakeRole_btn_obj:SetActive(true)
|
|
else
|
|
head_vo.vo.dress_board_id = self.head_data.dress_id or self.head_data.dress_board
|
|
head_vo.vo.do_not_click = false
|
|
self.kick_fakeRole_btn_obj:SetActive(false)
|
|
end
|
|
self.add_btn_obj:SetActive(false)
|
|
else
|
|
self.add_btn_obj:SetActive(true)
|
|
self.kick_fakeRole_btn_obj:SetActive(false)
|
|
end
|
|
end
|
|
self.head_item:SetData(head_vo)
|
|
end
|
|
|
|
-- 创建一次邀请按钮的大小缩放动画
|
|
function GuildSpellListHeadItem:StartAddBtnAnim( )
|
|
if not self.is_loaded then return end
|
|
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.add_btn)
|
|
SetLocalScale(self.add_btn, 1, 1, 1)
|
|
local action_scale1 = cc.ScaleTo.New(1, 1.2, 1.2, 1.2)
|
|
local action_scale2 = cc.ScaleTo.New(1, 1, 1, 1)
|
|
local action = cc.Sequence.New(action_scale1, action_scale2)
|
|
action = cc.RepeatForever.New(action)
|
|
cc.ActionManager:getInstance():addAction(action, self.add_btn)
|
|
end
|
|
|
|
function GuildSpellListHeadItem:__delete( )
|
|
if self.head_item then
|
|
self.head_item:DeleteMe()
|
|
self.head_item = nil
|
|
end
|
|
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.add_btn)
|
|
end
|