1. 程式人生 > 實用技巧 >unity功能開發——好友系統

unity功能開發——好友系統

推薦閱讀:

前言

遊戲中設計好友系統主要目的是增加遊戲的互動性

問題

首先介紹一下好友系統的功能:
1.好友列表展示;
2.新增好友;刪除好友;一鍵操作等;
3.黑名單;
4.同意好友申請;拒絕好友申請;

解決

1.好友系統在資料獲取方面採取和郵件一樣的方式。點選進入取獲取好友資料,初始化。
請求開啟郵箱介面但介面還未開啟時去向伺服器請求資料

network.request("getFriendList")

成功後返回好友資料,為了使邏輯嚴密一些,這裡我們通常還需要做一步操作,從好友列表中去掉玩家自己的資訊.
因為玩家不可能與自己成為好友.當然,如果你非得和自己成為好友,那也是沒問題的.展示好友列表的時候和郵件一樣,推薦使用迴圈列表,原因我就不多說了,你懂的~

2.有了好友列表,當然接下來就是你的主場了,你可以盡情的去操作.你可以去搜索你暗戀的人,新增她為好友.可以的話還可以表白一下,如果不幸被拒絕也不用擔心,你可以把她刪除或者拉黑.
首先介紹一下查詢功能的實現:
搜尋功能通過玩家輸入的名字,向伺服器請求資料,請求之前為了造成不必要的請求,我們還需要判斷是否輸入了文字;是否是玩家自己。

    local name = ui.input.text
    if name == "" then
        labelpopup.show("請輸入好友的名字或ID")
        return
    end

    local user = commonmodel.user
    if name == user.uid or name == user.nickname then
        labelpopup.show("不能新增自己")
        return
    end
    network.request("friend_find", {name=name})

從伺服器拿到資料後,根據需求展示搜尋結果
新增好友:

network.request("friend_apply", {uid=uid})

請求新增好友成功後,應當將新增按鈕切換已申請狀態,防止玩家短時間內重複申請
刪除好友:刪除成功後需重新整理好友列表

network.request("friend_find", {uid=uid})

3.拉黑好友:返回成功後,重新整理黑名單列表和和好友列表(將該玩家從好友列表移除並新增到黑名單列表)

network.request("friend_black_add", {uid=uid})

4.同意好友申請

network.request("friend_apply_consent", {uid=uid})

拒絕好友申請

network.request("friend_apply_refuse", {uid=uid})