-
Notifications
You must be signed in to change notification settings - Fork 53
/
Copy pathInstanceExchangeOmInstantKeyValueHandler.cs
39 lines (34 loc) · 1.63 KB
/
InstanceExchangeOmInstantKeyValueHandler.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Server.Network;
using Arrowgene.Ddon.Shared.Network;
using Arrowgene.Logging;
using Arrowgene.Ddon.Shared.Entity.PacketStructure;
using Arrowgene.Ddon.GameServer.Characters;
using Arrowgene.Ddon.GameServer.Instance;
using Arrowgene.Ddon.Shared.Entity.Structure;
namespace Arrowgene.Ddon.GameServer.Handler
{
public class InstanceExchangeOmInstantKeyValueHandler : StructurePacketHandler<GameClient, C2SInstanceExchangeOmInstantKeyValueReq>
{
private static readonly ServerLogger Logger = LogProvider.Logger<ServerLogger>(typeof(InstanceExchangeOmInstantKeyValueHandler));
public InstanceExchangeOmInstantKeyValueHandler(DdonGameServer server) : base(server)
{
}
public override void Handle(GameClient client, StructurePacket<C2SInstanceExchangeOmInstantKeyValueReq> req)
{
uint oldValue = OmManager.ExchangeOmData(client.Party.InstanceOmData, client.Character.Stage.Id, req.Structure.Key, req.Structure.Value);
S2CInstanceExchangeOmInstantKeyValueNtc ntc = new S2CInstanceExchangeOmInstantKeyValueNtc();
ntc.StageId = client.Character.Stage.Id;
ntc.Key = req.Structure.Key;
ntc.Value = req.Structure.Value;
ntc.OldValue = oldValue;
client.Send(ntc);
S2CInstanceExchangeOmInstantKeyValueRes res = new S2CInstanceExchangeOmInstantKeyValueRes();
res.StageId = client.Character.Stage.Id;
res.Key = req.Structure.Key;
res.Value = req.Structure.Value;
res.OldValue = oldValue;
client.Send(res);
}
}
}