Skip to content

Commit 7d006e9

Browse files
committed
Added generic BasePieceMetadata change packet processors in preparation for additional instances. Migrated existing Signs implementation to the new system.
1 parent b9f58b4 commit 7d006e9

File tree

13 files changed

+64
-86
lines changed

13 files changed

+64
-86
lines changed

NitroxClient/ClientAutoFacRegistrar.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ private static void RegisterCoreDependencies(ContainerBuilder containerBuilder)
9696
containerBuilder.RegisterType<EquipmentSlots>().InstancePerLifetimeScope();
9797
containerBuilder.RegisterType<ItemContainers>().InstancePerLifetimeScope();
9898
containerBuilder.RegisterType<StorageSlots>().InstancePerLifetimeScope();
99-
containerBuilder.RegisterType<Signs>().InstancePerLifetimeScope();
10099
containerBuilder.RegisterType<PDAManagerEntry>().InstancePerLifetimeScope();
101100
containerBuilder.RegisterType<PDAEncyclopediaEntry>().InstancePerLifetimeScope();
102101
containerBuilder.RegisterType<SimulationOwnership>().InstancePerLifetimeScope();
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using NitroxClient.Communication.Packets.Processors.Abstract;
2+
using NitroxClient.GameLogic.Bases.Metadata;
3+
using NitroxModel.Packets;
4+
5+
namespace NitroxClient.Communication.Packets.Processors
6+
{
7+
public class BasePieceMetadataChangedProcessor : ClientPacketProcessor<BasePieceMetadataChanged>
8+
{
9+
public override void Process(BasePieceMetadataChanged packet)
10+
{
11+
BasePieceMetadataProcessor metadataProcessor = BasePieceMetadataProcessor.FromMetaData(packet.Metadata);
12+
metadataProcessor.UpdateMetadata(packet.PieceId, packet.Metadata);
13+
}
14+
}
15+
}

NitroxClient/Communication/Packets/Processors/SignChangedProcessor.cs

Lines changed: 0 additions & 18 deletions
This file was deleted.

NitroxClient/GameLogic/Building.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using NitroxClient.MonoBehaviours;
55
using NitroxModel.DataStructures;
66
using NitroxModel.DataStructures.GameLogic;
7+
using NitroxModel.DataStructures.GameLogic.Buildings.Metadata;
78
using NitroxModel.DataStructures.GameLogic.Buildings.Rotation;
89
using NitroxModel.DataStructures.Util;
910
using NitroxModel.Helper;
@@ -212,5 +213,11 @@ public void DeconstructionComplete(GameObject gameObject)
212213
DeconstructionCompleted deconstructionCompleted = new DeconstructionCompleted(id);
213214
packetSender.Send(deconstructionCompleted);
214215
}
216+
217+
public void MetadataChanged(NitroxId pieceId, BasePieceMetadata metadata)
218+
{
219+
BasePieceMetadataChanged changePacket = new BasePieceMetadataChanged(pieceId, metadata);
220+
packetSender.Send(changePacket);
221+
}
215222
}
216223
}

NitroxClient/GameLogic/Signs.cs

Lines changed: 0 additions & 29 deletions
This file was deleted.

NitroxClient/NitroxClient.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@
202202
<Compile Include="Communication\Packets\Processors\PlayerDeathProcessor.cs" />
203203
<Compile Include="Communication\Packets\Processors\PlayerJoinedMultiplayerSessionProcessor.cs" />
204204
<Compile Include="Communication\Packets\Processors\PlayerStatsProcessor.cs" />
205-
<Compile Include="Communication\Packets\Processors\SignChangedProcessor.cs" />
205+
<Compile Include="Communication\Packets\Processors\BasePieceMetadataChangedProcessor.cs" />
206206
<Compile Include="Communication\Packets\Processors\SimulationOwnershipChangeProcessor.cs" />
207207
<Compile Include="Communication\Packets\Processors\StoryEventHandler.cs" />
208208
<Compile Include="Communication\Packets\Processors\TimeChangeProcessor.cs" />
@@ -290,7 +290,6 @@
290290
<Compile Include="GameLogic\RemotePlayer.cs" />
291291
<Compile Include="GameLogic\RemotePlayerManagerExtensions.cs" />
292292
<Compile Include="GameLogic\SeamothModulesEvent.cs" />
293-
<Compile Include="GameLogic\Signs.cs" />
294293
<Compile Include="GameLogic\SimulationOwnership.cs" />
295294
<Compile Include="GameLogic\Spawning\SerializedEntitySpawner.cs" />
296295
<Compile Include="GameLogic\Spawning\ReefbackEntitySpawner.cs" />

NitroxModel/DataStructures/GameLogic/Buildings/Metadata/SignMetadata.cs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,27 @@ namespace NitroxModel.DataStructures.GameLogic.Buildings.Metadata
88
public class SignMetadata : BasePieceMetadata
99
{
1010
[ProtoMember(1)]
11-
public NitroxId Id { get; }
12-
13-
[ProtoMember(2)]
1411
public string Text { get; set; }
1512

16-
[ProtoMember(3)]
13+
[ProtoMember(2)]
1714
public int ColorIndex { get; set; }
1815

19-
[ProtoMember(4)]
16+
[ProtoMember(3)]
2017
public int ScaleIndex { get; set; }
2118

22-
[ProtoMember(5)]
19+
[ProtoMember(4)]
2320
public bool[] Elements { get; set; }
2421

25-
[ProtoMember(6)]
22+
[ProtoMember(5)]
2623
public bool Background { get; set; }
2724

2825
protected SignMetadata()
2926
{
3027
//Constructor for serialization. Has to be "protected" for json serialization.
3128
}
3229

33-
public SignMetadata(NitroxId id, string text, int colorIndex, int scaleIndex, bool[] elements, bool backgroundToggle)
30+
public SignMetadata(string text, int colorIndex, int scaleIndex, bool[] elements, bool backgroundToggle)
3431
{
35-
Id = id;
3632
Text = text;
3733
ColorIndex = colorIndex;
3834
ScaleIndex = scaleIndex;
@@ -42,7 +38,7 @@ public SignMetadata(NitroxId id, string text, int colorIndex, int scaleIndex, bo
4238

4339
public override string ToString()
4440
{
45-
return "[SignMetadata - Id: " + Id + " Text: " + Text + " ColorIndex: " + ColorIndex + "ScaleIndex: " + ScaleIndex + " Elements: " + Elements + " Background: " + Background + "]";
41+
return "[SignMetadata - Text: " + Text + " ColorIndex: " + ColorIndex + "ScaleIndex: " + ScaleIndex + " Elements: " + Elements + " Background: " + Background + "]";
4642
}
4743
}
4844
}

NitroxModel/NitroxModel.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@
127127
<Compile Include="Packets\RadioPlayPendingMessage.cs" />
128128
<Compile Include="Packets\RemotePlayerEquipmentAdded.cs" />
129129
<Compile Include="Packets\RemotePlayerEquipmentRemoved.cs" />
130+
<Compile Include="Packets\BasePieceMetadataChanged.cs" />
130131
<Compile Include="Packets\StorageSlotItemAdd.cs" />
131132
<Compile Include="Packets\StorageSlotItemRemove.cs" />
132133
<Compile Include="Packets\SubRootChanged.cs" />
@@ -198,7 +199,6 @@
198199
<Compile Include="Packets\Processors\Abstract\IProcessorContext.cs" />
199200
<Compile Include="Packets\Processors\Abstract\PacketProcessor.cs" />
200201
<Compile Include="Packets\SeamothModulesAction.cs" />
201-
<Compile Include="Packets\SignChanged.cs" />
202202
<Compile Include="Packets\SimulationOwnershipChange.cs" />
203203
<Compile Include="Packets\SimulationOwnershipRequest.cs" />
204204
<Compile Include="Packets\SimulationOwnershipResponse.cs" />
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using System;
2+
using NitroxModel.DataStructures;
3+
using NitroxModel.DataStructures.GameLogic.Buildings.Metadata;
4+
5+
namespace NitroxModel.Packets
6+
{
7+
[Serializable]
8+
public class BasePieceMetadataChanged : Packet
9+
{
10+
public NitroxId PieceId { get; }
11+
public BasePieceMetadata Metadata { get; }
12+
13+
public BasePieceMetadataChanged(NitroxId pieceId, BasePieceMetadata metadata)
14+
{
15+
PieceId = pieceId;
16+
Metadata = metadata;
17+
}
18+
}
19+
}

NitroxModel/Packets/SignChanged.cs

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)