NetworkEvent optimization (more frequent use of WriteRangedSingle)
This commit is contained in:
@@ -168,8 +168,9 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public override void FillNetworkData(Networking.NetworkEventType type, Lidgren.Network.NetOutgoingMessage message)
|
||||
{
|
||||
message.Write(Convert.ToByte(flowPercentage+100));
|
||||
message.WriteRangedInteger(-10,10,(int)(flowPercentage/10.0f));
|
||||
message.Write(IsActive);
|
||||
message.WritePadBits();
|
||||
}
|
||||
|
||||
public override void ReadNetworkData(Networking.NetworkEventType type, Lidgren.Network.NetIncomingMessage message)
|
||||
@@ -179,7 +180,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
try
|
||||
{
|
||||
newFlow = (float)(message.ReadByte()-100);
|
||||
newFlow = message.ReadRangedInteger(-10,10)*10.0f;
|
||||
newActive = message.ReadBoolean();
|
||||
}
|
||||
|
||||
|
||||
@@ -427,7 +427,7 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
message.Write(autoTemp);
|
||||
message.WriteRangedSingle(temperature, 0.0f, 10000.0f, 16);
|
||||
message.WriteRangedSingle(shutDownTemp, 0.0f, 10000.0f, 16);
|
||||
message.WriteRangedSingle(shutDownTemp, 0.0f, 10000.0f, 7);
|
||||
|
||||
message.WriteRangedSingle(coolingRate, 0.0f, 100.0f, 8);
|
||||
message.WriteRangedSingle(fissionRate, 0.0f, 100.0f, 8);
|
||||
@@ -443,7 +443,8 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
newAutoTemp = message.ReadBoolean();
|
||||
newTemperature = message.ReadRangedSingle(0.0f, 10000.0f, 16);
|
||||
newShutDownTemp = message.ReadRangedSingle(0.0f, 10000.0f, 16);
|
||||
newShutDownTemp = message.ReadRangedSingle(0.0f, 10000.0f, 7);
|
||||
newShutDownTemp = MathUtils.Round(newShutDownTemp, 100.0f);
|
||||
|
||||
newCoolingRate = message.ReadRangedSingle(0.0f, 100.0f, 8);
|
||||
newFissionRate = message.ReadRangedSingle(0.0f, 100.0f, 8);
|
||||
|
||||
@@ -198,23 +198,25 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public override void FillNetworkData(Networking.NetworkEventType type, Lidgren.Network.NetOutgoingMessage message)
|
||||
{
|
||||
message.Write((byte)((int)(rechargeSpeed/maxRechargeSpeed*255.0f)));
|
||||
message.Write(charge);
|
||||
message.WriteRangedSingle(MathHelper.Clamp(rechargeSpeed/MaxRechargeSpeed, 0.0f, 1.0f), 0.0f, 1.0f, 8);
|
||||
message.WriteRangedSingle(MathHelper.Clamp(charge/capacity,0.0f, 1.0f), 0.0f, 1.0f, 8);
|
||||
}
|
||||
|
||||
public override void ReadNetworkData(Networking.NetworkEventType type, Lidgren.Network.NetIncomingMessage message)
|
||||
{
|
||||
byte newRechargeSpeed = 0;
|
||||
float newRechargeSpeed = 0f;
|
||||
float newCharge = 0.0f;
|
||||
|
||||
try
|
||||
{
|
||||
newRechargeSpeed = message.ReadByte();
|
||||
newCharge = message.ReadFloat();
|
||||
newRechargeSpeed = message.ReadRangedSingle(0.0f, 1.0f, 8);
|
||||
newRechargeSpeed *= MaxRechargeSpeed;
|
||||
newCharge = message.ReadRangedSingle(0.0f, 1.0f, 8);
|
||||
newCharge *= capacity;
|
||||
}
|
||||
catch { }
|
||||
|
||||
RechargeSpeed = (newRechargeSpeed/255.0f)*maxRechargeSpeed;
|
||||
RechargeSpeed = newRechargeSpeed;
|
||||
Charge = newCharge;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user