From 6d0ca85b7fb1b35b9b7c02954415872694f2e2e7 Mon Sep 17 00:00:00 2001
From: Stone_Red <56473591+Stone-Red-Code@users.noreply.github.com>
Date: Sat, 29 Jul 2023 23:38:48 +0200
Subject: [PATCH] Add save and loader classes and some QoL improvements
---
.../Content/ContextMenu.xmmp | 4 +-
.../Content/QuickMenu.xmmp | 6 +-
.../Content/WorldScreen.xmmp | 11 +-
StoneRed.LogicSimulator/GlobalSuppressions.cs | 8 +
.../Simulation/LogicGateSimulator.cs | 25 +-
.../LogicGateDescriptionAttribute.cs | 14 +
.../Attributes/LogicGateNameAttribute.cs | 14 +
.../Simulation/LogicGates/Button.cs | 12 +-
.../Simulation/LogicGates/Clock.cs | 12 +-
.../LogicGates/Interfaces/LogicGate.cs | 27 +-
.../Simulation/LogicGates/Lamp.cs | 7 +-
...cGateMetadata.cs => LogicGateWorldData.cs} | 4 +-
.../Simulation/LogicGates/NotGate.cs | 18 ++
.../Simulation/LogicGates/Pin.cs | 9 +-
.../Simulation/LogicGates/Switch.cs | 12 +-
.../Simulation/LogicGates/TestLogicGate.cs | 20 --
StoneRed.LogicSimulator/Srls.cs | 20 +-
.../StoneRed.LogicSimulator.csproj | 1 +
.../UserInterface/Screens/LoadingScreen.cs | 58 ++--
.../UserInterface/Screens/SrlsScreen.cs | 15 +-
.../UserInterface/Screens/StartScreen.cs | 27 +-
.../UserInterface/Screens/WorldScreen.cs | 255 ++++++++++++++----
.../UserInterface/Windows/QuickMenu.cs | 3 +
.../Utilities/FrequencyCalculator.cs | 30 +++
.../Utilities/InputHelper.cs | 31 +++
.../Utilities/LogicGatesManager.cs | 108 ++++++++
.../WorldSaveSystem/WorldLoader.cs | 41 +++
.../WorldReaders/IWorldReader.cs | 14 +
.../WorldReaders/WorldReaderV1.cs | 113 ++++++++
.../WorldSaveSystem/WorldSaveLoadProgress.cs | 14 +
.../WorldSaveSystem/WorldSaver.cs | 5 +
.../WorldWriters/IWorldWriter.cs | 14 +
.../WorldWriters/WorldWriterV1.cs | 76 ++++++
33 files changed, 875 insertions(+), 153 deletions(-)
create mode 100644 StoneRed.LogicSimulator/GlobalSuppressions.cs
create mode 100644 StoneRed.LogicSimulator/Simulation/LogicGates/Attributes/LogicGateDescriptionAttribute.cs
create mode 100644 StoneRed.LogicSimulator/Simulation/LogicGates/Attributes/LogicGateNameAttribute.cs
rename StoneRed.LogicSimulator/Simulation/LogicGates/{LogicGateMetadata.cs => LogicGateWorldData.cs} (72%)
create mode 100644 StoneRed.LogicSimulator/Simulation/LogicGates/NotGate.cs
delete mode 100644 StoneRed.LogicSimulator/Simulation/LogicGates/TestLogicGate.cs
create mode 100644 StoneRed.LogicSimulator/Utilities/FrequencyCalculator.cs
create mode 100644 StoneRed.LogicSimulator/Utilities/InputHelper.cs
create mode 100644 StoneRed.LogicSimulator/Utilities/LogicGatesManager.cs
create mode 100644 StoneRed.LogicSimulator/WorldSaveSystem/WorldLoader.cs
create mode 100644 StoneRed.LogicSimulator/WorldSaveSystem/WorldReaders/IWorldReader.cs
create mode 100644 StoneRed.LogicSimulator/WorldSaveSystem/WorldReaders/WorldReaderV1.cs
create mode 100644 StoneRed.LogicSimulator/WorldSaveSystem/WorldSaveLoadProgress.cs
create mode 100644 StoneRed.LogicSimulator/WorldSaveSystem/WorldSaver.cs
create mode 100644 StoneRed.LogicSimulator/WorldSaveSystem/WorldWriters/IWorldWriter.cs
create mode 100644 StoneRed.LogicSimulator/WorldSaveSystem/WorldWriters/WorldWriterV1.cs
diff --git a/StoneRed.LogicSimulator/Content/ContextMenu.xmmp b/StoneRed.LogicSimulator/Content/ContextMenu.xmmp
index 35e1025..ff69662 100644
--- a/StoneRed.LogicSimulator/Content/ContextMenu.xmmp
+++ b/StoneRed.LogicSimulator/Content/ContextMenu.xmmp
@@ -1,8 +1,8 @@
-
-
+
+
\ No newline at end of file
diff --git a/StoneRed.LogicSimulator/Content/QuickMenu.xmmp b/StoneRed.LogicSimulator/Content/QuickMenu.xmmp
index dfbe2a8..8c42bab 100644
--- a/StoneRed.LogicSimulator/Content/QuickMenu.xmmp
+++ b/StoneRed.LogicSimulator/Content/QuickMenu.xmmp
@@ -1,9 +1,11 @@
-
-