From eb84bb298d2b95aec7b2ae12cbf25ac64f25379a Mon Sep 17 00:00:00 2001 From: tylermurphy534 Date: Sun, 6 Nov 2022 15:12:42 -0500 Subject: move to self host --- .../Config/GlobalSerializationConfig.cs | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 VRCSDK3Worlds/Assets/Udon/Serialization/OdinSerializer/Config/GlobalSerializationConfig.cs (limited to 'VRCSDK3Worlds/Assets/Udon/Serialization/OdinSerializer/Config/GlobalSerializationConfig.cs') diff --git a/VRCSDK3Worlds/Assets/Udon/Serialization/OdinSerializer/Config/GlobalSerializationConfig.cs b/VRCSDK3Worlds/Assets/Udon/Serialization/OdinSerializer/Config/GlobalSerializationConfig.cs new file mode 100644 index 00000000..bb3b2b5c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Udon/Serialization/OdinSerializer/Config/GlobalSerializationConfig.cs @@ -0,0 +1,74 @@ +//----------------------------------------------------------------------- +// +// Copyright (c) 2018 Sirenix IVS +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//----------------------------------------------------------------------- +namespace VRC.Udon.Serialization.OdinSerializer +{ + /// + /// Contains global configuration options for the serialization system. + /// + public class GlobalSerializationConfig + { + private static readonly GlobalSerializationConfig instance = new GlobalSerializationConfig(); + + /// + /// Gets the global configuration instance. + /// + public static GlobalSerializationConfig Instance { get { return GlobalSerializationConfig.instance; } } + + /// + /// Gets the logger. + /// + public ILogger Logger { get { return DefaultLoggers.UnityLogger; } } + + /// + /// Gets the editor serialization format. + /// + public DataFormat EditorSerializationFormat { get { return DataFormat.Nodes; } } + + /// + /// Gets the build serialization format. + /// + public DataFormat BuildSerializationFormat { get { return DataFormat.Binary; } } + + /// + /// Gets the logging policy. + /// + public LoggingPolicy LoggingPolicy { get { return LoggingPolicy.LogErrors; } } + + /// + /// Gets the error handling policy. + /// + public ErrorHandlingPolicy ErrorHandlingPolicy { get { return ErrorHandlingPolicy.Resilient; } } + + internal static void LoadInstanceIfAssetExists() + { + // TODO: @Integration: If you store your config in an asset or file somewhere, load it here. + } + + internal static bool HasInstanceLoaded + { + get + { + // TODO: @Integration: If you store your config in an asset or file somewhere, return true here if it is loaded, otherwise false. + // If your config is stored in a Unity asset, do NOT load it here; this property is often called from the + // serialization thread, meaning you are not allowed to use Unity's API for loading assets here. + // If this value is false, default configuration values will be used - the same defaults as are set in this class. + return true; + } + } + } +} \ No newline at end of file -- cgit v1.2.3-freya