server-master/srcs/_plugins/Plugin.PlayerLogs/Enrichers/Player/LogPlayerExchangeMessageEnricher.cs
2026-02-10 18:21:30 +01:00

46 lines
No EOL
1.6 KiB
C#

using System.Collections.Generic;
using Plugin.PlayerLogs.Core;
using Plugin.PlayerLogs.Messages.Player;
using WingsAPI.Data.Exchanges;
using WingsEmu.Game.Exchange.Event;
namespace Plugin.PlayerLogs.Enrichers.Player
{
public class LogPlayerExchangeMessageEnricher : ILogMessageEnricher<ExchangeCompletedEvent, LogPlayerExchangeMessage>
{
public void Enrich(LogPlayerExchangeMessage log, ExchangeCompletedEvent e)
{
var senderItems = new List<LogPlayerExchangeItemInfo>();
var targetItems = new List<LogPlayerExchangeItemInfo>();
for (byte i = 0; i < e.SenderItems.Count; i++)
{
senderItems.Add(new LogPlayerExchangeItemInfo
{
Slot = i,
Amount = e.SenderItems[i].Item2,
ItemInstance = e.SenderItems[i].Item1
});
}
for (byte i = 0; i < e.TargetItems.Count; i++)
{
targetItems.Add(new LogPlayerExchangeItemInfo
{
Slot = i,
Amount = e.TargetItems[i].Item2,
ItemInstance = e.TargetItems[i].Item1
});
}
log.Gold = e.SenderGold;
log.Items = senderItems;
log.BankGold = e.SenderBankGold;
log.TargetGold = e.TargetGold;
log.TargetBankGold = e.TargetBankGold;
log.TargetCharacterId = e.Target.PlayerEntity.Id;
log.TargetCharacterName = e.Target.PlayerEntity.Name;
log.TargetItems = targetItems;
}
}
}