Add VRChat and GitHub packages to Unity project

This commit is contained in:
gunnbr committed 2021-01-18 09:14:18 -08:00
1 parent 0334a52b21
commit 85538aaccc
3297 files changed
+847877

No files matched your search

@@ -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);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ff1ca109149d83b03b39644f8045275e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -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; }
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8942002e9ac41c2bfd27c4fbedf93f09
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -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; }
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7279ec8ad7837f13ec833193ab4282cc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -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();
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ea095023abd05a7af0da4166dcefdee8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -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()
{
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c3cecb461cebbc940ede3b5ddb72382e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -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()
{
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 56b88cfe9935184fe250bda018144f26
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -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()
{
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d1b9fa6342beb9fdfc2c4bc1d8e5e971
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -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()
{
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6cb9325ffffee5d6ed94d71590b4049a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -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()
{
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: eefcd68a84ee7903b08c6254c17fafe3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -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()
{
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d62f7ab4e5aa075b819d6c71e929686b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: