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