/******************************************************************************** * 文件名: Obj_MainPlayer_Relation.cs * 全路径: \Script\Obj\Obj_MainPlayer_Relation.cs * 创建人: 李嘉 * 创建时间:2013-02-14_情人节 * * 功能说明:游戏主角Obj的社交关系逻辑部分 * 修改记录: *********************************************************************************/ using UnityEngine; using System.Collections; using System; using Games.GlobeDefine; using GCGame.Table; namespace Games.LogicObj { public partial class Obj_MainPlayer : Obj_OtherPlayer { private int _ADD_FRIEND_LEVEL = -1; //向服务器发起添加好友请求 public void ReqAddFriend(UInt64 guid) { //判断guid合法性 if (guid == GlobeVar.INVALID_GUID) { return; } if (_ADD_FRIEND_LEVEL < 0) { _ADD_FRIEND_LEVEL = SystemParam.GetSystemParam_INT(15); } if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level < _ADD_FRIEND_LEVEL) { GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{4934}")); return; } //超过上限,不进行添加操作 if (GameManager.gameManager.PlayerDataPool.FriendList.GetRelationNum() >= GlobeVar.MAX_FRIEND_NUM) { //您当前的好友列表已满。 SendNoticMsg(false, "#{1080}"); return; } //是否已经是好友,已经是则不添加 if (GameManager.gameManager.PlayerDataPool.FriendList.RelationDataList.ContainsKey(guid)) { Singleton.Instance.MainPlayer.SendNoticMsg(false, "#{2394}"); return; } //自己不能加自己 if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid == guid) { return; } //向服务器发送添加好友包 CG_ADDFRIEND msg = (CG_ADDFRIEND)PacketDistributed.CreatePacket(MessageID.PACKET_CG_ADDFRIEND); msg.Guid = guid; msg.SendPacket(); //特殊不能加好友场景不弹已申请提示 //if(!IsInSpecialScene()) // Singleton.Instance.MainPlayer.SendNoticMsg(false, "#{2906}"); } bool IsInSpecialScene() { if(GameManager.gameManager.RunningScene == GameManager.gameManager.PlayerDataPool.pvpIfo._PvpBattleSceneId || GameManager.gameManager.RunningScene == GameManager.gameManager.PlayerDataPool.pvpIfo._PvpSceneId) { return true; } return false; } //向服务器发起删除好友请求 public void ReqDelFriend(UInt64 guid) { //判断guid合法性 if (guid == GlobeVar.INVALID_GUID) { return; } //是否已经是好友,不是则不删除 if (false == GameManager.gameManager.PlayerDataPool.FriendList.RelationDataList.ContainsKey(guid)) { return; } //向服务器发送删除好友包 CG_DELFRIEND msg = (CG_DELFRIEND)PacketDistributed.CreatePacket(MessageID.PACKET_CG_DELFRIEND); msg.Guid = guid; msg.SendPacket(); } //向服务器发起添加黑名单请求 public void ReqAddBlack(UInt64 guid) { //判断guid合法性 if (guid == GlobeVar.INVALID_GUID) { return; } //超过上限,不进行添加操作 if (GameManager.gameManager.PlayerDataPool.BlackList.GetRelationNum() >= GlobeVar.MAX_BLACK_NUM) { return; } //向服务器发送添加黑名单包 CG_ADDBLACKLIST msg = (CG_ADDBLACKLIST)PacketDistributed.CreatePacket(MessageID.PACKET_CG_ADDBLACKLIST); msg.Guid = guid; msg.SendPacket(); } //向服务器发起删除黑名单请求 public void ReqDelBlack(UInt64 guid) { //判断guid合法性 if (guid == GlobeVar.INVALID_GUID) { return; } //向服务器发送删除黑名单包 CG_DELBLACKLIST msg = (CG_DELBLACKLIST)PacketDistributed.CreatePacket(MessageID.PACKET_CG_DELBLACKLIST); msg.Guid = guid; msg.SendPacket(); } //向服务器发起删除仇人请求 public void ReqDelHate(UInt64 guid) { //判断guid合法性 if (guid == GlobeVar.INVALID_GUID) { return; } //向服务器发送删除黑名单包 CG_DELHATELIST msg = (CG_DELHATELIST)PacketDistributed.CreatePacket(MessageID.PACKET_CG_DELHATELIST); msg.Guid = guid; msg.SendPacket(); } public void ReqTrailPlayer(UInt64 guid) { //判断guid合法性 if (guid == GlobeVar.INVALID_GUID) { return; } if (GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(GlobeVar.WuYingXunZongDataID) <= 0) { SendNoticMsg(false, "#{3035}"); return; } CG_ASK_TRAIL msg = (CG_ASK_TRAIL)PacketDistributed.CreatePacket(MessageID.PACKET_CG_ASK_TRAIL); msg.Guid = guid; msg.SendPacket(); } } }