源战役客户端
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.
 
 
 
 
 

130 rivejä
4.5 KiB

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