예제 #1
0
    private void AddActiveLevel(Level level)
    {
        if (_activeLevels.Contains(level) || level.isPersistent)
        {
            return;
        }

        _activeLevels.AddFirst(level);

        if (ActiveLevel == level)
        {
            ActiveLevelChanged?.Invoke(ActiveLevel);
        }
    }
예제 #2
0
    private void RemoveActiveLevel(Level level)
    {
        if (!_activeLevels.Contains(level))
        {
            return;
        }

        var oldActiveLevel = ActiveLevel;

        _activeLevels.Remove(level);

        if (oldActiveLevel != ActiveLevel)
        {
            ActiveLevelChanged?.Invoke(ActiveLevel);
        }
    }