Add VRChat and GitHub packages to Unity project
This commit is contained in:
1 parent
0334a52b21
commit
85538aaccc
3297 files changed
+847877
No files matched your search
+30
@@ -0,0 +1,30 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="IOverridesSerializationFormat.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>
|
||||
/// Indicates that an Odin-serialized Unity object controls its own serialization format. Every time it is serialized, it will be asked which format to use.
|
||||
/// </summary>
|
||||
public interface IOverridesSerializationFormat
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the format to use for serialization.
|
||||
/// </summary>
|
||||
DataFormat GetFormatToSerializeAs(bool isPlayer);
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ff1ca109149d83b03b39644f8045275e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="IOverridesSerializationPolicy.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>
|
||||
/// Indicates that an Odin-serialized Unity object provides its own serialization policy rather than using the default policy.
|
||||
/// <para/>
|
||||
/// Note that THE VALUES RETURNED BY THIS INTERFACE WILL OVERRIDE THE PARAMETERS PASSED TO <see cref="UnitySerializationUtility.SerializeUnityObject(UnityEngine.Object, ref SerializationData, bool, SerializationContext)"/> and <see cref="UnitySerializationUtility.DeserializeUnityObject(UnityEngine.Object, ref SerializationData, DeserializationContext)"/>.
|
||||
/// </summary>
|
||||
public interface IOverridesSerializationPolicy
|
||||
{
|
||||
ISerializationPolicy SerializationPolicy { get; }
|
||||
bool OdinSerializesUnityFields { get; }
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8942002e9ac41c2bfd27c4fbedf93f09
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="ISupportsPrefabSerialization.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>
|
||||
/// Indicates that an Odin-serialized Unity object supports prefab serialization.
|
||||
/// </summary>
|
||||
public interface ISupportsPrefabSerialization
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the serialization data of the object.
|
||||
/// </summary>
|
||||
SerializationData SerializationData { get; set; }
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7279ec8ad7837f13ec833193ab4282cc
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="SerializationData.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
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Utilities;
|
||||
|
||||
/// <summary>
|
||||
/// Unity serialized data struct that contains all data needed by Odin serialization.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public struct SerializationData
|
||||
{
|
||||
/// <summary>
|
||||
/// The name of the <see cref="PrefabModificationsReferencedUnityObjects"/> field.
|
||||
/// </summary>
|
||||
public const string PrefabModificationsReferencedUnityObjectsFieldName = "PrefabModificationsReferencedUnityObjects";
|
||||
|
||||
/// <summary>
|
||||
/// The name of the <see cref="PrefabModifications"/> field.
|
||||
/// </summary>
|
||||
public const string PrefabModificationsFieldName = "PrefabModifications";
|
||||
|
||||
/// <summary>
|
||||
/// The name of the <see cref="Prefab"/> field.
|
||||
/// </summary>
|
||||
public const string PrefabFieldName = "Prefab";
|
||||
|
||||
/// <summary>
|
||||
/// The data format used by the serializer. This field will be automatically set to the format specified in the global serialization config
|
||||
/// when the Unity object gets serialized, unless the Unity object implements the <see cref="IOverridesSerializationFormat"/> interface.
|
||||
/// </summary>
|
||||
[SerializeField]
|
||||
public DataFormat SerializedFormat;
|
||||
|
||||
/// <summary>
|
||||
/// The serialized data when serializing with the Binray format.
|
||||
/// </summary>
|
||||
[SerializeField]
|
||||
public byte[] SerializedBytes;
|
||||
|
||||
/// <summary>
|
||||
/// All serialized Unity references.
|
||||
/// </summary>
|
||||
[SerializeField]
|
||||
public List<UnityEngine.Object> ReferencedUnityObjects;
|
||||
|
||||
/// <summary>
|
||||
/// Whether the object contains any serialized data.
|
||||
/// </summary>
|
||||
[Obsolete("Use ContainsData instead")]
|
||||
public bool HasEditorData
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (this.SerializedFormat)
|
||||
{
|
||||
case DataFormat.Binary:
|
||||
case DataFormat.JSON:
|
||||
return !(this.SerializedBytesString.IsNullOrWhitespace() && (this.SerializedBytes == null || this.SerializedBytes.Length == 0));
|
||||
|
||||
case DataFormat.Nodes:
|
||||
return !(this.SerializationNodes == null || this.SerializationNodes.Count == 0);
|
||||
|
||||
default:
|
||||
throw new NotImplementedException(this.SerializedFormat.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the struct contains any data.
|
||||
/// If this is false, then it could mean that Unity has not yet deserialized the struct.
|
||||
/// </summary>
|
||||
public bool ContainsData
|
||||
{
|
||||
get
|
||||
{
|
||||
return
|
||||
// this.SerializedBytesString != null && // Unity serialized strings remains null when an object is created until it's deserialized.
|
||||
this.SerializedBytes != null &&
|
||||
this.SerializationNodes != null &&
|
||||
this.PrefabModifications != null &&
|
||||
this.ReferencedUnityObjects != null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The serialized data when serializing with the JSON format.
|
||||
/// </summary>
|
||||
[SerializeField]
|
||||
public string SerializedBytesString;
|
||||
|
||||
/// <summary>
|
||||
/// The reference to the prefab this is only populated in prefab scene instances.
|
||||
/// </summary>
|
||||
[SerializeField]
|
||||
public UnityEngine.Object Prefab;
|
||||
|
||||
/// <summary>
|
||||
/// All serialized Unity references.
|
||||
/// </summary>
|
||||
[SerializeField]
|
||||
public List<UnityEngine.Object> PrefabModificationsReferencedUnityObjects;
|
||||
|
||||
/// <summary>
|
||||
/// All Odin serialized prefab modifications.
|
||||
/// </summary>
|
||||
[SerializeField]
|
||||
public List<string> PrefabModifications;
|
||||
|
||||
/// <summary>
|
||||
/// The serialized data when serializing with the Nodes format.
|
||||
/// </summary>
|
||||
[SerializeField]
|
||||
public List<SerializationNode> SerializationNodes;
|
||||
|
||||
/// <summary>
|
||||
/// Resets all data.
|
||||
/// </summary>
|
||||
public void Reset()
|
||||
{
|
||||
this.SerializedFormat = DataFormat.Binary;
|
||||
|
||||
if (this.SerializedBytes != null && this.SerializedBytes.Length > 0)
|
||||
{
|
||||
this.SerializedBytes = new byte[0];
|
||||
}
|
||||
|
||||
if (this.ReferencedUnityObjects != null && this.ReferencedUnityObjects.Count > 0)
|
||||
{
|
||||
this.ReferencedUnityObjects.Clear();
|
||||
}
|
||||
|
||||
this.Prefab = null;
|
||||
|
||||
if (this.SerializationNodes != null && this.SerializationNodes.Count > 0)
|
||||
{
|
||||
this.SerializationNodes.Clear();
|
||||
}
|
||||
|
||||
if (this.SerializedBytesString != null && this.SerializedBytesString.Length > 0)
|
||||
{
|
||||
this.SerializedBytesString = string.Empty;
|
||||
}
|
||||
|
||||
if (this.PrefabModificationsReferencedUnityObjects != null && this.PrefabModificationsReferencedUnityObjects.Count > 0)
|
||||
{
|
||||
this.PrefabModificationsReferencedUnityObjects.Clear();
|
||||
}
|
||||
|
||||
if (this.PrefabModifications != null && this.PrefabModifications.Count > 0)
|
||||
{
|
||||
this.PrefabModifications.Clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea095023abd05a7af0da4166dcefdee8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="SerializedBehaviour.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
|
||||
{
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// A Unity Behaviour which is serialized by the Sirenix serialization system.
|
||||
/// </summary>
|
||||
#if ODIN_INSPECTOR
|
||||
[Sirenix.OdinInspector.ShowOdinSerializedPropertiesInInspector]
|
||||
#endif
|
||||
|
||||
public abstract class SerializedBehaviour : Behaviour, ISerializationCallbackReceiver, ISupportsPrefabSerialization
|
||||
{
|
||||
[SerializeField, HideInInspector]
|
||||
private SerializationData serializationData;
|
||||
|
||||
SerializationData ISupportsPrefabSerialization.SerializationData { get { return this.serializationData; } set { this.serializationData = value; } }
|
||||
|
||||
void ISerializationCallbackReceiver.OnAfterDeserialize()
|
||||
{
|
||||
UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData);
|
||||
this.OnAfterDeserialize();
|
||||
}
|
||||
|
||||
void ISerializationCallbackReceiver.OnBeforeSerialize()
|
||||
{
|
||||
this.OnBeforeSerialize();
|
||||
UnitySerializationUtility.SerializeUnityObject(this, ref this.serializationData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked after deserialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnAfterDeserialize()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked before serialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnBeforeSerialize()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c3cecb461cebbc940ede3b5ddb72382e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="SerializedComponent.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
|
||||
{
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// A Unity Component which is serialized by the Sirenix serialization system.
|
||||
/// </summary>
|
||||
#if ODIN_INSPECTOR
|
||||
[Sirenix.OdinInspector.ShowOdinSerializedPropertiesInInspector]
|
||||
#endif
|
||||
|
||||
public abstract class SerializedComponent : Component, ISerializationCallbackReceiver, ISupportsPrefabSerialization
|
||||
{
|
||||
[SerializeField, HideInInspector]
|
||||
private SerializationData serializationData;
|
||||
|
||||
SerializationData ISupportsPrefabSerialization.SerializationData { get { return this.serializationData; } set { this.serializationData = value; } }
|
||||
|
||||
void ISerializationCallbackReceiver.OnAfterDeserialize()
|
||||
{
|
||||
UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData);
|
||||
this.OnAfterDeserialize();
|
||||
}
|
||||
|
||||
void ISerializationCallbackReceiver.OnBeforeSerialize()
|
||||
{
|
||||
this.OnBeforeSerialize();
|
||||
UnitySerializationUtility.SerializeUnityObject(this, ref this.serializationData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked after deserialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnAfterDeserialize()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked before serialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnBeforeSerialize()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 56b88cfe9935184fe250bda018144f26
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="SerializedMonoBehaviour.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
|
||||
{
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// A Unity MonoBehaviour which is serialized by the Sirenix serialization system.
|
||||
/// </summary>
|
||||
#if ODIN_INSPECTOR
|
||||
[Sirenix.OdinInspector.ShowOdinSerializedPropertiesInInspector]
|
||||
#endif
|
||||
|
||||
public abstract class SerializedMonoBehaviour : MonoBehaviour, ISerializationCallbackReceiver, ISupportsPrefabSerialization
|
||||
{
|
||||
[SerializeField, HideInInspector]
|
||||
private SerializationData serializationData;
|
||||
|
||||
SerializationData ISupportsPrefabSerialization.SerializationData { get { return this.serializationData; } set { this.serializationData = value; } }
|
||||
|
||||
void ISerializationCallbackReceiver.OnAfterDeserialize()
|
||||
{
|
||||
UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData);
|
||||
this.OnAfterDeserialize();
|
||||
}
|
||||
|
||||
void ISerializationCallbackReceiver.OnBeforeSerialize()
|
||||
{
|
||||
this.OnBeforeSerialize();
|
||||
UnitySerializationUtility.SerializeUnityObject(this, ref this.serializationData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked after deserialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnAfterDeserialize()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked before serialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnBeforeSerialize()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d1b9fa6342beb9fdfc2c4bc1d8e5e971
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="SerializedScriptableObject.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
|
||||
{
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// A Unity ScriptableObject which is serialized by the Sirenix serialization system.
|
||||
/// </summary>
|
||||
#if ODIN_INSPECTOR
|
||||
[Sirenix.OdinInspector.ShowOdinSerializedPropertiesInInspector]
|
||||
#endif
|
||||
|
||||
public abstract class SerializedScriptableObject : ScriptableObject, ISerializationCallbackReceiver
|
||||
{
|
||||
[SerializeField, HideInInspector]
|
||||
private SerializationData serializationData;
|
||||
|
||||
void ISerializationCallbackReceiver.OnAfterDeserialize()
|
||||
{
|
||||
UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData);
|
||||
this.OnAfterDeserialize();
|
||||
}
|
||||
|
||||
void ISerializationCallbackReceiver.OnBeforeSerialize()
|
||||
{
|
||||
this.OnBeforeSerialize();
|
||||
UnitySerializationUtility.SerializeUnityObject(this, ref this.serializationData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked after deserialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnAfterDeserialize()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked before serialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnBeforeSerialize()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6cb9325ffffee5d6ed94d71590b4049a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="SerializedStateMachineBehaviour.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
|
||||
{
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// A Unity StateMachineBehaviour which is serialized by the Sirenix serialization system.
|
||||
/// </summary>
|
||||
#if ODIN_INSPECTOR
|
||||
[Sirenix.OdinInspector.ShowOdinSerializedPropertiesInInspector]
|
||||
#endif
|
||||
|
||||
public abstract class SerializedStateMachineBehaviour : StateMachineBehaviour, ISerializationCallbackReceiver
|
||||
{
|
||||
[SerializeField, HideInInspector]
|
||||
private SerializationData serializationData;
|
||||
|
||||
void ISerializationCallbackReceiver.OnAfterDeserialize()
|
||||
{
|
||||
UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData);
|
||||
this.OnAfterDeserialize();
|
||||
}
|
||||
|
||||
void ISerializationCallbackReceiver.OnBeforeSerialize()
|
||||
{
|
||||
this.OnBeforeSerialize();
|
||||
UnitySerializationUtility.SerializeUnityObject(this, ref this.serializationData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked after deserialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnAfterDeserialize()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked before serialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnBeforeSerialize()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eefcd68a84ee7903b08c6254c17fafe3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="SerializedUnityObject.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
|
||||
{
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// A Unity ScriptableObject which is serialized by the Sirenix serialization system.
|
||||
/// </summary>
|
||||
#if ODIN_INSPECTOR
|
||||
[Sirenix.OdinInspector.ShowOdinSerializedPropertiesInInspector]
|
||||
#endif
|
||||
|
||||
public abstract class SerializedUnityObject : UnityEngine.Object, ISerializationCallbackReceiver
|
||||
{
|
||||
[SerializeField, HideInInspector]
|
||||
private SerializationData serializationData;
|
||||
|
||||
void ISerializationCallbackReceiver.OnAfterDeserialize()
|
||||
{
|
||||
UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData);
|
||||
this.OnAfterDeserialize();
|
||||
}
|
||||
|
||||
void ISerializationCallbackReceiver.OnBeforeSerialize()
|
||||
{
|
||||
this.OnBeforeSerialize();
|
||||
UnitySerializationUtility.SerializeUnityObject(this, ref this.serializationData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked after deserialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnAfterDeserialize()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked before serialization has taken place.
|
||||
/// </summary>
|
||||
protected virtual void OnBeforeSerialize()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d62f7ab4e5aa075b819d6c71e929686b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in new issue
Block a user