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);        }    }}
原创粉丝点击