// Start is called before the first frame update
 void Start()
 {
     for (var i = 0; i < 3; i++)
     {
         notification.PublishNotification(string.Format("Notification {0}", i));
     }
 }
 private void UpdateBandLevel(InstrumentType type, BeatMappedShooter ignored)
 {
     if (!bandComposition.Contains(type))
     {
         bandComposition.Add(type);
         if (BandLevel > 1)
         {
             notificationSystem.PublishNotification("Band Up!");
         }
     }
 }
    private void UpdateTowerLevel(InstrumentType type)
    {
        int newTowerLevel = towerCountToLevel(towerCounts[type]);

        if (!towerLevels.ContainsKey(type) || towerLevels[type] < newTowerLevel)
        {
            towerLevels[type] = newTowerLevel;
            OnTowerLevelUp?.Invoke(type, newTowerLevel);

            if (newTowerLevel > 1)
            {
                notificationSystem.PublishNotification(String.Format("{0} Up!", InstrumentTypeNameMapper.InstrumentTypeFriendlyName(type)));
            }
        }
    }