v1.4.4.1 (Blood in the Water Update)
This commit is contained in:
@@ -8,6 +8,19 @@ using Microsoft.Xna.Framework;
|
||||
|
||||
namespace Barotrauma
|
||||
{
|
||||
[Flags]
|
||||
internal enum CircuitBoxResizeDirection
|
||||
{
|
||||
None = 0,
|
||||
Down = 1,
|
||||
Right = 2,
|
||||
Left = 4
|
||||
}
|
||||
|
||||
// TODO this needs to be refactored at some point for reasons:
|
||||
// 1. We need to send 4 different ImmutableArray<short> for some network packets
|
||||
// 2. We have 3 identical remove events that are identical in signature
|
||||
// 3. We have 3 different events for selecting. nodes, wires, and server broadcast
|
||||
public enum CircuitBoxOpcode
|
||||
{
|
||||
Error,
|
||||
@@ -20,6 +33,10 @@ namespace Barotrauma
|
||||
SelectWires,
|
||||
UpdateSelection,
|
||||
DeleteComponent,
|
||||
RenameLabel,
|
||||
AddLabel,
|
||||
RemoveLabel,
|
||||
ResizeLabel,
|
||||
ServerInitialize
|
||||
}
|
||||
|
||||
@@ -88,6 +105,18 @@ namespace Barotrauma
|
||||
=> $"{{Name: {SignalConnection}, ID: {(TargetId.TryUnwrap(out var value) ? value.ToString() : "N/A")}}}";
|
||||
}
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxAddLabelEvent(Vector2 Position, Color Color, NetLimitedString Header, NetLimitedString Body) : INetSerializableStruct;
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxServerAddLabelEvent(ushort ID, Vector2 Position, Vector2 Size, Color Color, NetLimitedString Header, NetLimitedString Body) : INetSerializableStruct;
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxResizeLabelEvent(ushort ID, Vector2 Position, Vector2 Size) : INetSerializableStruct;
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxRemoveLabelEvent(ImmutableArray<ushort> TargetIDs) : INetSerializableStruct;
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxAddComponentEvent(UInt32 PrefabIdentifier, Vector2 Position) : INetSerializableStruct;
|
||||
|
||||
@@ -98,13 +127,13 @@ namespace Barotrauma
|
||||
internal readonly record struct CircuitBoxRemoveComponentEvent(ImmutableArray<ushort> TargetIDs) : INetSerializableStruct;
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxMoveComponentEvent(ImmutableArray<ushort> TargetIDs, ImmutableArray<CircuitBoxInputOutputNode.Type> IOs, Vector2 MoveAmount) : INetSerializableStruct;
|
||||
internal readonly record struct CircuitBoxMoveComponentEvent(ImmutableArray<ushort> TargetIDs, ImmutableArray<CircuitBoxInputOutputNode.Type> IOs, ImmutableArray<ushort> LabelIDs, Vector2 MoveAmount) : INetSerializableStruct;
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxSelectNodesEvent(ImmutableArray<ushort> TargetIDs, ImmutableArray<CircuitBoxInputOutputNode.Type> IOs, bool Overwrite, ushort CharacterID) : INetSerializableStruct;
|
||||
internal readonly record struct CircuitBoxSelectNodesEvent(ImmutableArray<ushort> TargetIDs, ImmutableArray<CircuitBoxInputOutputNode.Type> IOs, ImmutableArray<ushort> LabelIDs, bool Overwrite, ushort CharacterID) : INetSerializableStruct;
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxServerUpdateSelection(ImmutableArray<CircuitBoxIdSelectionPair> ComponentIds, ImmutableArray<CircuitBoxIdSelectionPair> WireIds, ImmutableArray<CircuitBoxTypeSelectionPair> InputOutputs) : INetSerializableStruct;
|
||||
internal readonly record struct CircuitBoxServerUpdateSelection(ImmutableArray<CircuitBoxIdSelectionPair> ComponentIds, ImmutableArray<CircuitBoxIdSelectionPair> WireIds, ImmutableArray<CircuitBoxTypeSelectionPair> InputOutputs, ImmutableArray<CircuitBoxIdSelectionPair> LabelIds) : INetSerializableStruct;
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxIdSelectionPair(ushort ID, Option<ushort> SelectedBy) : INetSerializableStruct;
|
||||
@@ -124,6 +153,9 @@ namespace Barotrauma
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxRemoveWireEvent(ImmutableArray<ushort> TargetIDs) : INetSerializableStruct;
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxRenameLabelEvent(ushort LabelId, Color Color, NetLimitedString NewHeader, NetLimitedString NewBody) : INetSerializableStruct;
|
||||
|
||||
[NetworkSerialize]
|
||||
internal readonly record struct CircuitBoxErrorEvent(string Message) : INetSerializableStruct;
|
||||
|
||||
@@ -131,6 +163,7 @@ namespace Barotrauma
|
||||
internal readonly record struct CircuitBoxInitializeStateFromServerEvent(
|
||||
ImmutableArray<CircuitBoxServerCreateComponentEvent> Components,
|
||||
ImmutableArray<CircuitBoxServerCreateWireEvent> Wires,
|
||||
ImmutableArray<CircuitBoxServerAddLabelEvent> Labels,
|
||||
Vector2 InputPos,
|
||||
Vector2 OutputPos) : INetSerializableStruct;
|
||||
|
||||
@@ -157,6 +190,14 @@ namespace Barotrauma
|
||||
=> CircuitBoxOpcode.RemoveWire,
|
||||
CircuitBoxInitializeStateFromServerEvent
|
||||
=> CircuitBoxOpcode.ServerInitialize,
|
||||
CircuitBoxRenameLabelEvent
|
||||
=> CircuitBoxOpcode.RenameLabel,
|
||||
(CircuitBoxAddLabelEvent or CircuitBoxServerAddLabelEvent)
|
||||
=> CircuitBoxOpcode.AddLabel,
|
||||
CircuitBoxRemoveLabelEvent
|
||||
=> CircuitBoxOpcode.RemoveLabel,
|
||||
CircuitBoxResizeLabelEvent
|
||||
=> CircuitBoxOpcode.ResizeLabel,
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(Data))
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user