源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

161 行
5.4 KiB

SocialityFriendSelectView = SocialityFriendSelectView or BaseClass(BaseView)
function SocialityFriendSelectView:__init()
self.base_file = "sociality"
self.layout_file = "SocialityFriendSelectView"
self.layer_name = "Top"
self.destroy_imm = true
self.use_background = true
self.change_scene_close = true
self.is_set_zdepth = true
self.click_bg_toClose = true
self.model = SocialityModel:getInstance()
self.item_list = {}
--预加载的Item
self:AddPreLoadList("sociality", {"SocialityFriendSelectItem"})
--回调方法
self.load_callback = function()
self:LoadSuccess()
self:InitEvent()
end
self.open_callback = function()
self:UpdateView()
end
self.close_callback = function()
self.model.select_info = nil
self.model.is_open_give_view = false
end
self.destroy_callback = function()
self:Clear()
end
end
function SocialityFriendSelectView:Open( show_data_list,op_type )
self.show_data_list = show_data_list
self.op_type = op_type or 1--点击类型,1为显示右侧按钮,2为不显示按钮,整个区域做点击热区
BaseView.Open(self)
end
function SocialityFriendSelectView:LoadSuccess()
self.ScrollView,
self.ScrollViewViewport,
self.ScrollViewCon
= GetChildTransforms(self.transform,
{
"ScrollView",
"ScrollView/Viewport",
"ScrollView/Viewport/Content",
})
-- self.confirmBtn = self:GetChild("confirmBtn").gameObject
self.con_empty_obj = self:GetChild("con_empty").gameObject
self.empty_des = self:GetChild("con_empty/lb_empty"):GetComponent("TextMeshProUGUI")
self.get_friend_btn = self:GetChild("con_empty/get_friend_btn").gameObject
self.get_friend_lb = self:GetChild("con_empty/get_friend_lb"):GetComponent("TextMeshProUGUI")
self.get_friend_btn2 = self:GetChild("con_empty/get_friend_text").gameObject
end
function SocialityFriendSelectView:InitEvent( )
-- local on_click = function ( click_obj )
-- if self.confirmBtn == click_obj then
-- if not self.model.select_info then
-- Message.show("请选中一个好友")
-- return
-- end
-- self.model.need_show_operation = "none"--收回14010协议后既不打开互动面板,也不对送礼界面进行开闭
-- self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14010, self.model.select_info.role_id)
-- self.model:Fire(SocialityModel.SELECT_FIREND, self.model.select_info)
-- GlobalEventSystem:Fire(EventName.OPEN_SOCIAL_FRIEND_SEL_VIEW, false)
-- self.model.select_info = nil
-- end
-- end
-- AddClickEvent(self.confirmBtn, on_click)
local on_click = function ( click_obj )
if self.get_friend_btn == click_obj then
GlobalEventSystem:Fire(EventName.OPEN_SOCIALITY_VIEW,2)
MateModel:GetInstance():Fire(MateConst.CLOSE_ASK_MATE_VIEW)
self:Close()
elseif self.get_friend_btn2 == click_obj then
GlobalEventSystem:Fire(EventName.OPEN_SOCIALITY_VIEW,2)
GlobalEventSystem:Fire(EventName.CLOSE_SOCIAL_FLOWER_VIEW)
self:Close()
end
end
AddClickEvent(self.get_friend_btn, on_click)
AddClickEvent(self.get_friend_btn2, on_click)
end
function SocialityFriendSelectView:Clear( )
for k,v in pairs(self.item_list) do
v:DeleteMe()
end
self.item_list = {}
end
function SocialityFriendSelectView:UpdateView()
local list = {}
if not self.show_data_list then
local all_friend_list = self.model:GetGiveList(self.model:GetSearchInfo())
for k,v in pairs(all_friend_list) do
if v.role_id~=1 then
table.insert(list,v)
end
end
else
list = self.show_data_list
end
if #list > 0 then
for i,v in ipairs(list) do
local item = self.item_list[i]
if not item then
item = SocialityFriendSelectItem.New(self.ScrollViewCon)
self.item_list[i] = item
end
item:SetVisible(true)
item:SetData(v,i,self.op_type)
-- --给selectItem添加按键绑定
-- local function onBtnClickHandler()
-- self:SetSelectIndex(i)
-- end
-- if item.gameObject then
-- AddClickEvent(self.item_list[i].gameObject, onBtnClickHandler,2)
-- end
end
self.con_empty_obj:SetActive(false)
else
self.con_empty_obj:SetActive(true)
if self.op_type == 2 then
self.empty_des.text = "<size=16> 您 暂无好友 或 好友都不在线哦!"
self.get_friend_lb.text = "前往添加新的好友"
self.get_friend_btn:SetActive(true)
self.get_friend_btn2:SetActive(false)
else
self.empty_des.text = "暂无符合条件的好友~\n\n"
self.get_friend_lb.text = ""
self.get_friend_btn:SetActive(false)
self.get_friend_btn2:SetActive(true)
end
end
for i=#list+1, #self.item_list do
self.item_list[i]:SetVisible(false)
end
end
--设置selectItem的选中状态
-- function SocialityFriendSelectView:SetSelectIndex(index)
-- for i,v in ipairs(self.item_list) do
-- if v.index == index then
-- v:SetSelected(true)
-- else
-- v:SetSelected(false)
-- end
-- end
-- end