/// <summary> /// Initializes a new instance of the <see cref="FreezingArcher.Content.GameState"/> class. /// </summary> /// <param name="name">Name.</param> /// <param name="env">Environment.</param> /// <param name="messageProvider">Message Manager.</param> public GameState(string name, Environment env, MessageProvider messageProvider) { Name = name; Environment = env; MessageProxy = new MessageProxy(messageProvider); PhysicsManager = new PhysicsManager(messageProvider); }
public MessagingTest () { messageManager = new MessageManager(); messageManager += this; messageManager += new MessageConsumerExample("global"); messageProxy1 = new MessageProxy(messageManager); messageProxy1 += new MessageConsumerExample("proxy1"); messageProxy2 = new MessageProxy(messageManager); messageProxy2 += new MessageConsumerExample("proxy2"); messageProxy3 = new MessageProxy(messageProxy2); messageProxy3 += new MessageConsumerExample("proxy3"); messageProxy1.StartProcessing(); messageProxy3.StartProcessing(); messageProxy2.StartProcessing(); messageManager.StartProcessing(); Thread.Sleep(100); MessageCreated(new MessageExample("test1")); Thread.Sleep(100); Logger.Log.AddLogEntry(LogLevel.Debug, "MessagingTest", "Disabling proxy1"); messageProxy1.AddToBlacklist(42); MessageCreated(new MessageExample("test2")); Thread.Sleep(100); Logger.Log.AddLogEntry(LogLevel.Debug, "MessagingTest", "Disabling proxy2"); messageProxy2.AddToBlacklist(42); MessageCreated(new MessageExample("test3")); Thread.Sleep(100); Logger.Log.AddLogEntry(LogLevel.Debug, "MessagingTest", "Enabling proxy1 and proxy2"); messageProxy1.RemoveFromBlacklist(42); messageProxy2.RemoveFromBlacklist(42); MessageCreated(new MessageExample("test4")); Thread.Sleep(100); Logger.Log.AddLogEntry(LogLevel.Debug, "MessagingTest", "Disabling proxy3"); messageProxy3.AddToBlacklist(42); MessageCreated(new MessageExample("test5")); Thread.Sleep(100); Logger.Log.AddLogEntry(LogLevel.Debug, "MessagingTest", "Enabling proxy3"); messageProxy3.RemoveFromBlacklist(42); MessageCreated(new MessageExample("test6")); Thread.Sleep(100); Logger.Log.AddLogEntry(LogLevel.Debug, "MessagingTest", "Stopping proxy2"); messageProxy2.StopProcessing(); MessageCreated(new MessageExample("test7")); Thread.Sleep(100); }