From 171f83c835228bc1e34f7f4be3de0ecd2967294b Mon Sep 17 00:00:00 2001
From: Mister_Nebula <41904486+misternebula@users.noreply.github.com>
Date: Mon, 28 Feb 2022 21:20:51 +0000
Subject: [PATCH] simplify more messages
---
QSB/AuthoritySync/AuthQueueMessage.cs | 22 ++---------
.../Messages/ConversationMessage.cs | 37 +++++-------------
.../Messages/ConversationStartEndMessage.cs | 28 ++++---------
.../Messages/DialogueConditionMessage.cs | 39 ++++++-------------
.../Messages/PersistentConditionMessage.cs | 37 +++++-------------
QSB/ItemSync/Messages/SocketItemMessage.cs | 35 +++++------------
QSB/Messaging/QSBMessage.cs | 23 +++++++++++
7 files changed, 74 insertions(+), 147 deletions(-)
diff --git a/QSB/AuthoritySync/AuthQueueMessage.cs b/QSB/AuthoritySync/AuthQueueMessage.cs
index 5d3b2783..bb60918c 100644
--- a/QSB/AuthoritySync/AuthQueueMessage.cs
+++ b/QSB/AuthoritySync/AuthQueueMessage.cs
@@ -7,32 +7,18 @@ namespace QSB.AuthoritySync
///
/// always sent to host
///
- public class AuthQueueMessage : QSBMessage
+ public class AuthQueueMessage : QSBMessage
{
- private uint NetId;
-
public AuthQueueMessage(uint netId, AuthQueueAction action)
{
To = 0;
- NetId = netId;
- Value = action;
- }
-
- public override void Serialize(NetworkWriter writer)
- {
- base.Serialize(writer);
- writer.Write(NetId);
- }
-
- public override void Deserialize(NetworkReader reader)
- {
- base.Deserialize(reader);
- NetId = reader.ReadUInt();
+ Value1 = action;
+ Value2 = netId;
}
public override bool ShouldReceive => QSBWorldSync.AllObjectsReady;
public override void OnReceiveLocal() => OnReceiveRemote();
- public override void OnReceiveRemote() => NetworkServer.spawned[NetId].ServerUpdateAuthQueue(From, Value);
+ public override void OnReceiveRemote() => NetworkServer.spawned[Value2].ServerUpdateAuthQueue(From, Value1);
}
public enum AuthQueueAction
diff --git a/QSB/ConversationSync/Messages/ConversationMessage.cs b/QSB/ConversationSync/Messages/ConversationMessage.cs
index a383cd35..e2c376f1 100644
--- a/QSB/ConversationSync/Messages/ConversationMessage.cs
+++ b/QSB/ConversationSync/Messages/ConversationMessage.cs
@@ -7,46 +7,29 @@ using UnityEngine;
namespace QSB.ConversationSync.Messages
{
- public class ConversationMessage : QSBMessage
+ public class ConversationMessage : QSBMessage
{
- private int Id;
- private string Message;
-
public ConversationMessage(ConversationType type, int id, string message = "")
{
- Value = type;
- Id = id;
- Message = message;
- }
-
- public override void Serialize(NetworkWriter writer)
- {
- base.Serialize(writer);
- writer.Write(Id);
- writer.Write(Message);
- }
-
- public override void Deserialize(NetworkReader reader)
- {
- base.Deserialize(reader);
- Id = reader.Read();
- Message = reader.ReadString();
+ Value1 = type;
+ Value2 = id;
+ Value3 = message;
}
public override bool ShouldReceive => QSBWorldSync.AllObjectsReady;
public override void OnReceiveRemote()
{
- switch (Value)
+ switch (Value1)
{
case ConversationType.Character:
- var translated = TextTranslation.Translate(Message).Trim();
+ var translated = TextTranslation.Translate(Value3).Trim();
translated = Regex.Replace(translated, @"<[Pp]ause=?\d*\.?\d*\s?\/?>", "");
- ConversationManager.Instance.DisplayCharacterConversationBox(Id, translated);
+ ConversationManager.Instance.DisplayCharacterConversationBox(Value2, translated);
break;
case ConversationType.Player:
- ConversationManager.Instance.DisplayPlayerConversationBox((uint)Id, Message);
+ ConversationManager.Instance.DisplayPlayerConversationBox((uint)Value2, Value3);
break;
case ConversationType.CloseCharacter:
@@ -55,12 +38,12 @@ namespace QSB.ConversationSync.Messages
break;
}
- var tree = QSBWorldSync.OldDialogueTrees[Id];
+ var tree = QSBWorldSync.OldDialogueTrees[Value2];
Object.Destroy(ConversationManager.Instance.BoxMappings[tree]);
break;
case ConversationType.ClosePlayer:
- Object.Destroy(QSBPlayerManager.GetPlayer((uint)Id).CurrentDialogueBox);
+ Object.Destroy(QSBPlayerManager.GetPlayer((uint)Value2).CurrentDialogueBox);
break;
}
}
diff --git a/QSB/ConversationSync/Messages/ConversationStartEndMessage.cs b/QSB/ConversationSync/Messages/ConversationStartEndMessage.cs
index 3ce2187d..007dbd9e 100644
--- a/QSB/ConversationSync/Messages/ConversationStartEndMessage.cs
+++ b/QSB/ConversationSync/Messages/ConversationStartEndMessage.cs
@@ -7,43 +7,29 @@ using QSB.WorldSync;
namespace QSB.ConversationSync.Messages
{
- public class ConversationStartEndMessage : QSBMessage
+ public class ConversationStartEndMessage : QSBMessage
{
- private int TreeId;
-
public ConversationStartEndMessage(int treeId, bool start)
{
- TreeId = treeId;
- Value = start;
- }
-
- public override void Serialize(NetworkWriter writer)
- {
- base.Serialize(writer);
- writer.Write(TreeId);
- }
-
- public override void Deserialize(NetworkReader reader)
- {
- base.Deserialize(reader);
- TreeId = reader.Read();
+ Value2 = treeId;
+ Value1 = start;
}
public override bool ShouldReceive => QSBWorldSync.AllObjectsReady;
public override void OnReceiveRemote()
{
- if (TreeId == -1)
+ if (Value2 == -1)
{
DebugLog.ToConsole("Warning - Received conv. start/end event with char id -1.", MessageType.Warning);
return;
}
- var dialogueTree = QSBWorldSync.OldDialogueTrees[TreeId];
+ var dialogueTree = QSBWorldSync.OldDialogueTrees[Value2];
- if (Value)
+ if (Value1)
{
- StartConversation(From, TreeId, dialogueTree);
+ StartConversation(From, Value2, dialogueTree);
}
else
{
diff --git a/QSB/ConversationSync/Messages/DialogueConditionMessage.cs b/QSB/ConversationSync/Messages/DialogueConditionMessage.cs
index 3230f0ae..4314cb68 100644
--- a/QSB/ConversationSync/Messages/DialogueConditionMessage.cs
+++ b/QSB/ConversationSync/Messages/DialogueConditionMessage.cs
@@ -4,61 +4,44 @@ using QSB.WorldSync;
namespace QSB.ConversationSync.Messages
{
- public class DialogueConditionMessage : QSBMessage
+ public class DialogueConditionMessage : QSBMessage
{
- private string ConditionName;
- private bool ConditionState;
-
public DialogueConditionMessage(string name, bool state)
{
- ConditionName = name;
- ConditionState = state;
- }
-
- public override void Serialize(NetworkWriter writer)
- {
- base.Serialize(writer);
- writer.Write(ConditionName);
- writer.Write(ConditionState);
- }
-
- public override void Deserialize(NetworkReader reader)
- {
- base.Deserialize(reader);
- ConditionName = reader.ReadString();
- ConditionState = reader.Read();
+ Value1 = name;
+ Value2 = state;
}
public override void OnReceiveRemote()
{
if (QSBCore.IsHost)
{
- QSBWorldSync.SetDialogueCondition(ConditionName, ConditionState);
+ QSBWorldSync.SetDialogueCondition(Value1, Value2);
}
var sharedInstance = DialogueConditionManager.SharedInstance;
var flag = true;
- if (sharedInstance.ConditionExists(ConditionName))
+ if (sharedInstance.ConditionExists(Value1))
{
- if (sharedInstance._dictConditions[ConditionName] == ConditionState)
+ if (sharedInstance._dictConditions[Value1] == Value2)
{
flag = false;
}
- sharedInstance._dictConditions[ConditionName] = ConditionState;
+ sharedInstance._dictConditions[Value1] = Value2;
}
else
{
- sharedInstance.AddCondition(ConditionName, ConditionState);
+ sharedInstance.AddCondition(Value1, Value2);
}
if (flag)
{
- GlobalMessenger.FireEvent("DialogueConditionChanged", ConditionName, ConditionState);
+ GlobalMessenger.FireEvent("DialogueConditionChanged", Value1, Value2);
}
- if (ConditionName == "LAUNCH_CODES_GIVEN")
+ if (Value1 == "LAUNCH_CODES_GIVEN")
{
PlayerData.LearnLaunchCodes();
}
@@ -68,7 +51,7 @@ namespace QSB.ConversationSync.Messages
{
if (QSBCore.IsHost)
{
- QSBWorldSync.SetDialogueCondition(ConditionName, ConditionState);
+ QSBWorldSync.SetDialogueCondition(Value1, Value2);
}
}
}
diff --git a/QSB/ConversationSync/Messages/PersistentConditionMessage.cs b/QSB/ConversationSync/Messages/PersistentConditionMessage.cs
index f74308d3..fdd19cb5 100644
--- a/QSB/ConversationSync/Messages/PersistentConditionMessage.cs
+++ b/QSB/ConversationSync/Messages/PersistentConditionMessage.cs
@@ -4,50 +4,33 @@ using QSB.WorldSync;
namespace QSB.ConversationSync.Messages
{
- internal class PersistentConditionMessage : QSBMessage
+ internal class PersistentConditionMessage : QSBMessage
{
- private string _conditionName;
- private bool _conditionState;
-
public PersistentConditionMessage(string condition, bool state)
{
- _conditionName = condition;
- _conditionState = state;
- }
-
- public override void Serialize(NetworkWriter writer)
- {
- base.Serialize(writer);
- writer.Write(_conditionName);
- writer.Write(_conditionState);
- }
-
- public override void Deserialize(NetworkReader reader)
- {
- base.Deserialize(reader);
- _conditionName = reader.ReadString();
- _conditionState = reader.ReadBool();
+ Value1 = condition;
+ Value2 = state;
}
public override void OnReceiveRemote()
{
if (QSBCore.IsHost)
{
- QSBWorldSync.SetPersistentCondition(_conditionName, _conditionState);
+ QSBWorldSync.SetPersistentCondition(Value1, Value2);
}
var gameSave = PlayerData._currentGameSave;
- if (gameSave.dictConditions.ContainsKey(_conditionName))
+ if (gameSave.dictConditions.ContainsKey(Value1))
{
- gameSave.dictConditions[_conditionName] = _conditionState;
+ gameSave.dictConditions[Value1] = Value2;
}
else
{
- gameSave.dictConditions.Add(_conditionName, _conditionState);
+ gameSave.dictConditions.Add(Value1, Value2);
}
- if (_conditionName
- is not "LAUNCH_CODES_GIVEN"
+ if (Value1
+ is not "LAUNCH_CODES_GIVEN"
and not "PLAYER_ENTERED_TIMELOOPCORE"
and not "PROBE_ENTERED_TIMELOOPCORE"
and not "PLAYER_ENTERED_TIMELOOPCORE_MULTIPLE")
@@ -60,7 +43,7 @@ namespace QSB.ConversationSync.Messages
{
if (QSBCore.IsHost)
{
- QSBWorldSync.SetPersistentCondition(_conditionName, _conditionState);
+ QSBWorldSync.SetPersistentCondition(Value1, Value2);
}
}
}
diff --git a/QSB/ItemSync/Messages/SocketItemMessage.cs b/QSB/ItemSync/Messages/SocketItemMessage.cs
index 2ee7da92..79b00395 100644
--- a/QSB/ItemSync/Messages/SocketItemMessage.cs
+++ b/QSB/ItemSync/Messages/SocketItemMessage.cs
@@ -8,30 +8,13 @@ using QSB.WorldSync;
namespace QSB.ItemSync.Messages
{
- internal class SocketItemMessage : QSBMessage
+ internal class SocketItemMessage : QSBMessage
{
- private int SocketId;
- private int ItemId;
-
public SocketItemMessage(SocketMessageType type, int socketId = -1, int itemId = -1)
{
- Value = type;
- SocketId = socketId;
- ItemId = itemId;
- }
-
- public override void Serialize(NetworkWriter writer)
- {
- base.Serialize(writer);
- writer.Write(SocketId);
- writer.Write(ItemId);
- }
-
- public override void Deserialize(NetworkReader reader)
- {
- base.Deserialize(reader);
- SocketId = reader.Read();
- ItemId = reader.Read();
+ Value1 = type;
+ Value2 = socketId;
+ Value3 = itemId;
}
public override bool ShouldReceive => QSBWorldSync.AllObjectsReady;
@@ -46,16 +29,16 @@ namespace QSB.ItemSync.Messages
DebugLog.DebugWrite("DROP HELD ITEM");
player.AnimationSync.VisibleAnimator.SetTrigger("DropHeldItem");
- switch (Value)
+ switch (Value1)
{
case SocketMessageType.Socket:
- socketWorldObject = SocketId.GetWorldObject();
- itemWorldObject = ItemId.GetWorldObject();
+ socketWorldObject = Value2.GetWorldObject();
+ itemWorldObject = Value3.GetWorldObject();
socketWorldObject.PlaceIntoSocket(itemWorldObject);
return;
case SocketMessageType.StartUnsocket:
- socketWorldObject = SocketId.GetWorldObject();
+ socketWorldObject = Value2.GetWorldObject();
if (!socketWorldObject.IsSocketOccupied())
{
@@ -66,7 +49,7 @@ namespace QSB.ItemSync.Messages
socketWorldObject.RemoveFromSocket();
return;
case SocketMessageType.CompleteUnsocket:
- itemWorldObject = ItemId.GetWorldObject();
+ itemWorldObject = Value3.GetWorldObject();
itemWorldObject.OnCompleteUnsocket();
return;
diff --git a/QSB/Messaging/QSBMessage.cs b/QSB/Messaging/QSBMessage.cs
index 5c41889f..8b2d270e 100644
--- a/QSB/Messaging/QSBMessage.cs
+++ b/QSB/Messaging/QSBMessage.cs
@@ -81,4 +81,27 @@ namespace QSB.Messaging
Value2 = reader.Read();
}
}
+
+ public abstract class QSBMessage : QSBMessage
+ {
+ protected T Value1;
+ protected U Value2;
+ protected V Value3;
+
+ public override void Serialize(NetworkWriter writer)
+ {
+ base.Serialize(writer);
+ writer.Write(Value1);
+ writer.Write(Value2);
+ writer.Write(Value3);
+ }
+
+ public override void Deserialize(NetworkReader reader)
+ {
+ base.Deserialize(reader);
+ Value1 = reader.Read();
+ Value2 = reader.Read();
+ Value3 = reader.Read();
+ }
+ }
}
\ No newline at end of file