Integrate minigame and courses

This commit is contained in:
Dries Van Schuylenbergh
2023-03-08 19:07:57 +00:00
parent 7e98fea538
commit 852a17b0b4
56 changed files with 1431 additions and 1300 deletions

View File

@@ -26,7 +26,7 @@ public class TestProgress : MonoBehaviour
{
Progress progress = new Progress();
NonSerializableStruct nss = new NonSerializableStruct();
try { progress.Add<NonSerializableStruct>("key", nss); }
try { progress.AddOrUpdate<NonSerializableStruct>("key", nss); }
catch (SerializationException) { return true; }
return false;
}
@@ -44,7 +44,7 @@ public class TestProgress : MonoBehaviour
private bool AccessInvalidType()
{
Progress progress = new Progress();
progress.Add<int>("key", 123456789);
progress.AddOrUpdate<int>("key", 123456789);
try { progress.Get<double>("key"); }
catch (InvalidCastException) { return true; }
return false;
@@ -62,6 +62,7 @@ public class TestProgress : MonoBehaviour
TestProgressAddNonSerializableStruct();
TestProgressGetInvalidKey();
TestProgressGetInvalidType();
TestProgressUpdate();
TestProgressGetInt();
TestProgressGetDouble();
TestProgressGetString();
@@ -77,38 +78,38 @@ public class TestProgress : MonoBehaviour
public void TestProgressAddInvalidData()
{
Progress progress = new Progress();
Debug.Assert(!progress.Add<GameObject>("key", null));
Debug.Assert(!progress.AddOrUpdate<GameObject>("key", null));
}
public void TestProgressAddDuplicateKey()
{
Progress progress = new Progress();
progress.Add<int>("key 1", 0);
Debug.Assert(!progress.Add<int>("key 1", 1));
progress.AddOrUpdate<int>("key 1", 0);
Debug.Assert(progress.AddOrUpdate<int>("key 1", 1));
}
public void TestProgressAddInt()
{
Progress progress = new Progress();
Debug.Assert(progress.Add<int>("key", 1));
Debug.Assert(progress.AddOrUpdate<int>("key", 1));
}
public void TestProgressAddDouble()
{
Progress progress = new Progress();
Debug.Assert(progress.Add<double>("key", 1.0));
Debug.Assert(progress.AddOrUpdate<double>("key", 1.0));
}
public void TestProgressAddString()
{
Progress progress = new Progress();
Debug.Assert(progress.Add<string>("key", "Hello World!"));
Debug.Assert(progress.AddOrUpdate<string>("key", "Hello World!"));
}
public void TestProgressAddSerializableStruct()
{
Progress progress = new Progress();
Debug.Assert(progress.Add<SerializableStruct>("key", new SerializableStruct()));
Debug.Assert(progress.AddOrUpdate<SerializableStruct>("key", new SerializableStruct()));
}
public void TestProgressAddNonSerializableStruct()
@@ -126,24 +127,33 @@ public class TestProgress : MonoBehaviour
Debug.Assert(AccessInvalidType());
}
public void TestProgressUpdate()
{
Progress progress = new Progress();
progress.AddOrUpdate<int>("key", 1);
Debug.Assert(progress.Get<int>("key") == 1);
progress.AddOrUpdate<int>("key", 2);
Debug.Assert(progress.Get<int>("key") == 2);
}
public void TestProgressGetInt()
{
Progress progress = new Progress();
progress.Add<int>("key", 1);
progress.AddOrUpdate<int>("key", 1);
Debug.Assert(progress.Get<int>("key") == 1);
}
public void TestProgressGetDouble()
{
Progress progress = new Progress();
progress.Add<double>("key", 1.0);
progress.AddOrUpdate<double>("key", 1.0);
Debug.Assert(progress.Get<double>("key") == 1.0);
}
public void TestProgressGetString()
{
Progress progress = new Progress();
progress.Add<string>("key", "Hello World!");
progress.AddOrUpdate<string>("key", "Hello World!");
Debug.Assert(progress.Get<string>("key") == "Hello World!");
}
@@ -154,7 +164,7 @@ public class TestProgress : MonoBehaviour
int R = 1, G = 10, B = 100;
float X = 0.1f, Y = 0.01f, Z = 0.001f;
SerializableStruct data = new SerializableStruct { r = R, g = G, b = B, x = X, y = Y, z = Z };
progress.Add<SerializableStruct>("key", data);
progress.AddOrUpdate<SerializableStruct>("key", data);
SerializableStruct result = progress.Get<SerializableStruct>("key");
Debug.Assert(result.r == R);
Debug.Assert(result.g == G);