本文整理汇总了C#中StateMachine.SubscribeToEntry方法的典型用法代码示例。如果您正苦于以下问题:C# StateMachine.SubscribeToEntry方法的具体用法?C# StateMachine.SubscribeToEntry怎么用?C# StateMachine.SubscribeToEntry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StateMachine
的用法示例。
在下文中一共展示了StateMachine.SubscribeToEntry方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestCallbacks
public void TestCallbacks()
{
List<string> messages = new List<string>();
StateMachine<TestNum> machine = new StateMachine<TestNum>();
machine.AddState(TestNum.Red);
machine.SubscribeToEntry(TestNum.Red, (TestNum oldState, TestNum newState) =>
{
messages.Add("Enter the red!");
});
machine.SubscribeToExit(TestNum.Red, (TestNum oldState, TestNum newState) =>
{
messages.Add("Exit the red!");
});
machine.AddState(TestNum.White);
machine.SubscribeToEntry(TestNum.White, (TestNum oldState, TestNum newState) =>
{
messages.Add("Enter the white!");
});
machine.SubscribeToExit(TestNum.White, (TestNum oldState, TestNum newState) =>
{
messages.Add("Exit the white!");
});
machine.SubscribeToExit(TestNum.White, (TestNum oldState, TestNum newState) =>
{
messages.Add("Sneaky Second Message!");
});
machine.ChangeState(TestNum.Red);
machine.ChangeState(TestNum.White);
machine.ChangeState(TestNum.Red);
Assert.AreEqual(6, messages.Count);
Assert.AreEqual("Enter the red!", messages[0]);
Assert.AreEqual("Exit the red!", messages[1]);
Assert.AreEqual("Enter the white!", messages[2]);
Assert.AreEqual("Exit the white!", messages[3]);
Assert.AreEqual("Sneaky Second Message!", messages[4]);
Assert.AreEqual("Enter the red!", messages[5]);
}