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.

55 lines
1.6 KiB

// This code is part of the Fungus library (http://fungusgames.com) maintained by Chris Gregan (http://twitter.com/gofungus).
// It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE)
using UnityEngine;
using System.Collections;
namespace Fungus
{
/// <summary>
/// Checks if Block signals are being sent correctly.
/// </summary>
[AddComponentMenu("")]
public class BlockSignalsTester : MonoBehaviour
{
bool started = false;
bool commandExecuted = false;
void OnEnable()
{
BlockSignals.OnBlockStart += OnBlockStart;
BlockSignals.OnBlockEnd += OnBlockEnd;
BlockSignals.OnCommandExecute += OnCommandExecute;
}
void OnDisable()
{
BlockSignals.OnBlockStart -= OnBlockStart;
BlockSignals.OnBlockEnd -= OnBlockEnd;
BlockSignals.OnCommandExecute -= OnCommandExecute;
}
void OnBlockStart(Block block)
{
IntegrationTest.Assert(block.BlockName == "Start");
started = true;
}
void OnBlockEnd(Block block)
{
IntegrationTest.Assert(started);
IntegrationTest.Assert(commandExecuted);
IntegrationTest.Pass();
}
void OnCommandExecute(Block block, Command command, int commandIndex, int maxCommandIndex)
{
IntegrationTest.Assert(commandIndex == 0);
IntegrationTest.Assert(maxCommandIndex == 1);
IntegrationTest.Assert(command.GetType() == typeof(Wait));
commandExecuted = true;
}
}
}