mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-02 20:26:03 +08:00
sync: main repo
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using EggLink.DanhengServer.Kcp;
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Chat;
|
||||
using EggLink.DanhengServer.Kcp;
|
||||
|
||||
namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.Chat;
|
||||
|
||||
@@ -7,6 +8,8 @@ public class HandlerGetChatFriendHistoryCsReq : Handler
|
||||
{
|
||||
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
await connection.SendPacket(CmdIds.GetChatFriendHistoryScRsp);
|
||||
var history = connection.Player!.FriendManager!.FriendData.ChatHistory;
|
||||
|
||||
await connection.SendPacket(new PacketGetChatFriendHistoryScRsp(history));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Friend;
|
||||
using EggLink.DanhengServer.Kcp;
|
||||
using EggLink.DanhengServer.Proto;
|
||||
|
||||
namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.Friend;
|
||||
|
||||
[Opcode(CmdIds.AddBlacklistCsReq)]
|
||||
public class HandlerAddBlacklistCsReq : Handler
|
||||
{
|
||||
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
var req = AddBlacklistCsReq.Parser.ParseFrom(data);
|
||||
|
||||
var player = await connection.Player!.FriendManager!.AddBlackList((int)req.Uid);
|
||||
|
||||
if (player != null)
|
||||
await connection.SendPacket(new PacketAddBlacklistScRsp(player));
|
||||
else
|
||||
await connection.SendPacket(new PacketAddBlacklistScRsp());
|
||||
}
|
||||
}
|
||||
@@ -11,8 +11,8 @@ public class HandlerApplyFriendCsReq : Handler
|
||||
{
|
||||
var req = ApplyFriendCsReq.Parser.ParseFrom(data);
|
||||
|
||||
await connection.Player!.FriendManager!.AddFriend((int)req.Uid);
|
||||
var ret = await connection.Player!.FriendManager!.AddFriend((int)req.Uid);
|
||||
|
||||
await connection.SendPacket(new PacketApplyFriendScRsp(req.Uid));
|
||||
await connection.SendPacket(new PacketApplyFriendScRsp(ret, req.Uid));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Friend;
|
||||
using EggLink.DanhengServer.Kcp;
|
||||
using EggLink.DanhengServer.Proto;
|
||||
|
||||
namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.Friend;
|
||||
|
||||
[Opcode(CmdIds.DeleteBlacklistCsReq)]
|
||||
public class HandlerDeleteBlacklistCsReq : Handler
|
||||
{
|
||||
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
var req = DeleteBlacklistCsReq.Parser.ParseFrom(data);
|
||||
|
||||
connection.Player!.FriendManager!.RemoveBlackList((int)req.Uid);
|
||||
|
||||
await connection.SendPacket(new PacketDeleteBlacklistScRsp(req.Uid));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Friend;
|
||||
using EggLink.DanhengServer.Kcp;
|
||||
using EggLink.DanhengServer.Proto;
|
||||
|
||||
namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.Friend;
|
||||
|
||||
[Opcode(CmdIds.DeleteFriendCsReq)]
|
||||
public class HandlerDeleteFriendCsReq : Handler
|
||||
{
|
||||
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
var req = DeleteFriendCsReq.Parser.ParseFrom(data);
|
||||
|
||||
var uid = await connection.Player!.FriendManager!.RemoveFriend((int)req.Uid);
|
||||
if (uid == null)
|
||||
await connection.SendPacket(new PacketDeleteFriendScRsp());
|
||||
else
|
||||
await connection.SendPacket(new PacketDeleteFriendScRsp((uint)uid));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Friend;
|
||||
using EggLink.DanhengServer.Kcp;
|
||||
|
||||
namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.Friend;
|
||||
|
||||
[Opcode(CmdIds.GetFriendLoginInfoCsReq)]
|
||||
public class HandlerGetFriendLoginInfoCsReq : Handler
|
||||
{
|
||||
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
var friends = connection.Player!.FriendManager!
|
||||
.GetFriendPlayerData().Select(x => x.Uid).ToList();
|
||||
|
||||
await connection.SendPacket(new PacketGetFriendLoginInfoScRsp(friends));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Friend;
|
||||
using EggLink.DanhengServer.Kcp;
|
||||
|
||||
namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.Friend;
|
||||
|
||||
[Opcode(CmdIds.GetFriendRecommendListInfoCsReq)]
|
||||
public class HandlerGetFriendRecommendListInfoCsReq : Handler
|
||||
{
|
||||
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
var friends = connection.Player!.FriendManager!.GetRandomFriend();
|
||||
|
||||
await connection.SendPacket(new PacketGetFriendRecommendListInfoScRsp(friends));
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
using EggLink.DanhengServer.Database.Player;
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Friend;
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Friend;
|
||||
using EggLink.DanhengServer.Kcp;
|
||||
using EggLink.DanhengServer.Proto;
|
||||
using EggLink.DanhengServer.Util;
|
||||
|
||||
namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.Friend;
|
||||
|
||||
@@ -13,32 +11,13 @@ public class HandlerGetPlayerDetailInfoCsReq : Handler
|
||||
{
|
||||
var req = GetPlayerDetailInfoCsReq.Parser.ParseFrom(data);
|
||||
|
||||
var playerData = PlayerData.GetPlayerByUid(req.Uid);
|
||||
|
||||
var playerData = connection.Player!.FriendManager!.GetFriendPlayerData([(int)req.Uid]).First();
|
||||
if (playerData == null)
|
||||
{
|
||||
var serverProfile = ConfigManager.Config.ServerOption.ServerProfile;
|
||||
if (req.Uid == serverProfile.Uid)
|
||||
{
|
||||
playerData = new PlayerData
|
||||
{
|
||||
Uid = serverProfile.Uid,
|
||||
HeadIcon = serverProfile.HeadIcon,
|
||||
Signature = serverProfile.Signature,
|
||||
Level = serverProfile.Level,
|
||||
WorldLevel = 0,
|
||||
Name = serverProfile.Name,
|
||||
ChatBubble = serverProfile.ChatBubbleId,
|
||||
PersonalCard = serverProfile.PersonalCardId
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
await connection.SendPacket(new PacketGetPlayerDetailInfoScRsp());
|
||||
return;
|
||||
}
|
||||
await connection.SendPacket(new PacketGetPlayerDetailInfoScRsp());
|
||||
return;
|
||||
}
|
||||
|
||||
await connection.SendPacket(new PacketGetPlayerDetailInfoScRsp(playerData));
|
||||
await connection.SendPacket(new PacketGetPlayerDetailInfoScRsp(playerData.ToDetailProto()));
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@ public class HandlerHandleFriendCsReq : Handler
|
||||
if (req.IsAccept)
|
||||
playerData = await connection.Player!.FriendManager!.ConfirmAddFriend((int)req.Uid);
|
||||
else
|
||||
connection.Player!.FriendManager!.RefuseAddFriend((int)req.Uid);
|
||||
await connection.Player!.FriendManager!.RefuseAddFriend((int)req.Uid);
|
||||
|
||||
if (playerData != null)
|
||||
await connection.SendPacket(new PacketHandleFriendScRsp(req.Uid, req.IsAccept, playerData));
|
||||
|
||||
@@ -15,7 +15,7 @@ public class HandlerSearchPlayerCsReq : Handler
|
||||
|
||||
foreach (var uid in req.UidList)
|
||||
{
|
||||
var player = PlayerData.GetPlayerByUid(uid);
|
||||
var player = connection.Player!.FriendManager!.GetFriendPlayerData([(int)uid]).First();
|
||||
if (player != null) playerList.Add(player);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Friend;
|
||||
using EggLink.DanhengServer.Kcp;
|
||||
using EggLink.DanhengServer.Proto;
|
||||
|
||||
namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.Friend;
|
||||
|
||||
[Opcode(CmdIds.SetFriendMarkCsReq)]
|
||||
public class HandlerSetFriendMarkCsReq : Handler
|
||||
{
|
||||
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
var req = SetFriendMarkCsReq.Parser.ParseFrom(data);
|
||||
|
||||
connection.Player!.FriendManager!.MarkFriend((int)req.Uid, req.ADJGKCOKOLN);
|
||||
|
||||
await connection.SendPacket(new PacketSetFriendMarkScRsp(req.Uid, req.ADJGKCOKOLN));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Friend;
|
||||
using EggLink.DanhengServer.Kcp;
|
||||
using EggLink.DanhengServer.Proto;
|
||||
|
||||
namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.Friend;
|
||||
|
||||
[Opcode(CmdIds.SetFriendRemarkNameCsReq)]
|
||||
public class HandlerSetFriendRemarkNameCsReq : Handler
|
||||
{
|
||||
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
var req = SetFriendRemarkNameCsReq.Parser.ParseFrom(data);
|
||||
|
||||
connection.Player!.FriendManager!.RemarkFriendName((int)req.Uid, req.RemarkName);
|
||||
|
||||
await connection.SendPacket(new PacketSetFriendRemarkNameScRsp(req.Uid, req.RemarkName));
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,10 @@ public class HandlerSetAssistAvatarCsReq : Handler
|
||||
foreach (var id in req.AvatarIdList)
|
||||
{
|
||||
if (id == 0) continue;
|
||||
avatars.Add((int)id);
|
||||
|
||||
var avatarData = player.AvatarManager!.AvatarData.FormalAvatars.First(x =>
|
||||
x.BaseAvatarId == (int)id);
|
||||
if (avatarData != null) avatars.Add(avatarData.AvatarId);
|
||||
}
|
||||
|
||||
await connection.SendPacket(new PacketSetAssistAvatarScRsp(req.AvatarIdList));
|
||||
|
||||
@@ -13,10 +13,13 @@ public class HandlerSetDisplayAvatarCsReq : Handler
|
||||
var player = connection.Player!;
|
||||
var avatars = player.AvatarManager!.AvatarData!.DisplayAvatars;
|
||||
avatars.Clear();
|
||||
foreach (var id in req.DisplayAvatarList)
|
||||
foreach (var avatar in req.DisplayAvatarList)
|
||||
{
|
||||
if (id.AvatarId == 0) continue;
|
||||
avatars.Add((int)id.AvatarId);
|
||||
if (avatar.AvatarId == 0) continue;
|
||||
|
||||
var avatarData = player.AvatarManager!.AvatarData.FormalAvatars.First(x =>
|
||||
x.BaseAvatarId == (int)avatar.AvatarId);
|
||||
if (avatarData != null) avatars.Add(avatarData.AvatarId);
|
||||
}
|
||||
|
||||
await connection.SendPacket(new PacketSetDisplayAvatarScRsp(req.DisplayAvatarList));
|
||||
|
||||
Reference in New Issue
Block a user