コード例 #1
0
 public override void UnregisterListener(EventListener listener)
 {
     if (listener is OnCharactersChanged)
     {
         changedEvent -= new OnModelChanged(((OnCharactersChanged)listener).OnModelChanged);
     }
 }
コード例 #2
0
 public override void RegisterListener(EventListener listener)
 {
     if (listener is OnCharactersChanged)
     {
         var listen = (OnCharactersChanged)listener;
         changedEvent += new OnModelChanged(listen.OnModelChanged);
         listen.OnModelChanged(_currentHeroes);
     }
 }
コード例 #3
0
 public override void RegisterListener(EventListener listener)
 {
     if (listener is OnInventoryChanged)
     {
         var listen = (OnInventoryChanged)listener;
         changedEvent += new OnModelChanged(listen.OnModelChanged);
         listen.OnModelChanged(_currentInventory);
     }
 }
コード例 #4
0
 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);
     }
 }
コード例 #5
0
    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);
        }
    }
コード例 #6
0
 /// <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);
     }
 }
コード例 #7
0
 private void Changed()
 {
     OnModelChanged?.Invoke();
 }