Esempio n. 1
0
        private void RunTextButton_OnClick(UIMouseEvent evt, UIElement listeningElement)
        {
            string filename = "ModdersToolkit_Code.cs";
            string folder   = Path.Combine(Main.SavePath, "Mods", "Cache");
            string path     = Path.Combine(folder, filename);

            if (File.Exists(path))
            {
                string code = File.ReadAllText(path);
                codeTextBox.SetText(code);
                EnterAction();
            }
            else
            {
                Main.NewText("File does not exist");
            }
        }
Esempio n. 2
0
        public override void OnInitialize()
        {
            keyboardPanel = new UIPanel();
            keyboardPanel.SetPadding(8);
            keyboardPanel.Left.Set(-550f, 1f);
            keyboardPanel.Top.Set(-370f, 1f);
            keyboardPanel.Width.Set(500f, 0f);
            keyboardPanel.Height.Set(300f, 0f);
            keyboardPanel.BackgroundColor = new Color(73, 94, 171);

            codeTextBox = new NewUITextBoxMultiLine("Type code here", 1f);
            codeTextBox.SetUnfocusKeys(false, false);
            codeTextBox.BackgroundColor = Color.Transparent;
            codeTextBox.BorderColor     = Color.Transparent;
            codeTextBox.Left.Pixels     = 0;
            codeTextBox.Top.Pixels      = 0;
            codeTextBox.Width.Set(-20, 1f);
            //filterTextBox.OnTextChanged += () => { filterText = filterTextBox.Text; updateneeded = true; };
            codeTextBox.OnEnterPressed += EnterAction;
            codeTextBox.OnTabPressed   += TabAction;
            codeTextBox.OnUpPressed    += UpAction;
            //keyboardPanel.Append(codeTextBox);

            replOutput = new UIList();
            replOutput.Width.Set(-25f, 1f);             // left spacing plus scrollbar
            //replOutput.Height.Set(-codeTextBox.GetDimensions().Height - 32, 1f);
            replOutput.Height.Set(-26, 1f);
            replOutput.Left.Set(0, 0f);
            //replOutput.Top.Set(codeTextBox.GetDimensions().Height, 0f);
            replOutput.Top.Set(0, 0f);
            replOutput.ListPadding = 10f;
            replOutput.Add(codeTextBox);
            keyboardPanel.Append(replOutput);

            keyboardScrollbar = new UIElements.FixedUIScrollbar(userInterface);
            keyboardScrollbar.SetView(100f, 1000f);
            keyboardScrollbar.Top.Pixels = codeTextBox.GetDimensions().Height;
            keyboardScrollbar.Height.Set(-26, 1f);
            keyboardScrollbar.Left.Set(-4, 0f);
            keyboardScrollbar.HAlign = 1f;
            keyboardPanel.Append(keyboardScrollbar);

            replOutput.SetScrollbar(keyboardScrollbar);

            UIImageButton clearButton = new UIHoverImageButton(ModContent.GetTexture("Terraria/UI/ButtonDelete"), "Clear REPL");

            clearButton.OnClick += (a, b) => {
                pendingClear = true;
                codeTextBox.SetText("");
            };
            clearButton.Top.Set(-26, 1f);
            clearButton.Left.Set(26 * 0, 0f);
            keyboardPanel.Append(clearButton);

            UIImageButton resetButton = new UIHoverImageButton(ModContent.GetTexture("Terraria/UI/ButtonDelete"), "Reset REPL");

            resetButton.OnClick += (a, b) => {
                pendingClear = true;
                codeTextBox.SetText("");
                REPLTool.replBackend.Reset();
            };
            resetButton.Top.Set(-26, 1f);
            resetButton.Left.Set(26 * 1, 0f);
            keyboardPanel.Append(resetButton);

            UIImageButton eyeDropperButton = new UIHoverImageButton(ModdersToolkit.instance.GetTexture("UIElements/eyedropper"), "Tile Selector");

            eyeDropperButton.Height.Pixels = 20;
            //eyeDropperButton.Width.Pixels = 20;
            eyeDropperButton.OnClick += EyeDropperButton_OnClick;
            eyeDropperButton.Top.Set(-26, 1f);
            eyeDropperButton.Left.Set(26 * 2, 0f);
            keyboardPanel.Append(eyeDropperButton);

            UIImageButton openText = new UIHoverImageButton(ModdersToolkit.instance.GetTexture("UIElements/CopyCodeButton"), "Open External Editor");

            openText.OnClick += OpenTextButton_OnClick;
            openText.Top.Set(-26, 1f);
            openText.Left.Set(26 * 3, 0f);
            keyboardPanel.Append(openText);

            UIImageButton runText = new UIHoverImageButton(TextureManager.Load("Images/UI/ButtonPlay"), "Execute External Code");

            runText.OnClick += RunTextButton_OnClick;
            runText.Top.Set(-26, 1f);
            runText.Left.Set(26 * 4, 0f);
            keyboardPanel.Append(runText);

            Append(keyboardPanel);
        }