34 lines
1.3 KiB
C#
34 lines
1.3 KiB
C#
#nullable enable
|
|
using Barotrauma.Networking;
|
|
|
|
namespace Barotrauma.Items.Components
|
|
{
|
|
internal partial class PowerDistributor : PowerTransfer, IServerSerializable, IClientSerializable
|
|
{
|
|
#region Networking
|
|
public void ServerEventRead(IReadMessage msg, Client c)
|
|
{
|
|
SharedEventRead(msg, out EventType eventType, out PowerGroup powerGroup, out string newName, out float newRatio);
|
|
|
|
if (item.CanClientAccess(c))
|
|
{
|
|
switch (eventType)
|
|
{
|
|
case EventType.NameChange:
|
|
powerGroup.Name = newName;
|
|
break;
|
|
case EventType.RatioChange:
|
|
powerGroup.SupplyRatio = newRatio;
|
|
GameServer.Log($"{GameServer.CharacterLogName(c.Character)} changed supply ratio of power group \"{powerGroup.Name}\" to \"{powerGroup.SupplyRatio}\"", ServerLog.MessageType.ItemInteraction);
|
|
break;
|
|
}
|
|
}
|
|
|
|
item.CreateServerEvent(this, new EventData(powerGroup, eventType));
|
|
}
|
|
|
|
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData? extraData = null) => SharedEventWrite(msg, extraData);
|
|
#endregion
|
|
}
|
|
}
|