diff --git a/GlitchyEditor/src/EditorLayer.bf b/GlitchyEditor/src/EditorLayer.bf index e54fe51..ecb7fb4 100644 --- a/GlitchyEditor/src/EditorLayer.bf +++ b/GlitchyEditor/src/EditorLayer.bf @@ -10,6 +10,7 @@ using GlitchyEngine.World; using GlitchyEngine.Content; using System.Collections; using GlitchyEngine.Renderer.Animation; +using GlitchyEngine.Serialization; using System.IO; using GlitchyEngine.Core; using GlitchyEditor.Assets; diff --git a/GlitchyEngine/src/Scripting/ScriptEngine.bf b/GlitchyEngine/src/Scripting/ScriptEngine.bf index bda8373..c8d84b1 100644 --- a/GlitchyEngine/src/Scripting/ScriptEngine.bf +++ b/GlitchyEngine/src/Scripting/ScriptEngine.bf @@ -4,6 +4,7 @@ using System.IO; using System.Collections; using GlitchyEngine.Core; using GlitchyEngine.Math; +using GlitchyEngine.Serialization; using GlitchyEngine.World; using System.Diagnostics; diff --git a/GlitchyEngine/src/Scripting/ScriptGlue.bf b/GlitchyEngine/src/Scripting/ScriptGlue.bf index d711ece..e856c9f 100644 --- a/GlitchyEngine/src/Scripting/ScriptGlue.bf +++ b/GlitchyEngine/src/Scripting/ScriptGlue.bf @@ -9,6 +9,7 @@ using GlitchyEngine.Core; using System.Collections; using Box2D; using GlitchyEngine.Scripting; +using GlitchyEngine.Serialization; namespace GlitchyEngine.Scripting; diff --git a/GlitchyEngine/src/Serialization/SerializationType.bf b/GlitchyEngine/src/Serialization/SerializationType.bf new file mode 100644 index 0000000..1f7d9f3 --- /dev/null +++ b/GlitchyEngine/src/Serialization/SerializationType.bf @@ -0,0 +1,67 @@ +using GlitchyEngine.Core; +using System; + +namespace GlitchyEngine.Serialization; + +public enum SerializationType : int32 +{ + case None; + + case Bool; + + case Char; + case String; + + case Int8; + case Int16; + case Int32; + case Int64; + case UInt8; + case UInt16; + case UInt32; + case UInt64; + + case Float; + case Double; + case Decimal; + + case Enum; + + case EntityReference; + case ComponentReference; + + case ObjectReference; + + public int GetSize() + { + switch (this) + { + case .Bool: + return 1; + case .Char: + return 1; + case .Int8, .UInt8: + return 1; + case .Int16, .UInt16: + return 2; + case .Int32, .UInt32: + return 4; + case .Int64, .UInt64: + return 8; + case .Float: + return 4; + case .Double: + return 8; + case .Decimal: + return 16; + case .EntityReference, .ComponentReference, .ObjectReference: + return sizeof(UUID); + case .String: + return sizeof(StringView); + case .Enum: + return sizeof(StringView); + default: + return 0; + } + } +} diff --git a/GlitchyEngine/src/Scripting/ScriptInstanceSerializer.bf b/GlitchyEngine/src/Serialization/SerializedObject.bf similarity index 83% rename from GlitchyEngine/src/Scripting/ScriptInstanceSerializer.bf rename to GlitchyEngine/src/Serialization/SerializedObject.bf index 64a4070..b5248cd 100644 --- a/GlitchyEngine/src/Scripting/ScriptInstanceSerializer.bf +++ b/GlitchyEngine/src/Serialization/SerializedObject.bf @@ -1,72 +1,10 @@ -using Mono; -using System.Collections; -using System; using GlitchyEngine.Core; +using GlitchyEngine.Scripting; +using Mono; +using System; +using System.Collections; -namespace GlitchyEngine.Scripting; - -public enum SerializationType : int32 -{ - case None; - - case Bool; - - case Char; - case String; - - case Int8; - case Int16; - case Int32; - case Int64; - case UInt8; - case UInt16; - case UInt32; - case UInt64; - - case Float; - case Double; - case Decimal; - - case Enum; - - case EntityReference; - case ComponentReference; - - case ObjectReference; - - public int GetSize() - { - switch (this) - { - case .Bool: - return 1; - case .Char: - return 1; - case .Int8, .UInt8: - return 1; - case .Int16, .UInt16: - return 2; - case .Int32, .UInt32: - return 4; - case .Int64, .UInt64: - return 8; - case .Float: - return 4; - case .Double: - return 8; - case .Decimal: - return 16; - case .EntityReference, .ComponentReference, .ObjectReference: - return sizeof(UUID); - case .String: - return sizeof(StringView); - case .Enum: - return sizeof(StringView); - default: - return 0; - } - } -} +namespace GlitchyEngine.Serialization; class SerializedObject {