GameEntity(八)—— FriendManager
来源:互联网 发布:php怎么依据浏览者城市 编辑:程序博客网 时间:2024/05/18 03:52
目录为:Assets/Scripts/GameEntity/目录下
FriendManager.cs
好友管理类
using UnityEngine;using System.Collections;using System.Collections.Generic;using System;//好友管理类public class FriendManager{ //static private static FriendManager instance = null; public static FriendManager Instance { get { if (instance == null) { instance = new FriendManager (); } return instance; } } FriendManager() { } //所有好友 public Dictionary<UInt64, Friend> AllFriends = new Dictionary<UInt64, Friend> (); //黑名单 public Dictionary<UInt64, Friend> AllBlackDic = new Dictionary<UInt64, Friend> (); //查询玩家列表 public Dictionary<string, string> AllSearch = new Dictionary<string, string> (); public Dictionary<GameObject, Friend> OnClickKey = new Dictionary<GameObject, Friend> (); public Dictionary<UInt64, IChat> AllTalkDic = new Dictionary<UInt64, IChat> (); //OnClickKey----------------------------------------------- public void AddOnClickKey(GameObject obj, Friend temp) { if (OnClickKey.ContainsKey(obj)) { return; } OnClickKey.Add(obj, temp); } public void RemoveOnClickKey(GameObject obj) { if (OnClickKey.ContainsKey(obj)) { OnClickKey [obj] = null; OnClickKey.Remove (obj); } } public GameObject GetObj(UInt64 sGUID) { foreach (var item in OnClickKey) { //存储的Friend的sguid if (sGUID != 0 && item.Value.SGUID == sGUID) { return item.Key; } } return null; } //----------------------------------------------------------- //查询玩家列表 public void AddSearchDic(string name, string headid) { if (AllSearch.ContainsKey(name)) { return; } AllSearch.Add (name, headid); } //山吹当前玩家的查询 public void RemoveSearchDic(string name) { if (AllSearch.ContainsKey(name)) { AllSearch [name] = null; AllSearch.Remove (name); } } //添加黑名单 public void AddOnLineBlackList(UInt64 sGUID, Friend friend) { if (AllBlackDic.ContainsKey(sGUID)) { return; } AllBlackDic.Add (sGUID, friend); } //删除当前黑名单 public void DelBlackList(UInt64 sGUID) { if (AllBlackDic.ContainsKey(sGUID)) { AllBlackDic [sGUID] = null; AllBlackDic.Remove (sGUID); } } //清空数据 public void DelAllList() { AllBlackDic.Clear (); AllFriends.Clear (); AllTalkDic.Clear (); } //添加好友 public void AddFriend(UInt64 sGUID, Friend friend) { if (AllFriends.ContainsKey(sGUID)) { return; } AllFriends.Add (sGUID, friend); } //删除在线好友 public void DelFriend(UInt64 sGUID) { if (AllFriends.ContainsKey(sGUID)) { AllFriends [sGUID] = null; AllFriends.Remove (sGUID); } } public void DelAllTalkDic(UInt64 sGUID) { if (AllTalkDic.ContainsKey(sGUID)) { AllTalkDic [sGUID] = null; AllTalkDic.Remove (sGUID); } } //房间邀请 public class RoomInviteList { public int headID; public string nickName; } public Dictionary<UInt64, RoomInviteList> RoomInvite = new Dictionary<UInt64, RoomInviteList> (); public void AddInvite(UInt64 sGUID, int headId, string nickName) { RoomInviteList room = null; //不包含 if (!RoomInvite.ContainsKey(sGUID)) { room = new RoomInviteList (); room.headID = headId; room.nickName = nickName; RoomInvite.Add (sGUID, room); return; } //包含的话就直接设置 room.headID = headId; room.nickName = nickName; RoomInvite [sGUID] = room; } public void Remove(UInt64 sGUID) { if (RoomInvite.ContainsKey(sGUID)) { RoomInvite.Remove (sGUID); } }}
阅读全文
0 0
- GameEntity(八)—— FriendManager
- GameEntity(一) —— CampType
- GameEntity(二)—— EntityType
- GameEntity(三)—— EntityStrategyHelper
- GameEntity(四)—— Ientity
- GameEntity(五)—— INpc
- GameEntity(六)—— IChat
- GameEntity(七)—— Friend
- GameEntity(九)—— InviteOtherPlayer
- GameEntity(十)—— Mail
- GameEntity(十一)—— Iplayer
- GameEntity&Component
- GameEntity & Component
- 八种排序方法(八)——基数排序
- java实践(八)——继承
- babyos (八)—— 简单图形界面
- 软件工程(八)——软件编码
- 黑马程序员——(八)泛型
- MixPHP 独特的SQL构建方式
- android Bluetooth 开发2之打开、关闭、搜索、允许搜索、查看
- Java中方法的参数传递机制
- 按金额平均批量分配订单算法思考与实现
- IDEA 非正常关闭 重启报错解决办法
- GameEntity(八)—— FriendManager
- jsp九大内置对象详解
- node-sass:Error: ENOENT: no such file or directory, scandir
- 一致性协议——2PC/3PC
- std::wstring_convert处理UTF8
- RPM,YUM,源码包安装
- Android 开发过程中遇到了一个问题 小记录一下 ERROR: In <declare-styleable> BorderLinearLayout, unable to find attribu
- tomcat service配置
- 第八周项目2-链串算法库