|
|
SocialityAddFriendView = SocialityAddFriendView or BaseClass(BaseItem)
|
|
local SocialityAddFriendView = SocialityAddFriendView
|
|
|
|
function SocialityAddFriendView:__init()
|
|
self.base_file = "sociality"
|
|
self.layout_file = "SocialityAddFriendView"
|
|
self.model = SocialityModel:getInstance()
|
|
self.item_list = {}
|
|
self.item_list2 = {}
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function SocialityAddFriendView:Load_callback()
|
|
self.RecommendFriendScrollView = self:GetChild("RecommendFriendScrollView")
|
|
self.ScrollViewViewport = self:GetChild("RecommendFriendScrollView/Viewport")
|
|
self.ScrollViewCon = self:GetChild("RecommendFriendScrollView/Viewport/Content")
|
|
|
|
self.applyFriendScrollView = self:GetChild("applyFriendScrollView")
|
|
self.applyFriendScrollViewViewport = self:GetChild("applyFriendScrollView/Viewport")
|
|
self.applyFriendScrollViewCon = self:GetChild("applyFriendScrollView/Viewport/Content")
|
|
|
|
self.input_con = self:GetChild("TextInput").gameObject
|
|
self.input_text = self:GetChild("TextInput"):GetComponent("TMP_InputField")
|
|
self.recommendFriendText = self:GetChild("recommendFriendText"):GetComponent("TextMeshProUGUI")
|
|
|
|
self.searchBtn = self:GetChild("searchBtn").gameObject
|
|
self.changeBtn = self:GetChild("changeBtn").gameObject
|
|
|
|
self.onekeyRefuse = self:GetChild("onekeyRefuse").gameObject
|
|
self.onekeyApply = self:GetChild("onekeyApply").gameObject
|
|
|
|
self.bg_img = self:GetChild("bg"):GetComponent("Image")
|
|
|
|
self.empty_apply = self:GetChild("empty_apply").gameObject
|
|
self.empty_add = self:GetChild("empty_add").gameObject
|
|
self.empty_girl = self:GetChild("empty_apply/empty/girl"):GetComponent("RawImage")
|
|
self.empty_talk_bg_1 = self:GetChild("empty_apply/empty/image"):GetComponent("RawImage")
|
|
self.empty_talk_bg_2 = self:GetChild("empty_add/image"):GetComponent("RawImage")
|
|
|
|
self.empty_apply:SetActive(false)
|
|
self.empty_add:SetActive(false)
|
|
|
|
self.scroll_view_rect = self.RecommendFriendScrollView:GetComponent("ScrollRect")
|
|
self.scroll_view_rect.horizontal = false
|
|
self.scroll_view_rect.vertical = true
|
|
self.input_text.characterLimit = 20
|
|
--加载成功后就会自动刷新一遍
|
|
|
|
lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetSocialityImage("sociality_add_bg"))
|
|
lua_resM:setOutsideRawImage(self, self.empty_girl, GameResPath.GetRoleBg("team_empty_bg_267_589"))
|
|
lua_resM:setOutsideRawImage(self, self.empty_talk_bg_1, GameResPath.GetViewBigBg("com_empty_bg1"))
|
|
lua_resM:setOutsideRawImage(self, self.empty_talk_bg_2, GameResPath.GetViewBigBg("com_empty_bg1"))
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
self.recommendFriendText.text = "推荐好友"
|
|
|
|
--请求好友推荐
|
|
self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14001, 0)
|
|
--请求好友申请列表
|
|
self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14006)
|
|
end
|
|
|
|
function SocialityAddFriendView:AddEvents( )
|
|
local function onClickBtnHandler(target)
|
|
if target == self.searchBtn then
|
|
--查找好友
|
|
local str = self.input_text.text
|
|
if str == "" then
|
|
Message.show("请输入玩家昵称")
|
|
else
|
|
self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14002, str)
|
|
self.input_text.text = ""
|
|
end
|
|
elseif target == self.changeBtn then
|
|
--请求好友推荐
|
|
self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14001, 1)
|
|
self.recommendFriendText.text = "推荐好友"
|
|
elseif target == self.onekeyApply then
|
|
--一键通过申请
|
|
if self.len==0 then
|
|
Message.show("暂无好友申请")
|
|
else
|
|
self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14004, 1)
|
|
end
|
|
elseif target == self.onekeyRefuse then
|
|
--一键拒绝申请
|
|
if self.len==0 then
|
|
Message.show("暂无好友申请")
|
|
else
|
|
self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14004, 0)
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.searchBtn,onClickBtnHandler)
|
|
AddClickEvent(self.changeBtn,onClickBtnHandler)
|
|
AddClickEvent(self.onekeyApply,onClickBtnHandler)
|
|
AddClickEvent(self.onekeyRefuse,onClickBtnHandler)
|
|
|
|
local function onUpdate( list )
|
|
self:UpdateAddFriendView(list)
|
|
end
|
|
self.event_id = self.model:Bind(SocialityModel.UPDATE_ADD_FRIEND_VIEW, onUpdate)
|
|
local function onUpdate2( )
|
|
self:UpdateApplyFriendView()
|
|
end
|
|
self.event_id2 = self.model:Bind(SocialityModel.UPDATE_APPLY_FRIEND_VIEW, onUpdate2)
|
|
|
|
local function onUpdateRecommendText()
|
|
self.recommendFriendText.text = "查找结果"
|
|
end
|
|
self:BindEvent(self.model,SocialityModel.UPDATE_RECOMMEND_TEXT,onUpdateRecommendText)
|
|
end
|
|
|
|
function SocialityAddFriendView:UpdateView( )
|
|
|
|
end
|
|
|
|
function SocialityAddFriendView:SetData( data )
|
|
self.data = data
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function SocialityAddFriendView:__delete( )
|
|
if self.event_id then
|
|
self.model:UnBind(self.event_id)
|
|
self.event_id = nil
|
|
end
|
|
if self.event_id2 then
|
|
self.model:UnBind(self.event_id2)
|
|
self.event_id2 = nil
|
|
end
|
|
for k,v in pairs(self.item_list) do
|
|
v:DeleteMe()
|
|
end
|
|
self.item_list = {}
|
|
for k,v in pairs(self.item_list2) do
|
|
v:DeleteMe()
|
|
end
|
|
self.item_list2 = {}
|
|
end
|
|
|
|
|
|
--这个是更新推荐好友页面
|
|
function SocialityAddFriendView:UpdateAddFriendView( list )
|
|
self.list = list
|
|
self.empty_add:SetActive(false)
|
|
for i,v in ipairs(self.item_list) do
|
|
v:SetVisible(false)
|
|
end
|
|
|
|
if not list or #list == 0 then
|
|
self.empty_add:SetActive(true)
|
|
return
|
|
end
|
|
|
|
for i,v in ipairs(list) do
|
|
local item = self.item_list[i]
|
|
if not item then
|
|
item = SocialityAddFriendItem.New(self.ScrollViewCon)
|
|
self.item_list[i] = item
|
|
end
|
|
item:SetVisible(true)
|
|
item:SetData(v)
|
|
item:SetPosition(3,-106*(i-1)-4)
|
|
end
|
|
SetSizeDeltaY(self.ScrollViewCon.transform, 110 * #list)
|
|
|
|
for i=#list+1, #self.item_list do
|
|
self.item_list[i]:SetVisible(false)
|
|
end
|
|
end
|
|
--这个是更新申请好友的方法
|
|
function SocialityAddFriendView:UpdateApplyFriendView( ... )
|
|
local info = self.model:GetApplyInfo()
|
|
self.empty_apply:SetActive(false)
|
|
self.onekeyRefuse:SetActive(true)
|
|
self.onekeyApply:SetActive(true)
|
|
for i,v in ipairs(self.item_list2) do
|
|
v:SetVisible(false)
|
|
end
|
|
if not info or not info.ask_list or #info.ask_list == 0 then
|
|
self.empty_apply:SetActive(true)
|
|
self.onekeyRefuse:SetActive(false)
|
|
self.onekeyApply:SetActive(false)
|
|
return
|
|
end
|
|
self.len = #info.ask_list
|
|
for i,v in ipairs(info.ask_list) do
|
|
local item = self.item_list2[i]
|
|
if not item then
|
|
item = SocialityApplyItem.New(self.applyFriendScrollViewCon)
|
|
self.item_list2[i] = item
|
|
end
|
|
item:SetVisible(true)
|
|
item:SetData(v)
|
|
item:SetPosition(3.5,-108*(i-1)-4.5)
|
|
end
|
|
|
|
for i=self.len+1, #self.item_list2 do
|
|
self.item_list2[i]:SetVisible(false)
|
|
end
|
|
SetSizeDeltaY(self.applyFriendScrollViewCon.transform, 110 * #info.ask_list)
|
|
end
|
|
|