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