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

214 regels
7.4 KiB

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