推荐阅读:

  • 我的CSDN
  • 我的博客园
  • QQ群:704621321
  • 我的个人博客

前言

游戏中设计好友系统主要目的是增加游戏的互动性

问题

首先介绍一下好友系统的功能:
1.好友列表展示;
2.添加好友;删除好友;一键操作等;
3.黑名单;
4.同意好友申请;拒绝好友申请;

解决

1.好友系统在数据获取方面采取和邮件一样的方式。点击进入取获取好友数据,初始化。
请求打开邮箱界面但界面还未打开时去向服务器请求数据

network.request("getFriendList")

成功后返回好友数据,为了使逻辑严密一些,这里我们通常还需要做一步操作,从好友列表中去掉玩家自己的信息.
因为玩家不可能与自己成为好友.当然,如果你非得和自己成为好友,那也是没问题的.展示好友列表的时候和邮件一样,推荐使用循环列表,原因我就不多说了,你懂的~

2.有了好友列表,当然接下来就是你的主场了,你可以尽情的去操作.你可以去搜索你暗恋的人,添加她为好友.可以的话还可以表白一下,如果不幸被拒绝也不用担心,你可以把她删除或者拉黑.
首先介绍一下查找功能的实现:
搜索功能通过玩家输入的名字,向服务器请求数据,请求之前为了造成不必要的请求,我们还需要判断是否输入了文本;是否是玩家自己。

    local name = ui.input.textif name == "" thenlabelpopup.show("请输入好友的名字或ID")returnendlocal user = commonmodel.userif name == user.uid or name == user.nickname thenlabelpopup.show("不能添加自己")returnendnetwork.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})

unity功能开发——好友系统相关推荐

  1. java好友系统_unity功能开发——好友系统

    前言 游戏中设计好友系统主要目的是增加游戏的互动性 问题 首先介绍一下好友系统的功能: 1.好友列表展示: 2.添加好友:删除好友:一键操作等: 3.黑名单: 4.同意好友申请:拒绝好友申请: 解决 ...

  2. [转] unity功能开发——实名认证

    前言 首先给大家介绍一下游戏实名认证. 网游实名制全称网络游戏实名制,是针对网络游戏的,玩家玩网络游戏时,需要输入真实的身份信息的制度. 要求用户使用有效身份证件实名注册,并保护用户注册信息,不得为使 ...

  3. Unity功能开发之_(单选、多选、框选)

    using System; using UnityEngine; using System.Collections; using System.Collections.Generic; using S ...

  4. Unity初学者课堂—助手游戏局部功能开发讲解之开始游戏倒计时

    Unity初学者课堂-助手游戏局部功能开发讲解之开始游戏倒计时 学习闲言 游戏开始倒计时 地址栏qq后面号码非本人号码,避免误解已搬家至https://blog.csdn.net/weixin_403 ...

  5. Unity SteamVR插件详解:SteamVR Controller脚本分析+Vive控制器功能开发 ——转自波波...

    看到一篇很好的Steam VR脚本的详细解析文章,为了方便自己以后找得到,特意转载了. 大家都知道现在基于Unity开发Vive的应用程序都需要用到SteamVR这个插件,接下来的系列会重点分析该插件 ...

  6. 【功能开发篇】游戏中的时间系统修改Unity自带组件运行速度

    "功能开发篇"系列文章记录了我在平时工作中遇到的问题以及一些和游戏功能相关的项目经验. 目录 1. 插件介绍 2. 核心类功能拆解 3. Timeline深入 修改Rigidbod ...

  7. Unity客户端开发面试题记录

    Unity客户端开发面试题记录 1.如何理解面向对象思想 A:面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节.面向对象的特征是:封装,继承,多态.多态就是接口的多种不同 ...

  8. (完结)Unity游戏开发——新发教你做游戏(七):Animator控制角色动画播放

    文章目录 一.前言 二.Animator状态机组织 三.过渡条件 四.用代码设置过渡条件,触发动画播放 五.CharacterAniLogic.cs完整代码 一.前言 文章列表 Unity游戏开发-- ...

  9. Unity iPhone开发入门

    可能开发iphone的同学不多,但里面讲到的一些优化思路同样也能适用于pc开发,大家可以借鉴.本人翻译水平有限,欢迎指正呵呵! Unity iPhone开发入门 (一) 为iPhone开发 为iPho ...

  10. 如何在Unity上开发Nintendo(任天堂)Switch平台游戏时让游戏patch包大小尽量小

    如何在Unity上开发Nintendo(任天堂)Switch平台游戏时让游戏patch包大小尽量小 众所周知,Nintendo Switch有一条guidline-0123来限制游戏的patch包大小 ...

最新文章

  1. SpringBoot 实现固定、动态定时任务 | 三种实现方式 | 附源代码
  2. Qt Creator分析CPU使用率
  3. Kotlin的Lambda表达式以及它们怎样简化Android开发(KAD 07)
  4. std::set作为一个有序集合
  5. 无法找到或创建字体'SansSerif'.某些字符可能无法正确显示或打印。
  6. 将计算机重命名出现错误,该文件已经存在的解决办法
  7. ProtoBuf协议详解
  8. 【codevs2452】【SCOI2005】【BZOJ1088】扫雷Mine
  9. UE4 无法include “filename.generated.h”
  10. C#联合Halcon 自定义控件鼠标双击响应事件
  11. UITableViewController与UIViewController中使用UITableView
  12. Android 使用handler实现线程间发送消息 (主线程 与 子线程之间)、(子线程 与 子线程之间)
  13. 电子海图数据购买、安装、更新及使用注意事项
  14. 给你一个网站你是如何来渗透测试的?
  15. win7无法发现工作组计算机,系统之家win7系统在同一个工作组看不到其他电脑的解决方法...
  16. 一花一世界 一叶一菩提
  17. 如何在CAD中快速定位坐标?
  18. XDRender_LightModeFeature_CauseLight 焦散1-DropRain
  19. Arduino实验十四 无源蜂鸣器与有源蜂鸣器
  20. 开通微信零钱通的方法微信免手续费提现

热门文章

  1. proteus 仿真软件
  2. 【面试必会】java分布式事务面试题
  3. 从ST官网获取STM32 AD封装库(包含原理图库和PCB库)详细教程
  4. java统计汉字个数_java统计汉字字数的方法示例
  5. CSDN看不见博主博客的评论_解决办法(亲测有效奥)
  6. sidirect 连接西门子_Intouch 与 CP343-1 通讯设置
  7. 终点与起点——诺基亚 N9 初步上手
  8. Java高级工程师需要掌握哪些核心点?
  9. 如何打开屏幕坏的手机_手机屏幕坏了如何打开usb调试
  10. QQlook--QQ空间密码 相册密码查看工具 国庆版 V2.4