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.
|
|
|
using UnityEngine;
|
|
|
|
using System;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
namespace Fungus
|
|
|
|
{
|
|
|
|
[CommandInfo("Flow",
|
|
|
|
"Break",
|
|
|
|
"Force a loop to terminate immediately.")]
|
|
|
|
[AddComponentMenu("")]
|
|
|
|
public class Break : Command
|
|
|
|
{
|
|
|
|
public override void OnEnter()
|
|
|
|
{
|
|
|
|
// Find next End statement at -1 relative indent level
|
|
|
|
for (int i = commandIndex + 1; i < parentBlock.commandList.Count; ++i)
|
|
|
|
{
|
|
|
|
End endCommand = parentBlock.commandList[i] as End;
|
|
|
|
|
|
|
|
if (endCommand != null &&
|
|
|
|
endCommand.indentLevel == indentLevel - 1)
|
|
|
|
{
|
|
|
|
// Continue at next command after End
|
|
|
|
Continue (endCommand.commandIndex + 1);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// No matching End command found so just continue
|
|
|
|
Continue();
|
|
|
|
}
|
|
|
|
|
|
|
|
public override Color GetButtonColor()
|
|
|
|
{
|
|
|
|
return new Color32(253, 253, 150, 255);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|