diff --git a/QSB/Events/DeathMessage.cs b/QSB/Events/DeathMessage.cs
index 68a28ef4..b6c5ced6 100644
--- a/QSB/Events/DeathMessage.cs
+++ b/QSB/Events/DeathMessage.cs
@@ -3,7 +3,7 @@ using UnityEngine.Networking;
namespace QSB.Events
{
- public class DeathMessage : NameMessage
+ public class DeathMessage : PlayerMessage
{
public override MessageType MessageType => MessageType.Death;
diff --git a/QSB/Events/FullStateMessage.cs b/QSB/Events/FullStateMessage.cs
index e5ea32e4..632bc3f3 100644
--- a/QSB/Events/FullStateMessage.cs
+++ b/QSB/Events/FullStateMessage.cs
@@ -6,7 +6,7 @@ using UnityEngine.Networking;
namespace QSB.Events
{
- class FullStateMessage : NameMessage
+ public class FullStateMessage : PlayerMessage
{
public override MessageType MessageType => MessageType.FullState;
diff --git a/QSB/Events/JoinMessage.cs b/QSB/Events/JoinMessage.cs
index baa44ebd..0d60c188 100644
--- a/QSB/Events/JoinMessage.cs
+++ b/QSB/Events/JoinMessage.cs
@@ -1,9 +1,24 @@
using QSB.Messaging;
+using UnityEngine.Networking;
namespace QSB.Events
{
- public class JoinMessage : NameMessage
+ public class JoinMessage : PlayerMessage
{
public override MessageType MessageType => MessageType.Join;
+
+ public string PlayerName { get; set; }
+
+ public override void Deserialize(NetworkReader reader)
+ {
+ base.Deserialize(reader);
+ PlayerName = reader.ReadString();
+ }
+
+ public override void Serialize(NetworkWriter writer)
+ {
+ base.Serialize(writer);
+ writer.Write(PlayerName);
+ }
}
}
diff --git a/QSB/Events/LeaveMessage.cs b/QSB/Events/LeaveMessage.cs
index 1a1eaf3a..8c9423ff 100644
--- a/QSB/Events/LeaveMessage.cs
+++ b/QSB/Events/LeaveMessage.cs
@@ -5,7 +5,7 @@ using UnityEngine.Networking;
namespace QSB.Events
{
- public class LeaveMessage : NameMessage
+ public class LeaveMessage : PlayerMessage
{
public override MessageType MessageType => MessageType.Leave;
diff --git a/QSB/Events/PlayerLeave.cs b/QSB/Events/PlayerLeave.cs
index 7ce39bdd..21b254d3 100644
--- a/QSB/Events/PlayerLeave.cs
+++ b/QSB/Events/PlayerLeave.cs
@@ -19,7 +19,6 @@ namespace QSB.Events
{
var message = new LeaveMessage
{
- PlayerName = PlayerJoin.PlayerNames[playerId],
SenderId = playerId,
ObjectIds = objectIds
};
@@ -28,7 +27,8 @@ namespace QSB.Events
private void OnClientReceiveMessage(LeaveMessage message)
{
- DebugLog.All(message.PlayerName, "left");
+ var playerName = PlayerJoin.PlayerNames[message.SenderId];
+ DebugLog.All(playerName, "left");
PlayerJoin.PlayerNames.Remove(message.SenderId);
foreach (var objectId in message.ObjectIds)
{
diff --git a/QSB/Events/NameMessage.cs b/QSB/Events/PlayerMessage.cs
similarity index 67%
rename from QSB/Events/NameMessage.cs
rename to QSB/Events/PlayerMessage.cs
index a476f614..7b745355 100644
--- a/QSB/Events/NameMessage.cs
+++ b/QSB/Events/PlayerMessage.cs
@@ -3,20 +3,17 @@ using UnityEngine.Networking;
namespace QSB.Events
{
- public abstract class NameMessage : QSBMessage
+ public abstract class PlayerMessage : QSBMessage
{
public uint SenderId { get; set; }
- public string PlayerName { get; set; }
-
+
public override void Deserialize(NetworkReader reader)
{
- PlayerName = reader.ReadString();
SenderId = reader.ReadUInt32();
}
public override void Serialize(NetworkWriter writer)
{
- writer.Write(PlayerName);
writer.Write(SenderId);
}
}
diff --git a/QSB/QSB.csproj b/QSB/QSB.csproj
index 5fd74b22..fe461e00 100644
--- a/QSB/QSB.csproj
+++ b/QSB/QSB.csproj
@@ -116,7 +116,7 @@
-
+
diff --git a/QSB/TimeSync/RespawnOnDeath.cs b/QSB/TimeSync/RespawnOnDeath.cs
index 572f53b1..6278a12f 100644
--- a/QSB/TimeSync/RespawnOnDeath.cs
+++ b/QSB/TimeSync/RespawnOnDeath.cs
@@ -142,7 +142,7 @@ namespace QSB.TimeSync
private void OnClientReceiveMessage(DeathMessage message)
{
- var playerName = PlayerJoin.PlayerNames.TryGetValue(message.SenderId, out var n) ? n : message.PlayerName;
+ var playerName = PlayerJoin.PlayerNames[message.SenderId];
var deathMessage = Necronomicon.GetPhrase(message.DeathType);
DebugLog.All(string.Format(deathMessage, playerName));
}
@@ -168,7 +168,6 @@ namespace QSB.TimeSync
{
var message = new DeathMessage
{
- PlayerName = PlayerJoin.MyName,
SenderId = PlayerTransformSync.LocalInstance.netId.Value,
DeathType = deathType
};