diff --git a/Runtime/SerializableCallback.cs b/Runtime/SerializableCallback.cs index e58fa3b..fe1adeb 100644 --- a/Runtime/SerializableCallback.cs +++ b/Runtime/SerializableCallback.cs @@ -3,7 +3,13 @@ using System.Reflection; using UnityEngine; -public abstract class SerializableCallback : SerializableCallbackBase { +#if UNITY_2020_1_OR_NEWER +[System.Serializable] +public class SerializableCallback : SerializableCallbackBase +#else +public class abstract SerializableCallback : SerializableCallbackBase +#endif +{ public TReturn Invoke() { if (func == null) Cache(); if (_dynamic) { @@ -27,7 +33,14 @@ protected override void Cache() { } } -public abstract class SerializableCallback : SerializableCallbackBase { + +#if UNITY_2020_1_OR_NEWER +[System.Serializable] +public class SerializableCallback : SerializableCallbackBase +#else +public abstract class SerializableCallback : SerializableCallbackBase +#endif +{ public TReturn Invoke(T0 arg0) { if (func == null) Cache(); if (_dynamic) { @@ -51,7 +64,14 @@ protected override void Cache() { } } + +#if UNITY_2020_1_OR_NEWER +[System.Serializable] +public class SerializableCallback : SerializableCallbackBase +#else public abstract class SerializableCallback : SerializableCallbackBase { +#endif +{ public TReturn Invoke(T0 arg0, T1 arg1) { if (func == null) Cache(); if (_dynamic) { @@ -75,7 +95,14 @@ protected override void Cache() { } } -public abstract class SerializableCallback : SerializableCallbackBase { + +#if UNITY_2020_1_OR_NEWER +[System.Serializable] +public class SerializableCallback : SerializableCallbackBase +#else +public abstract class SerializableCallback : SerializableCallbackBase +#endif +{ public TReturn Invoke(T0 arg0, T1 arg1, T2 arg2) { if (func == null) Cache(); if (_dynamic) { @@ -99,7 +126,14 @@ protected override void Cache() { } } -public abstract class SerializableCallback : SerializableCallbackBase { + +#if UNITY_2020_1_OR_NEWER +[System.Serializable] +public class SerializableCallback : SerializableCallbackBase +#else +public abstract class SerializableCallback : SerializableCallbackBase +#endif +{ public TReturn Invoke(T0 arg0, T1 arg1, T2 arg2, T3 arg3) { if (func == null) Cache(); if (_dynamic) { @@ -121,4 +155,4 @@ protected override void Cache() { } } } -} \ No newline at end of file +}