public void Setup(PillarMenuNode menuNode, Difficulty?difficulty = null)
        {
            currentMenuNode = menuNode;

            if (difficulty != null)
            {
                CurrentDifficulty = (Difficulty)difficulty;

                EasyButton.Selected = MediumButton.Selected = HardButton.Selected = false;

                switch (CurrentDifficulty)
                {
                case Difficulty.Medium:
                    MediumButton.Selected = true;
                    break;

                case Difficulty.Hard:
                    HardButton.Selected = true;
                    break;

                default:
                    EasyButton.Selected = true;
                    break;
                }

                UpdatePillars();
            }

            if (menuNode.Config.Game == Game.Duel || menuNode.Config.Game == Game.Assault)
            {
                ChangeBackground(CurrentDifficulty);
            }
            else
            {
                ChangeBackground(CurrentDifficulty, true);
            }

            SetupMode(false);
            SetupGame(menuNode.Config.Game);

            if (menuNode.Locked)
            {
                switch (menuNode.Config.Game)
                {
                case Game.Assault:
                case Game.Duel:
                    AudioEvent.Play(AudioEventName.Archivist.GalaxyMap.PillarLockedDuel, gameObject);
                    break;

                case Game.HoloChess:
                    AudioEvent.Play(AudioEventName.Archivist.GalaxyMap.PillarLockedHoloChess, gameObject);
                    break;

                case Game.TowerDefense:
                    AudioEvent.Play(AudioEventName.Archivist.GalaxyMap.PillarLockedTowerDefense, gameObject);
                    break;
                }
                AudioEvent.Play(AudioEventName.GalaxyMap.NodeLocked, gameObject);
            }

            LeftLocked.SetActive(menuNode.Locked);
            LeftUnlocked.SetActive(!menuNode.Locked);
            RightPillarMode.SetActive(!menuNode.Locked);

            string configString = menuNode.Config.GetTokenString();

            // Pillar Selected Mode
            LevelName.text         = Localizer.Get("PedestalView.Title.LevelName." + configString);
            Description.text       = Localizer.Get("PedestalView.Description.LevelObjective." + configString);
            LockedDescription.text = Localizer.Get("PedestalView.Prompt.LevelLocked." + configString);

            // DarkSide does not have achievements
            if (menuNode.Config.Planet != PlanetType.DarkSide)
            {
                // Achivements
                int achievements = ContainerAPI.GetLevelAchievements(menuNode.Config, (int)CurrentDifficulty);

                AchievementOneComplete.SetActive(achievements > 0);
                AchievementTwoComplete.SetActive(achievements > 1);
                AchievementThreeComplete.SetActive(achievements > 2);

                SetAchievementText(menuNode, configString);
            }
        }