diff options
Diffstat (limited to 'VRCSDK3Worlds/Assets/Udon/Serialization/OdinSerializer/Config/GlobalSerializationConfig.cs')
| -rw-r--r-- | VRCSDK3Worlds/Assets/Udon/Serialization/OdinSerializer/Config/GlobalSerializationConfig.cs | 74 |
1 files changed, 74 insertions, 0 deletions
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 file="GlobalSerializationConfig.cs" company="Sirenix IVS"> +// 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. +// </copyright> +//----------------------------------------------------------------------- +namespace VRC.Udon.Serialization.OdinSerializer +{ + /// <summary> + /// Contains global configuration options for the serialization system. + /// </summary> + public class GlobalSerializationConfig + { + private static readonly GlobalSerializationConfig instance = new GlobalSerializationConfig(); + + /// <summary> + /// Gets the global configuration instance. + /// </summary> + public static GlobalSerializationConfig Instance { get { return GlobalSerializationConfig.instance; } } + + /// <summary> + /// Gets the logger. + /// </summary> + public ILogger Logger { get { return DefaultLoggers.UnityLogger; } } + + /// <summary> + /// Gets the editor serialization format. + /// </summary> + public DataFormat EditorSerializationFormat { get { return DataFormat.Nodes; } } + + /// <summary> + /// Gets the build serialization format. + /// </summary> + public DataFormat BuildSerializationFormat { get { return DataFormat.Binary; } } + + /// <summary> + /// Gets the logging policy. + /// </summary> + public LoggingPolicy LoggingPolicy { get { return LoggingPolicy.LogErrors; } } + + /// <summary> + /// Gets the error handling policy. + /// </summary> + 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 |