ddon-server/Arrowgene.Ddon.GameServer/Handler/EntryBoardEntryItemInfoChangeHandler.cs
Paul Campbell 6431b5cacb feat: Enable Party Board System for EXM
- Added support for using the recruitment board to search for EXM
  parties.
- Added support for inviting players in the same party into the
  recruitment board.
- Added support to cancel, recreate and disaband the recruitment board.
2024-09-16 16:52:06 -04:00

46 lines
1.6 KiB
C#

using Arrowgene.Buffers;
using Arrowgene.Ddon.GameServer.Dump;
using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Server.Network;
using Arrowgene.Ddon.Shared.Entity.PacketStructure;
using Arrowgene.Ddon.Shared.Entity.Structure;
using Arrowgene.Ddon.Shared.Network;
using Arrowgene.Logging;
using System.Linq;
namespace Arrowgene.Ddon.GameServer.Handler
{
public class EntryBoardEntryItemInfoChangeHandler : GameRequestPacketHandler<C2SEntryBoardEntryBoardItemInfoChangeReq, S2CEntryBoardEntryBoardItemInfoChangeRes>
{
private static readonly ServerLogger Logger = LogProvider.Logger<ServerLogger>(typeof(EntryBoardEntryItemInfoChangeHandler));
public EntryBoardEntryItemInfoChangeHandler(DdonGameServer server) : base(server)
{
}
public override S2CEntryBoardEntryBoardItemInfoChangeRes Handle(GameClient client, C2SEntryBoardEntryBoardItemInfoChangeReq request)
{
var data = Server.BoardManager.GetGroupDataForCharacter(client.Character);
data.Password = request.Password;
data.EntryItem.Param = request.Param;
var ntc = new S2CEntryBoardEntryBoardItemInfoChangeNtc()
{
BoardId = data.BoardId,
EntryItemData = data.EntryItem
};
foreach (var characterId in data.Members)
{
var memberClient = Server.ClientLookup.GetClientByCharacterId(characterId);
memberClient.Send(ntc);
}
return new S2CEntryBoardEntryBoardItemInfoChangeRes()
{
EntryItemData = data.EntryItem
};
}
}
}