An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.2 KiB

using System;
using System.Collections.Generic;
using UnityEngine;
using Object = UnityEngine.Object;
namespace UnityTest
{
public static class Assertions
{
public static void CheckAssertions()
{
var assertions = Object.FindObjectsOfType(typeof(AssertionComponent)) as AssertionComponent[];
CheckAssertions(assertions);
}
public static void CheckAssertions(AssertionComponent assertion)
{
CheckAssertions(new[] {assertion});
}
public static void CheckAssertions(GameObject gameObject)
{
CheckAssertions(gameObject.GetComponents<AssertionComponent>());
}
public static void CheckAssertions(AssertionComponent[] assertions)
{
if (!Debug.isDebugBuild)
return;
foreach (var assertion in assertions)
{
assertion.checksPerformed++;
var result = assertion.Action.Compare();
if (!result)
{
assertion.hasFailed = true;
assertion.Action.Fail(assertion);
}
}
}
}
}