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

+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a4346d47c933165419a6e3825fc78797
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,17 @@
using System.Collections;
using System.Collections.Generic;
using JetBrains.Annotations;
using UnityEngine;
using VRC.Udon.Common.Interfaces;
namespace VRC.Udon
{
public abstract class AbstractSerializedUdonProgramAsset : ScriptableObject
{
[PublicAPI]
public abstract void StoreProgram(IUdonProgram udonProgram);
[PublicAPI]
public abstract IUdonProgram RetrieveProgram();
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2fad63ba312d5f44a8ab215c3f5b18f1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using JetBrains.Annotations;
using UnityEngine;
using VRC.Udon.Common.Interfaces;
namespace VRC.Udon
{
public abstract class AbstractUdonProgramSource : ScriptableObject
{
[PublicAPI]
public abstract AbstractSerializedUdonProgramAsset SerializedProgramAsset { get; }
[PublicAPI]
public abstract void RunEditorUpdate(UdonBehaviour udonBehaviour, ref bool dirty);
[PublicAPI]
public abstract void RefreshProgram();
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7fa64b2d7df72fb4cbf7898a400e86ef
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Profiling;
using VRC.Udon.Common;
using VRC.Udon.Common.Interfaces;
using VRC.Udon.Serialization.OdinSerializer;
namespace VRC.Udon.ProgramSources
{
public sealed class SerializedUdonProgramAsset : AbstractSerializedUdonProgramAsset
{
private const DataFormat DEFAULT_SERIALIZATION_DATA_FORMAT = DataFormat.Binary;
[SerializeField, HideInInspector]
private string serializedProgramBytesString;
[SerializeField, HideInInspector]
private List<UnityEngine.Object> programUnityEngineObjects;
// Store the serialization DataFormat that was actually used to serialize the program.
// This allows us to change the DataFormat later (ex. switch to binary) without causing already serialized programs to use the wrong DataFormat.
// Programs will be deserialized using the previous format and will switch to the new format if StoreProgram is called again later.
[SerializeField, HideInInspector]
private DataFormat serializationDataFormat = DEFAULT_SERIALIZATION_DATA_FORMAT;
public override void StoreProgram(IUdonProgram udonProgram)
{
byte[] serializedProgramBytes = SerializationUtility.SerializeValue(udonProgram, DEFAULT_SERIALIZATION_DATA_FORMAT, out programUnityEngineObjects);
serializedProgramBytesString = Convert.ToBase64String(serializedProgramBytes);
serializationDataFormat = DEFAULT_SERIALIZATION_DATA_FORMAT;
#if UNITY_EDITOR
UnityEditor.EditorUtility.SetDirty(this);
#endif
}
public override IUdonProgram RetrieveProgram()
{
byte[] serializedProgramBytes = Convert.FromBase64String(serializedProgramBytesString ?? "");
return SerializationUtility.DeserializeValue<IUdonProgram>(serializedProgramBytes, serializationDataFormat, programUnityEngineObjects);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bf61d954ecb803046953c666facfb904
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: