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