public void Bind(EventBus eventBus) { if (EventListeners == null) { EventListeners = GetType() .GetMethods(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance) .Where(method => method.GetCustomAttributes <EventListenerAttribute>().FirstOrDefault() != null) .Select(method => new ReflectEventListener(method.GetCustomAttribute <EventListenerAttribute>().EventName, method, this)) .ToArray(); } if (EventTarget) { foreach (var listener in EventListeners) { EventTarget.RemoveEventListener(/*listener.Method.GetCustomAttribute<EventListenerAttribute>().EventName, */ listener); } } EventTarget = eventBus; foreach (var listener in EventListeners) { EventTarget.AddEventListener(listener.Method.GetCustomAttribute <EventListenerAttribute>().EventName, listener); } }
public void AddEventListeners(GameObject caller) { EventBus.AddEventListener(EVENT.StartGame, StartGame); EventBus.AddEventListener(EVENT.LevelWon, LevelWon); EventBus.AddEventListener(EVENT.LevelLost, LevelLost); EventBus.AddEventListener(EVENT.NewHighScore, NewHighScore); }
public void AddEventListenerShouldHaveBasicConsumer() { // Arrange IBasicConsumer basicConsumer = null; var modelMock = new Mock <IModel>(); var model = modelMock.Object; var connectionMock = new Mock <IConnection>(); var connection = connectionMock.Object; connectionMock.Setup(mock => mock.CreateModel()).Returns(model); modelMock.Setup(mock => mock.QueueDeclare(string.Empty, false, true, true, null)) .Returns(new QueueDeclareOk("TestQueue", 0, 1)); modelMock.Setup(mock => mock.BasicConsume("TestQueue", false, string.Empty, false, false, null, It.IsAny <IBasicConsumer>())) .Callback(( string queue, bool autoAck, string consumerTag, bool noLocal, bool exclusive, IDictionary <string, object> arguments, IBasicConsumer consumer) => { basicConsumer = consumer; }); using var eventBus = new EventBus(connection, "TestExchange"); var eventListener = new Mock <IEventListener>().Object; // Act eventBus.AddEventListener(eventListener, "#"); // Assert Assert.IsNotNull(basicConsumer); }
void AddEventListeners() { EventBus.AddEventListener(EVENT.LevelReset, ResetBullet); EventBus.AddEventListener(EVENT.LevelWon, Deactivate); EventBus.AddEventListener(EVENT.LevelLost, Deactivate); EventBus.AddEventListener(EVENT.Paused, Deactivate); EventBus.AddEventListener(EVENT.UnPaused, ResetBullet); }
protected override async Task OnActivate(bool isFromReload) { using (var context = new UconomyDbContext(this)) { await context.Database.MigrateAsync(); } EventBus.AddEventListener(this, this); }
void AddEventListeners() { EventBus.AddEventListener(EVENT.EnemyDied, EnemyDied); EventBus.AddEventListener(EVENT.Paused, StopEnemyLogic); EventBus.AddEventListener(EVENT.UnPaused, StartEnemyLogic); EventBus.AddEventListener(EVENT.LevelWon, StopEnemyLogic); EventBus.AddEventListener(EVENT.LevelLost, StopEnemyLogic); EventBus.AddEventListener(EVENT.LevelReset, ResetEnemies); EventBus.AddEventListener(EVENT.EnemyDiedProtector, DecreaseEnemyNumber); }
void AddEventListeners() { EventBus.AddEventListener(EVENT.LevelWon, LevelWon); EventBus.AddEventListener(EVENT.LevelLost, LevelLost); EventBus.AddEventListener(EVENT.LevelReset, LevelReset); EventBus.AddEventListener(EVENT.Paused, LevelPaused); EventBus.AddEventListener(EVENT.UnPaused, LevelUnPaused); EventBus.AddEventListener(EVENT.BackToMenu, BackToMenu); EventBus.AddEventListener(EVENT.StartGame, Play); EventBus.AddEventListener(EVENT.QuitGame, Quit); }
protected async Task <bool> RegisterAndLoadPluginFromContainer(IDependencyContainer container) { IPlugin plugin = container.Resolve <IPlugin>(); Logger.LogDebug($"[{GetType().Name}] Trying to load plugin: " + plugin.Name); PluginCommandProvider cmdProvider = new PluginCommandProvider(plugin); ParentContainer.RegisterSingletonInstance <ICommandProvider>(cmdProvider, plugin.Name); var asm = plugin.GetType().Assembly; string pluginDir = plugin.WorkingDirectory; //if (!Directory.Exists(pluginDir)) // Directory.CreateDirectory(pluginDir); foreach (string s in asm.GetManifestResourceNames()) { using (Stream stream = asm.GetManifestResourceStream(s)) { using (MemoryStream ms = new MemoryStream()) { if (stream != null) { stream.CopyTo(ms); byte[] data = ms.ToArray(); string fileName = s.Replace(plugin.GetType().Namespace, ""); File.WriteAllBytes(Path.Combine(pluginDir, fileName), data); } } } } bool success = await plugin.ActivateAsync(false); if (!success) { return(false); } IEnumerable <Type> listeners = plugin.FindTypes <IAutoRegisteredEventListener>(false); foreach (Type listener in listeners) { IAutoRegisteredEventListener instance = (IAutoRegisteredEventListener)container.Activate(listener); EventBus.AddEventListener(plugin, instance); } return(true); }
private void Awake() { if (!EventBus) { return; } foreach (var responsor in Responsors) { Action handler = () => { responsor.Handle(gameObject); }; listeners.Add(EventBus.AddEventListener(responsor.Event, handler)); } }
public void AddEventListenerShouldCallQueueDeclare() { // Arrange var modelMock = new Mock <IModel>(); var model = modelMock.Object; var connectionMock = new Mock <IConnection>(); var connection = connectionMock.Object; connectionMock.Setup(mock => mock.CreateModel()).Returns(model); modelMock.Setup(mock => mock.QueueDeclare(string.Empty, false, true, true, null)) .Returns(new QueueDeclareOk("TestQueue", 0, 1)); using var eventBus = new EventBus(connection, "TestExchange"); // Act eventBus.AddEventListener(new Mock <IEventListener>().Object, "#"); // Assert modelMock.Verify(mock => mock.QueueDeclare(string.Empty, false, true, true, null)); }
public void AddEventListenerShouldAddHandleToConsumerReceived() { // Arrange IBasicConsumer basicConsumer = null; var modelMock = new Mock <IModel>(); var model = modelMock.Object; var connectionMock = new Mock <IConnection>(); var connection = connectionMock.Object; var eventListenerMock = new Mock <IEventListener>(); connectionMock.Setup(mock => mock.CreateModel()).Returns(model); modelMock.Setup(mock => mock.QueueDeclare(string.Empty, false, true, true, null)) .Returns(new QueueDeclareOk("TestQueue", 0, 1)); modelMock.Setup(mock => mock.BasicConsume("TestQueue", false, It.IsAny <string>(), false, false, null, It.IsAny <IBasicConsumer>())) .Callback(( string queue, bool autoAck, string consumerTag, bool noLocal, bool exclusive, IDictionary <string, object> arguments, IBasicConsumer consumer) => { basicConsumer = consumer; }); using var eventBus = new EventBus(connection, "TestExchange"); // Act eventBus.AddEventListener(eventListenerMock.Object, "#"); basicConsumer.HandleBasicDeliver("", ulong.MaxValue, false, "TestExchange", "#", new BasicProperties(), It.IsAny <byte[]>()); // Assert eventListenerMock.Verify(mock => mock.Handle(It.IsAny <object>(), It.IsAny <BasicDeliverEventArgs>())); }
void Awake() { highscoreText.text = "Highscore: " + GameManager.Instance.Load(); EventBus.AddEventListener(EVENT.BackToMenu, UpdateHighScore); }
void AddEventListeners() { EventBus.AddEventListener(EVENT.LevelReset, ResetPlayer); }
void AddEventListeners() { EventBus.AddEventListener(EVENT.LevelReset, ResetProtection); }