Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions Assets/Sample/CannotDisplayIfNotRef/ClassDefines.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
using GenericSerializeReference.Tests;

public class IntIntObject : MultipleGeneric.IInterface<int, int> {}
public class IntObject : SingleGeneric.IInterface<int> {}
public class IntObject : IMyInterface<int> {}
2 changes: 1 addition & 1 deletion Assets/Sample/CannotDisplayIfNotRef/Invisible.asmdef
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "Invisible",
"rootNamespace": "",
"references": [
"GUID:7db2c3edd9cbf4a0c84e314cca3ddf42"
"GUID:f4e0bad0409094416a9502287ae04b5c"
],
"includePlatforms": [],
"excludePlatforms": [],
Expand Down
26 changes: 13 additions & 13 deletions Assets/Sample/Test.unity
Original file line number Diff line number Diff line change
Expand Up @@ -170,39 +170,39 @@ MonoBehaviour:
references:
version: 1
00000000:
type: {class: TestMonoBehavior/<IntFloat>__generic_serialize_reference/SubObject, ns: GenericSerializeReference.Tests, asm: GenericSerializeReference.Sample}
type: {class: TestMonoBehavior/<IntFloat>__generic_serialize_reference/Object, ns: GenericSerializeReference.Sample, asm: GenericSerializeReference.Sample}
data:
ValueT: 0
ValueU: 0
SubValueT:
SubValueU: []
V: 0
00000001:
type: {class: TestMonoBehavior/<FloatInt>__generic_serialize_reference/NonGeneric, ns: GenericSerializeReference.Tests, asm: GenericSerializeReference.Sample}
type: {class: TestMonoBehavior/<FloatInt>__generic_serialize_reference/NonGeneric, ns: GenericSerializeReference.Sample, asm: GenericSerializeReference.Sample}
data:
ValueT: 0
ValueU: 0
ValueDouble: 0
00000002:
type: {class: TestMonoBehavior/<IntInt>__generic_serialize_reference/PartialObject, ns: GenericSerializeReference.Tests, asm: GenericSerializeReference.Sample}
type: {class: TestMonoBehavior/<IntInt>__generic_serialize_reference/SubObject, ns: GenericSerializeReference.Sample, asm: GenericSerializeReference.Sample}
data:
ValueT: 0
ValueU: 0
ValueDouble: 0
SubValueT:
SubValueU:
00000003:
type: {class: TestMonoBehavior/<Int>__generic_serialize_reference/Object, ns: GenericSerializeReference.Tests, asm: GenericSerializeReference.Sample}
type: {class: TestMonoBehavior/<Int>__generic_serialize_reference/SubObject, ns: GenericSerializeReference.Sample, asm: GenericSerializeReference.Sample}
data:
Value: 0
SubValue:
00000004:
type: {class: TestMonoBehavior/<Double>__generic_serialize_reference/DoubleObject, ns: GenericSerializeReference.Tests, asm: GenericSerializeReference.Sample}
type: {class: TestMonoBehavior/<Double>__generic_serialize_reference/SubObject, ns: GenericSerializeReference.Sample, asm: GenericSerializeReference.Sample}
data:
Value: 0
SubValue: []
00000005:
type: {class: TestMonoBehavior/<IntObject>__generic_serialize_reference/SubObject, ns: GenericSerializeReference.Tests, asm: GenericSerializeReference.Sample}
type: {class: TestMonoBehavior/<IntObject>__generic_serialize_reference/SubObject, ns: GenericSerializeReference.Sample, asm: GenericSerializeReference.Sample}
data:
Value: 0
SubValue:
00000006:
type: {class: TestMonoBehavior/<IntIntObject>__generic_serialize_reference/PartialObject, ns: GenericSerializeReference.Tests, asm: GenericSerializeReference.Sample}
type: {class: TestMonoBehavior/<IntIntObject>__generic_serialize_reference/PartialObject, ns: GenericSerializeReference.Sample, asm: GenericSerializeReference.Sample}
data:
ValueT: 0
ValueU: 0
Expand Down Expand Up @@ -238,4 +238,4 @@ MonoBehaviour:
references:
version: 1
00000000:
type: {class: , ns: , asm: }
type: {class: MyMonoBehavior/<Value>__generic_serialize_reference/MyIntObject, ns: , asm: GenericSerializeReference.Sample}
59 changes: 58 additions & 1 deletion Assets/Sample/TestMonoBehavior.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
using System;
using GenericSerializeReference;
using UnityEngine;
using UnityEngine.Scripting;

[assembly: GenericSerializeReferenceLogger(LogLevel.Debug)]

namespace GenericSerializeReference.Tests
namespace GenericSerializeReference.Sample
{
public class TestMonoBehavior : MonoBehaviour
{
Expand Down Expand Up @@ -45,4 +46,60 @@ private void Awake()
Debug.Log($"{IntFloat.GetType()}: \n {JsonUtility.ToJson(IntFloat)}");
}
}


public static class SingleGeneric
{
public interface IInterface<T> {}

[Serializable]
public class Object<T> : IInterface<T>
{
public T Value;
}

[Serializable]
public class SubObject<T> : Object<T>
{
public T[] SubValue;
}

[Serializable]
public class DoubleObject : IInterface<double>
{
public double Value;
}
}

public static class MultipleGeneric
{
[Preserve]
public interface IInterface<T, U> {}

[Serializable]
public class Object<T, U> : IInterface<T, U>
{
public T ValueT;
public U ValueU;
}

[Serializable]
public class SubObject<U, T> : Object<T, U>
{
public T[] SubValueT;
public U[] SubValueU;
}

[Serializable]
public class PartialObject<T> : Object<T, int>
{
public double ValueDouble;
}

[Serializable]
public class NonGeneric : Object<float, int>, IInterface<int, float>
{
public double ValueDouble;
}
}
}
4 changes: 1 addition & 3 deletions Assets/Sample/TestSO.asset
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@ MonoBehaviour:
references:
version: 1
00000000:
type: {class: TestSO/<IntFloat>__generic_serialize_reference/SubObject, ns: GenericSerializeReference.Tests, asm: GenericSerializeReference.Sample}
type: {class: TestSO/<IntFloat>__generic_serialize_reference/MultipleGeneric.Object`2., ns: GenericSerializeReference.Sample, asm: GenericSerializeReference.Sample}
data:
ValueT: 0
ValueU: 0
SubValueT:
SubValueU: []
2 changes: 1 addition & 1 deletion Assets/Sample/TestSO.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using UnityEngine;

namespace GenericSerializeReference.Tests
namespace GenericSerializeReference.Sample
{
[CreateAssetMenu(fileName = "TestSO", menuName = "TestSO", order = 0)]
public class TestSO : ScriptableObject
Expand Down
8 changes: 0 additions & 8 deletions Packages/generic-serialize-reference/Tests.meta

This file was deleted.