Added namespaces and fixed reflection method name bug
This commit is contained in:
@@ -6,7 +6,7 @@ using System.Reflection;
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
|
|
||||||
namespace Utilities.SerializableData.SerializableFunc.UnityEditorUtilities
|
namespace UnityUtilities.SerializableDataHelpers.UnityEditorUtilities
|
||||||
{
|
{
|
||||||
public static class SerializedPropertyExtensions
|
public static class SerializedPropertyExtensions
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ using UnityEngine;
|
|||||||
using UnityEngine.UIElements;
|
using UnityEngine.UIElements;
|
||||||
using Utilities.Extensions.SystemExtensions;
|
using Utilities.Extensions.SystemExtensions;
|
||||||
using Utilities.Extensions.UIToolkit;
|
using Utilities.Extensions.UIToolkit;
|
||||||
using Utilities.SerializableData.SerializableFunc.UnityEditorUtilities;
|
using UnityUtilities.SerializableDataHelpers
|
||||||
using Object = UnityEngine.Object;
|
using Object = UnityEngine.Object;
|
||||||
|
|
||||||
namespace Utilities.SerializableData.SerializableFunc.UnityEditorDrawers
|
namespace UnityUtilities.SerializableDataHelpers.UnityEditorUtilities
|
||||||
{
|
{
|
||||||
[CustomPropertyDrawer(typeof(SerializableFuncBase<>), true)]
|
[CustomPropertyDrawer(typeof(SerializableFuncBase<>), true)]
|
||||||
public class SerializableFuncBasePropertyDrawer : PropertyDrawer
|
public class SerializableFuncBasePropertyDrawer : PropertyDrawer
|
||||||
|
|||||||
@@ -4,80 +4,83 @@ using System.Reflection;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Object = UnityEngine.Object;
|
using Object = UnityEngine.Object;
|
||||||
|
|
||||||
[System.Serializable]
|
namespace UnityUtilities.SerializableDataHelpers
|
||||||
public abstract class SerializableFuncBase<TFuncType>
|
|
||||||
where TFuncType : Delegate
|
|
||||||
{
|
{
|
||||||
[SerializeField] protected Object targetObject;
|
[System.Serializable]
|
||||||
[SerializeField] protected string methodName;
|
public abstract class SerializableFuncBase<TFuncType>
|
||||||
|
where TFuncType : Delegate
|
||||||
private TFuncType func;
|
|
||||||
|
|
||||||
private static BindingFlags SuitableMethodsFlags = BindingFlags.FlattenHierarchy | BindingFlags.Public | BindingFlags.Instance;
|
|
||||||
|
|
||||||
protected TFuncType GetReturnedFunc()
|
|
||||||
{
|
{
|
||||||
if (func == null)
|
[SerializeField] protected Object targetObject;
|
||||||
|
[SerializeField] protected string methodName;
|
||||||
|
|
||||||
|
private TFuncType func;
|
||||||
|
|
||||||
|
private static BindingFlags SuitableMethodsFlags = BindingFlags.FlattenHierarchy | BindingFlags.Public | BindingFlags.Instance;
|
||||||
|
|
||||||
|
protected TFuncType GetReturnedFunc()
|
||||||
{
|
{
|
||||||
if (targetObject == null)
|
if (func == null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException("Target Object is null!");
|
if (targetObject == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException("Target Object is null!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (string.IsNullOrWhiteSpace(methodName))
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException("Target Method is null!");
|
||||||
|
}
|
||||||
|
|
||||||
|
Type funcType = typeof(TFuncType);
|
||||||
|
|
||||||
|
MethodInfo info = targetObject
|
||||||
|
.GetType()
|
||||||
|
.GetMethods(SuitableMethodsFlags)
|
||||||
|
.FirstOrDefault(x => IsTargetMethodInfo(x, funcType));
|
||||||
|
|
||||||
|
if (info == null)
|
||||||
|
{
|
||||||
|
throw new MissingMethodException($"Object \"{targetObject.name}\" is missing target method: {methodName}");
|
||||||
|
}
|
||||||
|
|
||||||
|
func = (TFuncType)Delegate.CreateDelegate(funcType, targetObject, methodName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(methodName))
|
return func;
|
||||||
{
|
|
||||||
throw new ArgumentNullException("Target Method is null!");
|
|
||||||
}
|
|
||||||
|
|
||||||
Type funcType = typeof(TFuncType);
|
|
||||||
|
|
||||||
MethodInfo info = targetObject
|
|
||||||
.GetType()
|
|
||||||
.GetMethods(SuitableMethodsFlags)
|
|
||||||
.FirstOrDefault(x => IsTargetMethodInfo(x, funcType));
|
|
||||||
|
|
||||||
if (info == null)
|
|
||||||
{
|
|
||||||
throw new MissingMethodException($"Object \"{targetObject.name}\" is missing target method: {methodName}");
|
|
||||||
}
|
|
||||||
|
|
||||||
func = (TFuncType)Delegate.CreateDelegate(funcType, targetObject, methodName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return func;
|
#region Utility Functions
|
||||||
}
|
|
||||||
|
|
||||||
#region Utility Functions
|
private bool IsTargetMethodInfo(MethodInfo methodInfo, Type funcType)
|
||||||
|
|
||||||
private bool IsTargetMethodInfo(MethodInfo methodInfo, Type funcType)
|
|
||||||
{
|
|
||||||
if (string.Equals(methodInfo.Name, methodName, StringComparison.InvariantCulture)) return false;
|
|
||||||
|
|
||||||
Type[] typeArguments = funcType.GetGenericArguments();
|
|
||||||
|
|
||||||
if (methodInfo.ReturnType != typeArguments.Last()) return false;
|
|
||||||
|
|
||||||
ParameterInfo[] parameters = methodInfo.GetParameters();
|
|
||||||
|
|
||||||
if (parameters.Length != (typeArguments.Length - 1)) return false;
|
|
||||||
|
|
||||||
for (int i = 0; i < parameters.Length; i++)
|
|
||||||
{
|
{
|
||||||
Type argType = typeArguments[i];
|
if (!string.Equals(methodInfo.Name, methodName, StringComparison.InvariantCulture)) return false;
|
||||||
ParameterInfo parameterInfo = parameters[i];
|
|
||||||
if (argType != parameterInfo.ParameterType) return false;
|
Type[] typeArguments = funcType.GetGenericArguments();
|
||||||
|
|
||||||
|
if (methodInfo.ReturnType != typeArguments.Last()) return false;
|
||||||
|
|
||||||
|
ParameterInfo[] parameters = methodInfo.GetParameters();
|
||||||
|
|
||||||
|
if (parameters.Length != (typeArguments.Length - 1)) return false;
|
||||||
|
|
||||||
|
for (int i = 0; i < parameters.Length; i++)
|
||||||
|
{
|
||||||
|
Type argType = typeArguments[i];
|
||||||
|
ParameterInfo parameterInfo = parameters[i];
|
||||||
|
if (argType != parameterInfo.ParameterType) return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
#endregion
|
||||||
|
|
||||||
|
public static implicit operator TFuncType(SerializableFuncBase<TFuncType> func)
|
||||||
|
{
|
||||||
|
if (func == null) return null;
|
||||||
|
|
||||||
|
TFuncType result = func.GetReturnedFunc();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endregion
|
|
||||||
|
|
||||||
public static implicit operator TFuncType(SerializableFuncBase<TFuncType> func)
|
|
||||||
{
|
|
||||||
if (func == null) return null;
|
|
||||||
|
|
||||||
TFuncType result = func.GetReturnedFunc();
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,175 +1,178 @@
|
|||||||
using System;
|
namespace UnityUtilities.SerializableDataHelpers
|
||||||
|
|
||||||
[System.Serializable]
|
|
||||||
public class SerializableFunc<TReturn> : SerializableFuncBase<Func<TReturn>>
|
|
||||||
{
|
{
|
||||||
public TReturn Invoke()
|
using System;
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
public class SerializableFunc<TReturn> : SerializableFuncBase<Func<TReturn>>
|
||||||
{
|
{
|
||||||
Func<TReturn> func = GetReturnedFunc();
|
public TReturn Invoke()
|
||||||
return func();
|
{
|
||||||
|
Func<TReturn> func = GetReturnedFunc();
|
||||||
|
return func();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TReturn> : SerializableFuncBase<Func<TArg0, TReturn>>
|
public class SerializableFunc<TArg0, TReturn> : SerializableFuncBase<Func<TArg0, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0)
|
||||||
return func(arg0);
|
{
|
||||||
|
Func<TArg0, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1)
|
||||||
return func(arg0, arg1);
|
{
|
||||||
|
Func<TArg0, TArg1, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TArg2, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2)
|
||||||
return func(arg0, arg1, arg2);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3)
|
||||||
return func(arg0, arg1, arg2, arg3);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TReturn>>
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TReturn> : SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TReturn> :
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TReturn> :
|
||||||
SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TReturn>>
|
SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TReturn> :
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TReturn> :
|
||||||
SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TReturn>>
|
SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12, TArg13 arg13)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12, TArg13 arg13)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TReturn> :
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TReturn> :
|
||||||
SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TReturn>>
|
SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12, TArg13 arg13, TArg14 arg14)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12, TArg13 arg13, TArg14 arg14)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TReturn> :
|
public class SerializableFunc<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TReturn> :
|
||||||
SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TReturn>>
|
SerializableFuncBase<Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TReturn>>
|
||||||
{
|
|
||||||
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12, TArg13 arg13, TArg14 arg14, TArg15 arg15)
|
|
||||||
{
|
{
|
||||||
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TReturn> func = GetReturnedFunc();
|
public TReturn Invoke(TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12, TArg13 arg13, TArg14 arg14, TArg15 arg15)
|
||||||
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15);
|
{
|
||||||
|
Func<TArg0, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TReturn> func = GetReturnedFunc();
|
||||||
|
return func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Utilities.SerializableData.SerializableFunc;
|
using UnityUtilities.SerializableDataHelpers;
|
||||||
|
|
||||||
public class SerializableFuncDebugger : MonoBehaviour
|
public class SerializableFuncDebugger : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "com.antonzhernosek.serializablefunc",
|
"name": "com.antonzhernosek.serializablefunc",
|
||||||
"displayName": "SerializableFunc",
|
"displayName": "SerializableFunc",
|
||||||
"version": "1.1.0",
|
"version": "1.1.1",
|
||||||
"unity": "2020.3",
|
"unity": "2020.3",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"unity",
|
"unity",
|
||||||
|
|||||||
Reference in New Issue
Block a user