private void AddActiveLevel(Level level) { if (_activeLevels.Contains(level) || level.isPersistent) { return; } _activeLevels.AddFirst(level); if (ActiveLevel == level) { ActiveLevelChanged?.Invoke(ActiveLevel); } }
private void RemoveActiveLevel(Level level) { if (!_activeLevels.Contains(level)) { return; } var oldActiveLevel = ActiveLevel; _activeLevels.Remove(level); if (oldActiveLevel != ActiveLevel) { ActiveLevelChanged?.Invoke(ActiveLevel); } }