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