public override void UnregisterListener(EventListener listener) { if (listener is OnCharactersChanged) { changedEvent -= new OnModelChanged(((OnCharactersChanged)listener).OnModelChanged); } }
public override void RegisterListener(EventListener listener) { if (listener is OnCharactersChanged) { var listen = (OnCharactersChanged)listener; changedEvent += new OnModelChanged(listen.OnModelChanged); listen.OnModelChanged(_currentHeroes); } }
public override void RegisterListener(EventListener listener) { if (listener is OnInventoryChanged) { var listen = (OnInventoryChanged)listener; changedEvent += new OnModelChanged(listen.OnModelChanged); listen.OnModelChanged(_currentInventory); } }
public override void UnregisterListener(EventListener listener) { if (listener is OnDungeonChanged) { changedEvent -= new OnModelChanged(((OnDungeonChanged)listener).OnModelChanged); } if (listener is OnBackPackChanged) { packChangedEvent -= new OnPackChanged(((OnBackPackChanged)listener).OnModelChanged); } }
public override void RegisterListener(EventListener listener) { if (listener is OnDungeonChanged) { var listen = (OnDungeonChanged)listener; changedEvent += new OnModelChanged(listen.OnModelChanged); listen.OnModelChanged(_currentDungeon); } if (listener is OnBackPackChanged) { var listen = (OnBackPackChanged)listener; packChangedEvent += new OnPackChanged(listen.OnModelChanged); listen.OnModelChanged(_currentBackpack); } }
/// <summary> /// display menu items /// </summary> public MenuPanel() { for (int i = 0; i < menuItems.Count; i++) { var item = menuItems[i]; var newButton = new Button { Text = item.Title, Top = 20 + 50 * i, Left = 20, Width = 250 }; //handle click event. create new plotmodel newButton.Click += (sender, e) => { this.Model = item.Construct(); OnModelChanged?.Invoke(this.Model, EventArgs.Empty); }; Controls.Add(newButton); } }
private void Changed() { OnModelChanged?.Invoke(); }