// 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) namespace Fungus { /// /// Block event signalling system. /// You can use this to be notified about various events in the Block execution process. /// public static class BlockSignals { #region Public members /// /// BlockStart signal. Sent when the Block starts execution. /// public static event BlockStartHandler OnBlockStart; public delegate void BlockStartHandler(Block block); public static void DoBlockStart(Block block) { if (OnBlockStart != null) OnBlockStart(block); } /// /// BlockEnd signal. Sent when the Block ends execution. /// public static event BlockEndHandler OnBlockEnd; public delegate void BlockEndHandler(Block block); public static void DoBlockEnd(Block block) { if (OnBlockEnd != null) OnBlockEnd(block); } /// /// CommandExecute signal. Sent just before a Command in a Block executes. /// public static event CommandExecuteHandler OnCommandExecute; public delegate void CommandExecuteHandler(Block block, Command command, int commandIndex, int maxCommandIndex); public static void DoCommandExecute(Block block, Command command, int commandIndex, int maxCommandIndex) { if (OnCommandExecute != null) OnCommandExecute(block, command, commandIndex, maxCommandIndex); } #endregion } }