private void SetupSteps(GameHandlerMetadata metadataSelected)
        {
            KillCurrentStep();

            if (handlerDataManager != null)
            {
                // dispose
                handlerDataManager.Dispose();
                handlerDataManager = null;
            }

            selectedHandler    = metadataSelected;
            handlerDataManager = GameManager.Instance.PackageManager.ReadHandlerDataFromInstalledPackage(selectedHandler);
            handlerData        = handlerDataManager.HandlerData;

            BrowserBtns.SetPlayButtonState(false);

            stepsList = new List <UserInputControl>();
            stepsList.Add(positionsControl);
            stepsList.Add(optionsControl);
            if (handlerData.CustomSteps != null)
            {
                for (int i = 0; i < handlerData.CustomSteps.Count; i++)
                {
                    stepsList.Add(jsControl);
                }
            }

            currentProfile = new GameProfile();
            currentProfile.InitializeDefault(handlerData);

            MainForm.Instance.ChangeGameInfo(userGame);
        }
        private void combo_Handlers_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (combo_Handlers.SelectedIndex == -1)
            {
                return;
            }

            KillCurrentStep();

            if (handlerDataManager != null)
            {
                // dispose
                handlerDataManager.Dispose();
                handlerDataManager = null;
            }

            try
            {
                selectedHandler    = currentHandlers[combo_Handlers.SelectedIndex];
                handlerDataManager = gameManager.RepoManager.ReadHandlerDataFromInstalledPackage(selectedHandler);
                handlerData        = handlerDataManager.HandlerData;

                btn_Play.Enabled = false;

                stepsList = new List <UserInputControl>();
                stepsList.Add(positionsControl);
                stepsList.Add(optionsControl);
                if (handlerData.CustomSteps != null)
                {
                    for (int i = 0; i < handlerData.CustomSteps.Count; i++)
                    {
                        stepsList.Add(jsControl);
                    }
                }

                currentProfile = new GameProfile();
                currentProfile.InitializeDefault(handlerData);

                gameNameControl.GameInfo = selectedControl.UserGameInfo;

                GoToStep(0);
            }
            catch (Exception ex)
            {
                Debugger.Break();
            }
        }