Пример #1
0
    void _OpenSettingsMenuPanel(OptionPanel requestedPanel)
    {
        switch (requestedPanel)
        {
        case OptionPanel.RGB_DISTORTION:
            OpenRGBMenu();
            break;

        case OptionPanel.LUMINANCE_CORRECTION:
            OpenLuminanceMenu();
            break;

        case OptionPanel.FISHEYE:
            OpenFisheyePanel();
            break;

        case OptionPanel.COLOR_CORRECTION:
            OpenColorizePanel();
            break;

        case OptionPanel.RESOLUTION:
            OpenResolutionPanel();
            break;
        }
    }
Пример #2
0
        public OptionEditor(IHostingForm parent)
        {
            this.ApplySystemFont();

            this.InitializeComponent();

            // Dynamically added option panels.
            List <Type> types = ConnectionManager.GetOptionDialogTypes();

            foreach (Type type in types)
            {
                OptionPanel panel = null;
                try
                {
                    panel = (OptionPanel)Activator.CreateInstance(type);
                }
                catch (Exception ex)
                {
                    Log.Debug("ERROR ceating option panel! Type name: " + type.Name, ex);
                    continue;
                }

                panel.Location = new System.Drawing.Point(6, 26);
                panel.Tag      = panel.Name;
                panel.Size     = new System.Drawing.Size(512, 328);
                panel.TabIndex = 0;

                TreeNode treeNode11 = new TreeNode(panel.Text);
                treeNode11.Text = panel.Text;
                treeNode11.Tag  = panel.Tag;
                this.OptionsTreeView.Nodes["Connections"].Nodes.Add(treeNode11);

                TabPage page = new TabPage(panel.Text);
                page.AutoScroll = true;
                page.Controls.Add(panel);
                page.Padding  = new System.Windows.Forms.Padding(3);
                page.Dock     = DockStyle.Fill;
                page.AutoSize = true;
                page.TabIndex = 0;
                page.Text     = panel.Text;
                page.UseVisualStyleBackColor = true;

                this.tabCtrlOptionPanels.Controls.Add(page);
            }

            this.MovePanelsFromTabsIntoControls();
            Settings.ConfigurationChanged += this.SettingsConfigFileReloaded;
            this.LoadSettings();

            this.SetFormSize();

            IOptionPanel[] optionPanels = this.FindOptionPanels().ToArray <IOptionPanel>();

            foreach (IOptionPanel optionPanel in optionPanels)
            {
                optionPanel.IHostingForm = parent;
            }

            this.UpdateLookAndFeel();
        }
Пример #3
0
    void Start()
    {
        _loginPanel = GetComponent<LoginPanel>();
        _optionPanel = GetComponent<OptionPanel>();
        _backgroundMusic.Play();

        audio.Play();
    }
Пример #4
0
 private void Start()
 {
     instance    = this;
     optionPanel = GameObject.Find("OptionsPane").GetComponent <OptionPanel>();
     mapPanel    = GameObject.Find("MapPane").GetComponent <MapPanel>();
     infoPanel   = GameObject.Find("InfoPane").GetComponent <InfoPanel>();
     camera      = GameObject.Find("OVRCameraRig");
 }
Пример #5
0
 public override void OnClick()
 {
     if (_panel == null)
     {
         _panel = transform.root.GetComponent <PrefabCollection>().Instantiate <OptionPanel>("OptionPanel");
     }
     transform.root.Find("PopupPanelLayer").GetComponent <PopupPanelLayer>().PopupPanel(_panel);
 }
Пример #6
0
        private void FillOptions()
        {
            var list = new DevOptions();
            var row  = 0;

            OptionPanel.Controls.Clear();
            foreach (var option in list)
            {
                var lbl = new Label()
                {
                    AutoSize = true, TextAlign = ContentAlignment.MiddleLeft
                };

                switch (option.Type)
                {
                case "System.Boolean":
                    var chk = new CheckBox()
                    {
                        Text      = option.Label,
                        Checked   = Boolean.Parse(option.Recommend),
                        Tag       = new string[] { option.Area, option.Name },
                        AutoSize  = true,
                        TextAlign = ContentAlignment.MiddleLeft
                    };
                    toolTip1.SetToolTip(chk, option.Desc);
                    OptionPanel.Controls.Add(lbl);
                    OptionPanel.Controls.Add(chk);
                    OptionPanel.SetRow(lbl, row);
                    OptionPanel.SetColumn(lbl, 0);
                    OptionPanel.SetRow(chk, row);
                    OptionPanel.SetColumn(chk, 1);
                    break;

                case "System.Int32":
                    var num = new NumericUpDown()
                    {
                        Value    = int.Parse(option.Recommend),
                        Tag      = new string[] { option.Area, option.Name },
                        AutoSize = true,
                    };
                    toolTip1.SetToolTip(num, option.Desc);
                    lbl.Text = option.Label;
                    OptionPanel.Controls.Add(lbl);
                    OptionPanel.Controls.Add(num);
                    OptionPanel.SetRow(lbl, row);
                    OptionPanel.SetColumn(lbl, 0);
                    OptionPanel.SetRow(num, row);
                    OptionPanel.SetColumn(num, 1);
                    break;

                default:
                    break;
                }

                row += 1;
                OptionPanel.RowCount = row;
            }
        }
Пример #7
0
        public SelectNodeUI()
        {
            InitializeComponent();
            optPanel            = new OptionPanel();
            optPanel.Visibility = Visibility.Hidden;
            optPanel.Margin     = new Thickness(0, 0, 0, 0);

            SelectNodeStackPnl.Children.Add(optPanel);
        }
Пример #8
0
 private void OpenPartyOptionPanel()
 {
     OptionPanel.GetInstance().Open(
         "Party attend RSVP", "Are you going to the party?", OptionPanel.eButtonNums.THREE,
         "OK", () => { Debug.Log("OK. I will go"); },
         "Well...", () => { Debug.Log("Well... I'm not sure"); },
         "Cancel", () => { Debug.Log("No."); }
         );
 }
Пример #9
0
    public static void OpenSettingsMenuPanel(OptionPanel requestedPanel)
    {
        if (singleton == null)
        {
            Debug.LogError("UIManager.singleton was null when OpenSettingsMenuPanel(" + requestedPanel.ToString() + ") was called. Aborting");
            return;
        }

        singleton._OpenSettingsMenuPanel(requestedPanel);
    }
Пример #10
0
 public static OptionPanel GetInstance()
 {
     if (!optionPanel)
     {
         optionPanel = FindObjectOfType(typeof(OptionPanel)) as OptionPanel;
         Button closeButton = optionPanel.transform.Find("CloseButton").GetComponent <Button>();
         closeButton.onClick.AddListener(CloseOptionPanel);
         button1DefaultPosition = optionPanel.transform.Find("OptionButton1").GetComponent <Button>().transform.position;
         button2DefaultPosition = optionPanel.transform.Find("OptionButton2").GetComponent <Button>().transform.position;
         button3DefaultPosition = optionPanel.transform.Find("OptionButton3").GetComponent <Button>().transform.position;
     }
     return(optionPanel);
 }
Пример #11
0
        public override void Run(string pluginDir)
        {
            try
            {
                _menu = new Menu("Sector10", "Sector10");
                _menu.AddItem(new MenuBool("EnableMovement", "Enable movement", false));
                OptionPanel.AddMenu(_menu);

                Chat.WriteLine("Sector10 bot loaded!");
                Game.OnUpdate += OnUpdate;
            }
            catch (Exception e)
            {
                Chat.WriteLine(e.Message);
            }
        }
Пример #12
0
        private void setMapMaker(MapMaker nextMM, OptionPanel nextOP)
        {
            if (nextMM == mm && nextOP == op)
            {
                return;
            }

            if (mm == null || op == null)
            {
                mm = nextMM;
                op = nextOP;
                return;
            }

            op.setVisibility(false);

            mm = nextMM;
            op = nextOP;

            op.setVisibility(true);
        }
Пример #13
0
        private void LoadBeatmapInfo()
        {
            artistText.text  = CurrentBeatmaps[CurrentIndex].Artist;
            authorText.text  = CurrentBeatmaps[CurrentIndex].Author;
            densityText.text = CurrentBeatmaps[CurrentIndex].Density.ToString();
            //Debug.Log(CurrentBeatmaps[CurrentIndex].FilePath);

            animationObj.Play("SelectSong_BeatmapSelected", 0, 0);
            if (!DensityPanel.activeSelf)
            {
                DensityPanel.SetActive(true);
            }
            if (!OptionPanel.activeSelf)
            {
                OptionPanel.SetActive(true);
            }
            if (!StartPanel.activeSelf)
            {
                StartPanel.SetActive(true);
            }
        }
Пример #14
0
    void OpenOptionPanel(OptionPanel openedPanel)
    {
        switch (openedPanel)
        {
        case OptionPanel.Controls:
            visualPanel.SetActive(false);
            controlsPanel.SetActive(true);
            audioPanel.SetActive(false);
            break;

        case OptionPanel.Audio:
            visualPanel.SetActive(false);
            controlsPanel.SetActive(false);
            audioPanel.SetActive(true);
            break;

        default:
            visualPanel.SetActive(true);
            controlsPanel.SetActive(false);
            audioPanel.SetActive(false);
            break;
        }
    }
 public void QuickSupply()
 {
     if (GlobalLock.instance.CanGo)
     {
         GlobalLock.instance.GoNow();
     }
     else
     {
         return;
     }
     GameObject obj2 = GameObjectUtil.InstantiateItemAsChildOf(this.quickSupplyUIPrefab, base.gameObject);
     int[] campaignFleetInfo = this.gameData.GetCampaignFleetInfo(this.level.id);
     List<UserShip> userShips = new List<UserShip>();
     foreach (int num in campaignFleetInfo)
     {
         userShips.Add(this.gameData.GetShipById(num));
     }
     obj2.GetComponent<PVEQuickSupply>().SetShips(userShips);
     this.supplyAllUI = obj2.GetComponent<OptionPanel>();
     this.supplyAllUI.Cancel += delegate (object sender, EventArgs e) {
         this.UpdateShips();
     };
 }
Пример #16
0
        public override void Run(string pluginDir)
        {
            try
            {
                Chat.WriteLine("TestPlugin loaded");

                Chat.WriteLine($"LocalPlayer: {DynelManager.LocalPlayer.Identity}");
                Chat.WriteLine($"   Name: {DynelManager.LocalPlayer.Name}");
                Chat.WriteLine($"   Pos: {DynelManager.LocalPlayer.Position}");
                Chat.WriteLine($"   MoveState: {DynelManager.LocalPlayer.MovementState}");
                Chat.WriteLine($"   Health: {DynelManager.LocalPlayer.GetStat(Stat.Health)}");

                /*
                 * Chat.WriteLine("Playfield");
                 * Chat.WriteLine($"   Identity: {Playfield.Identity}");
                 * Chat.WriteLine($"   Name: {Playfield.Name}");
                 * Chat.WriteLine($"   AllowsVehicles: {Playfield.AllowsVehicles}");
                 * Chat.WriteLine($"   IsDungeon: {Playfield.IsDungeon}");
                 * Chat.WriteLine($"   IsShadowlands: {Playfield.IsShadowlands}");
                 * Chat.WriteLine($"   NumDynels: {DynelManager.AllDynels.Count}");
                 */

                Chat.WriteLine("Team:");
                Chat.WriteLine($"\tIsInTeam: {Team.IsInTeam}");
                Chat.WriteLine($"\tIsLeader: {Team.IsLeader}");
                Chat.WriteLine($"\tIsRaid: {Team.IsRaid}");

                mc = new MovementController(drawPath: true);


                foreach (TeamMember teamMember in Team.Members)
                {
                    Chat.WriteLine($"\t{teamMember.Name} - {teamMember.Identity} - {teamMember.Level} - {teamMember.Profession} - IsLeader:{teamMember.IsLeader} @ Team {teamMember.TeamIndex + 1}");
                }

                Chat.WriteLine("Tests:");

                /*
                 * Chat.WriteLine($"Base stat: {DynelManager.LocalPlayer.GetStat(Stat.RunSpeed, 1)}");
                 * Chat.WriteLine($"Modified stat: {DynelManager.LocalPlayer.GetStat(Stat.RunSpeed, 2)}");
                 * Chat.WriteLine($"No Trickle stat: {DynelManager.LocalPlayer.GetStat(Stat.RunSpeed, 3)}");
                 *
                 * Team.Members.ForEach(x => Chat.WriteLine($"{x.Name} IsLeader: {x.IsLeader}"));
                 *
                 * foreach (Room room in Playfield.Rooms)
                 * {
                 *  Chat.WriteLine($"Ptr: {room.Pointer.ToString("X4")}\tName: {room.Name}\tIdx: {room.Instance}\tRot: {room.Rotation}\tPos: {room.Position}\tCenter: {room.Center}\tTemplatePos: {room.TemplatePos}\tYOffset: {room.YOffset}\tNumDoors: {room.NumDoors}\tFloor: {room.Floor}");
                 * }
                 *
                 * //AO3D export
                 * foreach (Room room in Playfield.Rooms)
                 * {
                 *  Chat.WriteLine($"new RoomInstance(\"{room.Name}\", {room.Floor}, new Vector3{room.Position}, {(int)room.Rotation / 90}, {room.LocalRect.MinX}, {room.LocalRect.MinY}, {room.LocalRect.MaxX}, {room.LocalRect.MaxY}, new Vector3{room.Center}, new Vector3{room.TemplatePos}),");
                 * }
                 */


                /*
                 * foreach(Spell spell in Spell.List)
                 * {
                 *  Chat.WriteLine($"\t{spell.Identity}\t{spell.Name}\t{spell.MeetsUseReqs()}\t{spell.IsReady}");
                 * }
                 */


                foreach (PerkAction perkAction in PerkAction.List)
                {
                    //Chat.WriteLine($"\t{perk.Identity}\t{perk.Hash}\t{perk.Name}\t{perk.MeetsSelfUseReqs()}\t{perk.GetStat(Stat.AttackDelay)}");
                    Chat.WriteLine($"{perkAction.Name} = 0x{((uint)perkAction.Hash).ToString("X4")},");
                }


                /*
                 * Chat.WriteLine("Buffs:");
                 * foreach(Buff buff in DynelManager.LocalPlayer.Buffs)
                 * {
                 *  Chat.WriteLine($"\tBuff: {buff.Name}\t{buff.RemainingTime}/{buff.TotalTime}");
                 * }
                 */

                /*
                 * Perk perk;
                 * if(Perk.Find(PerkHash.Gore, out perk))
                 * {
                 *  if(DynelManager.LocalPlayer.FightingTarget != null)
                 *      Chat.WriteLine($"Can use perk? {perk.MeetsUseReqs(DynelManager.LocalPlayer.FightingTarget)}");
                 * }
                 */

                /*
                 * Chat.WriteLine("Pet Identities:");
                 * foreach(Identity identity in DynelManager.LocalPlayer.Pets)
                 * {
                 *  Chat.WriteLine($"\t{identity}");
                 * }
                 *
                 * Chat.WriteLine("Pet Dynels:");
                 * foreach(SimpleChar pet in DynelManager.LocalPlayer.GetPetDynels())
                 * {
                 *  Chat.WriteLine($"\t{pet.Name}");
                 * }
                 */

                /*
                 * Item item;
                 * if(Inventory.Find(244216, out item))
                 * {
                 *  DummyItem dummyItem = DummyItem.GetFromTemplate(item.Slot);
                 *  dummyItem.MeetsUseReqs();
                 * }
                 */

                //DevExtras.LoadAllSurfaces();

                /*
                 * MovementController movementController = new MovementController(true);
                 *
                 * List<Vector3> testPath = new List<Vector3> {
                 *  new Vector3(438.6, 8.0f, 524.4f),
                 *  new Vector3(446.8f, 8.0f, 503.7f),
                 *  new Vector3(460.8, 15.1f, 414.0f)
                 * };
                 *
                 * movementController.RunPath(testPath);
                 */

                Chat.WriteLine($"Missions ({Mission.List.Count})");
                foreach (Mission mission in Mission.List)
                {
                    Chat.WriteLine($"   {mission.Identity.ToString()}");
                    Chat.WriteLine($"       Source: {mission.Source.ToString()}");
                    Chat.WriteLine($"       Playfield: {mission.Playfield.ToString()}");
                    Chat.WriteLine($"       DisplayName: {mission.DisplayName}");
                }

                /*
                 * List<Item> characterItems = Inventory.Items;
                 * //List<Item> characterItems = Inventory.Items;
                 *
                 * foreach (Item item in characterItems)
                 * {
                 *  Chat.WriteLine($"{item.Slot} - {item.LowId} - {item.Name} - {item.QualityLevel} - {item.UniqueIdentity}");
                 * }
                 */
                /*
                 * Chat.WriteLine("Backpacks:");
                 *
                 * List<Container> backpacks = Inventory.Backpacks;
                 * foreach(Container backpack in backpacks)
                 * {
                 *  Chat.WriteLine($"{backpack.Identity} - IsOpen:{backpack.IsOpen}{((backpack.IsOpen) ? $" - Items:{backpack.Items.Count}" : "")}");
                 * }
                 */
                /*
                 * Item noviRing;
                 * if (Inventory.Find(226307, out noviRing))
                 * {
                 *  //noviRing.Equip(EquipSlot.Cloth_RightFinger);
                 *
                 *  Container openBag = Inventory.Backpacks.FirstOrDefault(x => x.IsOpen);
                 *  if(openBag != null)
                 *  {
                 *      noviRing.MoveToContainer(openBag);
                 *  }
                 * }
                 */

                //DynelManager.LocalPlayer.CastNano(new Identity(IdentityType.NanoProgram, 223372), DynelManager.LocalPlayer);

                _menu = new Menu("TestPlugin", "TestPlugin");
                _menu.AddItem(new MenuBool("DrawingTest", "Drawing Test", false));
                //_menu.AddItem(new MenuTest("CrashTime", "Inb4 Crash"));
                OptionPanel.AddMenu(_menu);

                Chat.RegisterCommand("split", (string command, string[] param, ChatWindow chatWindow) =>
                {
                    if (param.Length < 2)
                    {
                        return;
                    }

                    if (Inventory.Find(int.Parse(param[0]), out Item item))
                    {
                        item.Split(int.Parse(param[1]));
                    }
                });

                Chat.RegisterCommand("openwindow", (string command, string[] param, ChatWindow chatWindow) =>
                {
                    testWindow = Window.CreateFromXml("Test", $"{pluginDir}\\TestWindow.xml");
                    testWindow.Show(true);
                    chatWindow.WriteLine($"Window.Pointer: {testWindow.Pointer.ToString("X4")}");
                    chatWindow.WriteLine($"Window.Name: {testWindow.Name}");
                    if (testWindow.IsValid)
                    {
                        if (testWindow.FindView("testTextView", out TextView testView))
                        {
                            Chat.WriteLine($"testTextView.Pointer: {testView.Pointer.ToString("X4")}");
                            Chat.WriteLine($"testTextView.Text: {testView.Text}");
                            testView.Text = "1337";
                            Chat.WriteLine($"testTextView.Text(New): {testView.Text}");
                        }

                        if (testWindow.FindView("testPowerBar", out PowerBarView testPowerBar))
                        {
                            Chat.WriteLine($"testPowerBar.Pointer: {testPowerBar.Pointer.ToString("X4")}");
                            Chat.WriteLine($"testPowerBar.Value: {testPowerBar.Value}");
                            testPowerBar.Value = 0.1f;
                        }
                    }
                });

                Chat.RegisterCommand("savesettings", (string command, string[] param, ChatWindow chatWindow) =>
                {
                    Settings.Save();
                });

                Chat.RegisterCommand("test", (string command, string[] param, ChatWindow chatWindow) =>
                {
                    Settings["DrawStuff"] = true;

                    //DynelManager.LocalPlayer.Position += Vector3.Rotate(Vector3.Zero, DynelManager.LocalPlayer.Rotation.Forward, 90);

                    /*
                     * if (Targeting.Target == null)
                     *  Chat.WriteLine("No target");
                     * else
                     *  Chat.WriteLine(Targeting.Target.Identity);
                     *
                     *
                     * if (Targeting.TargetChar == null)
                     *  Chat.WriteLine("No target or target isn't a char");
                     * else
                     *  Chat.WriteLine(Targeting.TargetChar.Identity);
                     */

                    if (Spell.Find(85872, out Spell spell))
                    {
                        Chat.WriteLine($"Drain Self No Target: {spell.MeetsUseReqs()}");
                        Chat.WriteLine($"Drain Self Self: {spell.MeetsSelfUseReqs()}");
                        Chat.WriteLine($"Drain Self No Target: {spell.MeetsUseReqs(Targeting.TargetChar)}");
                    }

                    /*
                     * foreach(Pet pet in DynelManager.LocalPlayer.Pets)
                     * {
                     *  Chat.WriteLine(pet.Character != null ? pet.Character.Name : "No pet character found");
                     *  Chat.WriteLine(pet.Type);
                     * }
                     */

                    //DevExtras.Test();

                    //if (DynelManager.LocalPlayer.Buffs.Find(215264, out Buff testBuff))
                    //    testBuff.Remove();

                    /*
                     * if (DynelManager.LocalPlayer.FightingTarget != null)
                     * {
                     *  chatWindow.WriteLine(DynelManager.LocalPlayer.GetLogicalRangeToTarget(DynelManager.LocalPlayer.FightingTarget).ToString());
                     *
                     *
                     *  if (Perk.Find("Capture Vigor", out Perk perk))
                     *  {
                     *      chatWindow.WriteLine(perk.GetStat(Stat.AttackRange).ToString());
                     *      chatWindow.WriteLine(perk.IsInRange(DynelManager.LocalPlayer.FightingTarget).ToString());
                     *  }
                     * }*/
                });

                _ipcChannel = new IPCChannel(1);

                _ipcChannel.RegisterCallback((int)IPCOpcode.Test, (sender, msg) =>
                {
                    TestMessage testMsg = (TestMessage)msg;

                    Chat.WriteLine($"TestMessage: {testMsg.Leet} - {testMsg.Position}");
                });

                _ipcChannel.RegisterCallback((int)IPCOpcode.Empty, (sender, msg) =>
                {
                    Chat.WriteLine($"EmptyMessage");
                });

                Settings = new Settings("TestPlugin");
                Settings.AddVariable("DrawStuff", false);
                Settings.AddVariable("AnotherVariable", 1911);

                Game.OnUpdate        += OnUpdate;
                Game.TeleportStarted += Game_OnTeleportStarted;
                Game.TeleportEnded   += Game_OnTeleportEnded;
                Game.TeleportFailed  += Game_OnTeleportFailed;
                Game.PlayfieldInit   += Game_PlayfieldInit;
                MiscClientEvents.AttemptingSpellCast += AttemptingSpellCast;
                //Network.N3MessageReceived += Network_N3MessageReceived;
                //Network.N3MessageSent += Network_N3MessageSent;
                //Network.PacketReceived += Network_PacketReceived;
                //Network.PacketSent += Network_PacketSent;
                Network.ChatMessageReceived += Network_ChatMessageReceived;
                Team.TeamRequest            += Team_TeamRequest;
                Team.MemberLeft             += Team_MemberLeft;
                Item.ItemUsed += Item_ItemUsed;
                NpcDialog.AnswerListChanged += NpcDialog_AnswerListChanged;
                //DynelManager.DynelSpawned += DynelSpawned;
                //DynelManager.CharInPlay += CharInPlay;
            }
            catch (Exception e)
            {
                Chat.WriteLine(e.Message);
            }
        }
Пример #17
0
 private void OnDestroy()
 {
     _instance = null;
 }
Пример #18
0
 private void Awake()
 {
     base.Awake();
     _instance = this;
 }
 public void QuickSupply()
 {
     if (GlobalLock.instance.CanGo)
     {
         GlobalLock.instance.GoNow();
     }
     else
     {
         return;
     }
     GameObject obj2 = GameObjectUtil.InstantiateItemAsChildOf(this.quickSupplyUIPrefab, base.gameObject);
     obj2.GetComponent<PVEQuickSupply>().SetFleet(this.selectedFleet);
     this.supplyAllUI = obj2.GetComponent<OptionPanel>();
     this.supplyAllUI.Cancel += delegate (object sender, EventArgs e) {
         this.UpdateFleet();
     };
 }
Пример #20
0
        public void Selected(int index, string title, List <BeatmapInfo>[] St5, List <BeatmapInfo>[] Th2, List <BeatmapInfo>[] Th4, List <BeatmapInfo>[] Th6, List <BeatmapInfo>[] Pt1, bool[] filled, int bgaFrame, string bgaPath, string backPath)
        {
            Starlight5 = St5;
            Theater2   = Th2;
            Theater4   = Th4;
            Theater6   = Th6;
            Platinum1  = Pt1;
            CurBGAVal  = bgaFrame;
            BGAPath    = bgaPath;
            BackPath   = backPath;

            titleText.text  = title;
            artistText.text = null;
            authorText.text = null;
            for (int i = 0; i < 5; i++)
            {
                ModeBtn[i].interactable = false;
                ModeBtn[i].gameObject.GetComponent <Image>().color          = Color.white;
                ModeBtn[i].gameObject.GetComponentInChildren <Text>().color = Color.black;
                if (filled[i])
                {
                    ModeBtn[i].interactable = true;
                }
            }
            for (int i = 0; i < 4; i++)
            {
                LevelBtn[i].interactable = false;
                LevelBtn[i].gameObject.GetComponent <Image>().color          = GlobalTheme.ThemeColor();
                LevelBtn[i].gameObject.GetComponentInChildren <Text>().color = GlobalTheme.ThemeContrastColor();
            }
            animationObj.Play("SelectSong_SongSelected", 0, 0);
            if (!TitlePanel.activeSelf)
            {
                TitlePanel.SetActive(true);
            }
            if (!PeoplePanel.activeSelf)
            {
                PeoplePanel.SetActive(true);
            }
            if (!ModePanel.activeSelf)
            {
                ModePanel.SetActive(true);
            }

            if (!SongSelectedPrevious)
            {
                OptionPanel.SetActive(true);
                SongSelectedPrevious = true;
            }
            LevelSelectedPrevious = false;
            if (BeatmapIndexPanel.activeSelf)
            {
                BeatmapIndexPanel.SetActive(false);
            }

            if (lastButtonIdx != -1)
            {
                buttons[lastButtonIdx].GetComponent <Graphic>().color = GlobalTheme.ThemeColor();
                buttons[lastButtonIdx].GetComponent <SongButton>().buttonText.color = GlobalTheme.ThemeContrastColor();
            }
            lastButtonIdx = index;
        }