Initial Commit

This commit is contained in:
Anton Zhernosek
2023-05-23 14:07:24 +02:00
committed by GitHub
parent 772a603c6f
commit 697d6fe98a
33 changed files with 2771 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9fc0d4010bbf28b4594072e72b8655ab
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 69ff54f7aedeaa94b859181718444cfd
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,175 @@
#if UNITY_EDITOR
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using Utilities.SerializableData.SerializableFunc;
public class SerializableFuncDebugger : MonoBehaviour
{
[Header("UI References")]
[SerializeField] private TextMeshProUGUI displayedText;
[Header("Debug Controls")]
[SerializeField] private KeyCode boolFuncInvocationKeyCode = KeyCode.Q;
[SerializeField] private KeyCode stringFuncInvocationKeyCode = KeyCode.W;
[SerializeField] private KeyCode vector3FuncFuncInvocationKeyCode = KeyCode.E;
[SerializeField] private KeyCode quaternionFuncFuncInvocationKeyCode = KeyCode.R;
[SerializeField] private KeyCode floatFuncInvocationKeyCode = KeyCode.T;
[SerializeField] private KeyCode listFuncInvocationKeyCode = KeyCode.Y;
[Header("Test Funcs")]
[SerializeField] private SerializableFunc<bool> boolFunc;
[SerializeField] private SerializableFunc<string> stringFunc;
[SerializeField] private SerializableFunc<Vector3> vector3Func;
[SerializeField] private SerializableFunc<Quaternion> quaternionFunc;
[SerializeField] private SerializableFunc<float> floatFunc;
[SerializeField] private SerializableFunc<List<string>> listFunc;
[SerializeField] private SerializableFunc<float[]> arrayFunc;
[SerializeField] private SerializableFunc<float[][]> array2DFunc;
[SerializeField] private SerializableFunc<InternalClass> internalClassFunc;
[SerializeField] private SerializableFunc<GenericInternalClass<bool>> genericInternalClassFunc;
[SerializeField] private SerializableFunc<GenericInternalClass<Dictionary<string, byte>>> genericInternalClassFunc2;
[Header("Test Objects")]
[SerializeField] private List<string> stringsList;
private void Update()
{
TryInvokeBoolFunc();
TryInvokeStringFunc();
TryInvokeVector3Func();
TryInvokeQuaternionFunc();
TryInvokeFloatFunc();
TryInvokeListFunc();
}
#region Public Calls
public void CallBoolFunc()
{
bool result = boolFunc.Invoke();
DisplayCalledFuncResult(result);
}
public void CallStringFunc()
{
string result = stringFunc.Invoke();
DisplayCalledFuncResult(result);
}
public void CallVector3Func()
{
Vector3 result = vector3Func.Invoke();
DisplayCalledFuncResult(result);
}
public void CallQuaternionFunc()
{
Quaternion result = quaternionFunc.Invoke();
DisplayCalledFuncResult(result);
}
public void CallFloatFunc()
{
float result = floatFunc.Invoke();
DisplayCalledFuncResult(result);
}
public void CallListFunc()
{
List<string> result = listFunc.Invoke();
PrintListDataToConsole(result);
}
#endregion
#region Public Data Returns
public List<string> GetSampleList()
{
return stringsList;
}
#endregion
#region Private Calls
private void TryInvokeBoolFunc()
{
if (!Input.GetKeyDown(boolFuncInvocationKeyCode)) return;
CallBoolFunc();
}
private void TryInvokeStringFunc()
{
if (!Input.GetKeyDown(stringFuncInvocationKeyCode)) return;
CallStringFunc();
}
private void TryInvokeVector3Func()
{
if (!Input.GetKeyDown(vector3FuncFuncInvocationKeyCode)) return;
CallVector3Func();
}
private void TryInvokeQuaternionFunc()
{
if (!Input.GetKeyDown(quaternionFuncFuncInvocationKeyCode)) return;
CallQuaternionFunc();
}
private void TryInvokeFloatFunc()
{
if (!Input.GetKeyDown(floatFuncInvocationKeyCode)) return;
CallFloatFunc();
}
private void TryInvokeListFunc()
{
if (!Input.GetKeyDown(listFuncInvocationKeyCode)) return;
CallListFunc();
}
#endregion
private void DisplayCalledFuncResult(object result)
{
string resultString = $"Res: {result}";
if (displayedText != null)
{
displayedText.text = resultString;
}
else
{
Debug.Log(resultString);
}
}
private void PrintListDataToConsole(List<string> list)
{
if (list == null)
{
Debug.Log("The list is null");
}
else
{
Debug.Log($"The list has {list.Count} elements");
foreach (string item in list)
{
Debug.Log(item);
}
}
}
private class InternalClass
{
}
private class GenericInternalClass<T>
{
}
}
#endif

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f6e31a116de69b146878917a8db62209
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: