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,35 @@
using System;
using VRC.Udon.Common;
using VRC.Udon.Serialization.OdinSerializer;
using VRC.Udon.Serialization.Formatters;
[assembly: RegisterFormatter(typeof(UdonGameObjectComponentReferenceFormatter))]
namespace VRC.Udon.Serialization.Formatters
{
public sealed class UdonGameObjectComponentReferenceFormatter : BaseFormatter<UdonGameObjectComponentHeapReference>
{
private static readonly Serializer<Type> _typeSerializer = Serializer.Get<Type>();
protected override UdonGameObjectComponentHeapReference GetUninitializedObject()
{
return null;
}
// ReSharper disable once RedundantAssignment
protected override void DeserializeImplementation(ref UdonGameObjectComponentHeapReference value, IDataReader reader)
{
Type type = _typeSerializer.ReadValue(reader);
value = new UdonGameObjectComponentHeapReference(type);
RegisterReferenceID(value, reader);
InvokeOnDeserializingCallbacks(ref value, reader.Context);
}
protected override void SerializeImplementation(ref UdonGameObjectComponentHeapReference value, IDataWriter writer)
{
_typeSerializer.WriteValue(value.type, writer);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b1d0b8aa8084bcd44a572d524d7a31bb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,50 @@
using VRC.Udon.Common;
using VRC.Udon.Common.Interfaces;
using VRC.Udon.Serialization.OdinSerializer;
using VRC.Udon.Serialization.Formatters;
[assembly: RegisterFormatter(typeof(UdonProgramFormatter))]
namespace VRC.Udon.Serialization.Formatters
{
public sealed class UdonProgramFormatter : BaseFormatter<UdonProgram>
{
private static readonly Serializer<byte[]> _byteArrayReaderWriter = Serializer.Get<byte[]>();
private static readonly Serializer<IUdonHeap> _udonHeapReaderWriter = Serializer.Get<IUdonHeap>();
private static readonly Serializer<IUdonSymbolTable> _udonSymbolTableReaderWriter = Serializer.Get<IUdonSymbolTable>();
private static readonly Serializer<IUdonSyncMetadataTable> _udonSyncMetadataTableReaderWriter = Serializer.Get<IUdonSyncMetadataTable>();
protected override UdonProgram GetUninitializedObject()
{
return null;
}
// ReSharper disable once RedundantAssignment
protected override void DeserializeImplementation(ref UdonProgram value, IDataReader reader)
{
reader.ReadString(out string instructionSetIdentifier);
reader.ReadInt32(out int instructionSetVersion);
byte[] byteCode = _byteArrayReaderWriter.ReadValue(reader);
IUdonHeap heap = _udonHeapReaderWriter.ReadValue(reader);
IUdonSymbolTable entryPoints = _udonSymbolTableReaderWriter.ReadValue(reader);
IUdonSymbolTable symbolTable = _udonSymbolTableReaderWriter.ReadValue(reader);
IUdonSyncMetadataTable syncMetadataTable = _udonSyncMetadataTableReaderWriter.ReadValue(reader);
value = new UdonProgram(instructionSetIdentifier, instructionSetVersion, byteCode, heap, entryPoints, symbolTable, syncMetadataTable);
RegisterReferenceID(value, reader);
InvokeOnDeserializingCallbacks(ref value, reader.Context);
}
protected override void SerializeImplementation(ref UdonProgram value, IDataWriter writer)
{
writer.WriteString("InstructionSetIdentifier", value.InstructionSetIdentifier);
writer.WriteInt32("InstructionSetVersion", value.InstructionSetVersion);
_byteArrayReaderWriter.WriteValue("ByteCode", value.ByteCode, writer);
_udonHeapReaderWriter.WriteValue("Heap", value.Heap, writer);
_udonSymbolTableReaderWriter.WriteValue("EntryPoints", value.EntryPoints, writer);
_udonSymbolTableReaderWriter.WriteValue("SymbolTable", value.SymbolTable, writer);
_udonSyncMetadataTableReaderWriter.WriteValue("SyncMetadataTable", value.SyncMetadataTable, writer);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f2626352b2a60eb41adc3580ae44c750
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: