From 0b7347e118e07cec2853877a2ab4c636e1644f6f Mon Sep 17 00:00:00 2001 From: jie65535 Date: Fri, 13 May 2022 08:52:35 +0800 Subject: [PATCH] Support Open Command Plugin Support Remove Command Update version to 1.0.0 --- Source/GrasscutterTools/App.config | 6 + .../DispatchServer/DispatchServerAPI.cs | 18 + .../DispatchServer/Model/ServerStatus.cs | 23 + Source/GrasscutterTools/FormMain.Designer.cs | 219 +- Source/GrasscutterTools/FormMain.cs | 178 +- Source/GrasscutterTools/FormMain.resx | 4289 ++++++++++------- .../GrasscutterTools/GrasscutterTools.csproj | 5 +- .../MojoConsole/MojoConsole.cs | 89 - .../OpenCommand/OpenCommandAPI.cs | 105 + .../Properties/AssemblyInfo.cs | 2 +- .../Properties/Settings.Designer.cs | 24 + .../Properties/Settings.settings | 6 + Source/GrasscutterTools/Utils/HttpHelper.cs | 53 + 13 files changed, 3099 insertions(+), 1918 deletions(-) create mode 100644 Source/GrasscutterTools/DispatchServer/DispatchServerAPI.cs create mode 100644 Source/GrasscutterTools/DispatchServer/Model/ServerStatus.cs delete mode 100644 Source/GrasscutterTools/MojoConsole/MojoConsole.cs create mode 100644 Source/GrasscutterTools/OpenCommand/OpenCommandAPI.cs create mode 100644 Source/GrasscutterTools/Utils/HttpHelper.cs diff --git a/Source/GrasscutterTools/App.config b/Source/GrasscutterTools/App.config index a89331c..786f460 100644 --- a/Source/GrasscutterTools/App.config +++ b/Source/GrasscutterTools/App.config @@ -25,6 +25,12 @@ TextMapCHS + + 10001 + + + https://127.0.0.1 + diff --git a/Source/GrasscutterTools/DispatchServer/DispatchServerAPI.cs b/Source/GrasscutterTools/DispatchServer/DispatchServerAPI.cs new file mode 100644 index 0000000..bf71a00 --- /dev/null +++ b/Source/GrasscutterTools/DispatchServer/DispatchServerAPI.cs @@ -0,0 +1,18 @@ +using System.Threading.Tasks; + +using GrasscutterTools.DispatchServer.Model; +using GrasscutterTools.Utils; + +namespace GrasscutterTools.DispatchServer +{ + public static class DispatchServerAPI + { + + public static async Task QueryServerStatus(string host) + { + var response = await HttpHelper.GetAsync(host + "/status/server"); + return response?.Status; + } + + } +} diff --git a/Source/GrasscutterTools/DispatchServer/Model/ServerStatus.cs b/Source/GrasscutterTools/DispatchServer/Model/ServerStatus.cs new file mode 100644 index 0000000..bcb7477 --- /dev/null +++ b/Source/GrasscutterTools/DispatchServer/Model/ServerStatus.cs @@ -0,0 +1,23 @@ + +using Newtonsoft.Json; + +namespace GrasscutterTools.DispatchServer.Model +{ + public class ServerStatus + { + [JsonProperty("playerCount")] + public int PlayerCount { get; set; } + + [JsonProperty("version")] + public string Version { get; set; } + } + + public class ServerStatusResponse + { + [JsonProperty("retcode")] + public int RetCode { get; set; } + + [JsonProperty("status")] + public ServerStatus Status { get; set; } + } +} diff --git a/Source/GrasscutterTools/FormMain.Designer.cs b/Source/GrasscutterTools/FormMain.Designer.cs index ae9fc79..75b6fbd 100644 --- a/Source/GrasscutterTools/FormMain.Designer.cs +++ b/Source/GrasscutterTools/FormMain.Designer.cs @@ -29,6 +29,7 @@ namespace GrasscutterTools /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain)); this.TxtCommand = new System.Windows.Forms.TextBox(); this.BtnCopy = new System.Windows.Forms.Button(); @@ -159,14 +160,26 @@ namespace GrasscutterTools this.LnkGithub = new System.Windows.Forms.LinkLabel(); this.LblSupportDescription = new System.Windows.Forms.Label(); this.TPRemoteCall = new System.Windows.Forms.TabPage(); - this.LblRemoteTODO = new System.Windows.Forms.Label(); this.GrpRemoteCommand = new System.Windows.Forms.GroupBox(); - this.LnkRCHelp = new System.Windows.Forms.LinkLabel(); - this.LblSessionKey = new System.Windows.Forms.Label(); - this.TxtSessionKey = new System.Windows.Forms.TextBox(); this.TxtHost = new System.Windows.Forms.TextBox(); this.LblHost = new System.Windows.Forms.Label(); - this.BtnPingHost = new System.Windows.Forms.Button(); + this.BtnQueryServerStatus = new System.Windows.Forms.Button(); + this.NUDRemotePlayerId = new System.Windows.Forms.NumericUpDown(); + this.LblRemotePlayerId = new System.Windows.Forms.Label(); + this.LblServerVersionLabel = new System.Windows.Forms.Label(); + this.LblServerVersion = new System.Windows.Forms.Label(); + this.LblPlayerCountLabel = new System.Windows.Forms.Label(); + this.LblPlayerCount = new System.Windows.Forms.Label(); + this.GrpServerStatus = new System.Windows.Forms.GroupBox(); + this.LblOpenCommandSupport = new System.Windows.Forms.Label(); + this.LnkOpenCommandLabel = new System.Windows.Forms.LinkLabel(); + this.LblVerificationCode = new System.Windows.Forms.Label(); + this.NUDVerificationCode = new System.Windows.Forms.NumericUpDown(); + this.BtnSendVerificationCode = new System.Windows.Forms.Button(); + this.BtnConnectOpenCommand = new System.Windows.Forms.Button(); + this.BtnInvokeOpenCommand = new System.Windows.Forms.Button(); + this.LnkRCHelp = new System.Windows.Forms.LinkLabel(); + this.TTip = new System.Windows.Forms.ToolTip(this.components); this.GrpCommand.SuspendLayout(); this.TCMain.SuspendLayout(); this.TPHome.SuspendLayout(); @@ -210,6 +223,9 @@ namespace GrasscutterTools ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); this.TPRemoteCall.SuspendLayout(); this.GrpRemoteCommand.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDRemotePlayerId)).BeginInit(); + this.GrpServerStatus.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDVerificationCode)).BeginInit(); this.SuspendLayout(); // // TxtCommand @@ -233,6 +249,7 @@ namespace GrasscutterTools // GrpCommand // resources.ApplyResources(this.GrpCommand, "GrpCommand"); + this.GrpCommand.Controls.Add(this.BtnInvokeOpenCommand); this.GrpCommand.Controls.Add(this.BtnCopy); this.GrpCommand.Controls.Add(this.ChkAutoCopy); this.GrpCommand.Controls.Add(this.TxtCommand); @@ -1345,46 +1362,28 @@ namespace GrasscutterTools // // TPRemoteCall // - this.TPRemoteCall.Controls.Add(this.LblRemoteTODO); + this.TPRemoteCall.Controls.Add(this.GrpServerStatus); this.TPRemoteCall.Controls.Add(this.GrpRemoteCommand); + this.TPRemoteCall.Controls.Add(this.TxtHost); + this.TPRemoteCall.Controls.Add(this.BtnQueryServerStatus); + this.TPRemoteCall.Controls.Add(this.LblHost); resources.ApplyResources(this.TPRemoteCall, "TPRemoteCall"); this.TPRemoteCall.Name = "TPRemoteCall"; this.TPRemoteCall.UseVisualStyleBackColor = true; // - // LblRemoteTODO - // - resources.ApplyResources(this.LblRemoteTODO, "LblRemoteTODO"); - this.LblRemoteTODO.Name = "LblRemoteTODO"; - // // GrpRemoteCommand // resources.ApplyResources(this.GrpRemoteCommand, "GrpRemoteCommand"); this.GrpRemoteCommand.Controls.Add(this.LnkRCHelp); - this.GrpRemoteCommand.Controls.Add(this.LblSessionKey); - this.GrpRemoteCommand.Controls.Add(this.TxtSessionKey); - this.GrpRemoteCommand.Controls.Add(this.TxtHost); - this.GrpRemoteCommand.Controls.Add(this.LblHost); - this.GrpRemoteCommand.Controls.Add(this.BtnPingHost); + this.GrpRemoteCommand.Controls.Add(this.BtnConnectOpenCommand); + this.GrpRemoteCommand.Controls.Add(this.BtnSendVerificationCode); + this.GrpRemoteCommand.Controls.Add(this.LblRemotePlayerId); + this.GrpRemoteCommand.Controls.Add(this.NUDVerificationCode); + this.GrpRemoteCommand.Controls.Add(this.LblVerificationCode); + this.GrpRemoteCommand.Controls.Add(this.NUDRemotePlayerId); this.GrpRemoteCommand.Name = "GrpRemoteCommand"; this.GrpRemoteCommand.TabStop = false; // - // LnkRCHelp - // - resources.ApplyResources(this.LnkRCHelp, "LnkRCHelp"); - this.LnkRCHelp.Name = "LnkRCHelp"; - this.LnkRCHelp.TabStop = true; - this.LnkRCHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkRCHelp_LinkClicked); - // - // LblSessionKey - // - resources.ApplyResources(this.LblSessionKey, "LblSessionKey"); - this.LblSessionKey.Name = "LblSessionKey"; - // - // TxtSessionKey - // - resources.ApplyResources(this.TxtSessionKey, "TxtSessionKey"); - this.TxtSessionKey.Name = "TxtSessionKey"; - // // TxtHost // resources.ApplyResources(this.TxtHost, "TxtHost"); @@ -1395,12 +1394,129 @@ namespace GrasscutterTools resources.ApplyResources(this.LblHost, "LblHost"); this.LblHost.Name = "LblHost"; // - // BtnPingHost + // BtnQueryServerStatus // - resources.ApplyResources(this.BtnPingHost, "BtnPingHost"); - this.BtnPingHost.Name = "BtnPingHost"; - this.BtnPingHost.UseVisualStyleBackColor = true; - this.BtnPingHost.Click += new System.EventHandler(this.BtnPingHost_Click); + resources.ApplyResources(this.BtnQueryServerStatus, "BtnQueryServerStatus"); + this.BtnQueryServerStatus.Name = "BtnQueryServerStatus"; + this.BtnQueryServerStatus.UseVisualStyleBackColor = true; + this.BtnQueryServerStatus.Click += new System.EventHandler(this.BtnQueryServerStatus_Click); + // + // NUDRemotePlayerId + // + resources.ApplyResources(this.NUDRemotePlayerId, "NUDRemotePlayerId"); + this.NUDRemotePlayerId.Maximum = new decimal(new int[] { + 2147483647, + 0, + 0, + 0}); + this.NUDRemotePlayerId.Name = "NUDRemotePlayerId"; + this.NUDRemotePlayerId.Value = new decimal(new int[] { + 10001, + 0, + 0, + 0}); + // + // LblRemotePlayerId + // + resources.ApplyResources(this.LblRemotePlayerId, "LblRemotePlayerId"); + this.LblRemotePlayerId.Name = "LblRemotePlayerId"; + // + // LblServerVersionLabel + // + resources.ApplyResources(this.LblServerVersionLabel, "LblServerVersionLabel"); + this.LblServerVersionLabel.Name = "LblServerVersionLabel"; + // + // LblServerVersion + // + resources.ApplyResources(this.LblServerVersion, "LblServerVersion"); + this.LblServerVersion.Name = "LblServerVersion"; + // + // LblPlayerCountLabel + // + resources.ApplyResources(this.LblPlayerCountLabel, "LblPlayerCountLabel"); + this.LblPlayerCountLabel.Name = "LblPlayerCountLabel"; + // + // LblPlayerCount + // + resources.ApplyResources(this.LblPlayerCount, "LblPlayerCount"); + this.LblPlayerCount.Name = "LblPlayerCount"; + // + // GrpServerStatus + // + this.GrpServerStatus.Controls.Add(this.LnkOpenCommandLabel); + this.GrpServerStatus.Controls.Add(this.LblOpenCommandSupport); + this.GrpServerStatus.Controls.Add(this.LblServerVersion); + this.GrpServerStatus.Controls.Add(this.LblPlayerCount); + this.GrpServerStatus.Controls.Add(this.LblServerVersionLabel); + this.GrpServerStatus.Controls.Add(this.LblPlayerCountLabel); + resources.ApplyResources(this.GrpServerStatus, "GrpServerStatus"); + this.GrpServerStatus.Name = "GrpServerStatus"; + this.GrpServerStatus.TabStop = false; + // + // LblOpenCommandSupport + // + resources.ApplyResources(this.LblOpenCommandSupport, "LblOpenCommandSupport"); + this.LblOpenCommandSupport.Name = "LblOpenCommandSupport"; + // + // LnkOpenCommandLabel + // + resources.ApplyResources(this.LnkOpenCommandLabel, "LnkOpenCommandLabel"); + this.LnkOpenCommandLabel.Name = "LnkOpenCommandLabel"; + this.LnkOpenCommandLabel.TabStop = true; + this.LnkOpenCommandLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkOpenCommandLabel_LinkClicked); + // + // LblVerificationCode + // + resources.ApplyResources(this.LblVerificationCode, "LblVerificationCode"); + this.LblVerificationCode.Name = "LblVerificationCode"; + // + // NUDVerificationCode + // + resources.ApplyResources(this.NUDVerificationCode, "NUDVerificationCode"); + this.NUDVerificationCode.Maximum = new decimal(new int[] { + 9999, + 0, + 0, + 0}); + this.NUDVerificationCode.Minimum = new decimal(new int[] { + 1000, + 0, + 0, + 0}); + this.NUDVerificationCode.Name = "NUDVerificationCode"; + this.NUDVerificationCode.Value = new decimal(new int[] { + 1000, + 0, + 0, + 0}); + // + // BtnSendVerificationCode + // + resources.ApplyResources(this.BtnSendVerificationCode, "BtnSendVerificationCode"); + this.BtnSendVerificationCode.Name = "BtnSendVerificationCode"; + this.BtnSendVerificationCode.UseVisualStyleBackColor = true; + this.BtnSendVerificationCode.Click += new System.EventHandler(this.BtnSendVerificationCode_Click); + // + // BtnConnectOpenCommand + // + resources.ApplyResources(this.BtnConnectOpenCommand, "BtnConnectOpenCommand"); + this.BtnConnectOpenCommand.Name = "BtnConnectOpenCommand"; + this.BtnConnectOpenCommand.UseVisualStyleBackColor = true; + this.BtnConnectOpenCommand.Click += new System.EventHandler(this.BtnConnectOpenCommand_Click); + // + // BtnInvokeOpenCommand + // + resources.ApplyResources(this.BtnInvokeOpenCommand, "BtnInvokeOpenCommand"); + this.BtnInvokeOpenCommand.Name = "BtnInvokeOpenCommand"; + this.BtnInvokeOpenCommand.UseVisualStyleBackColor = true; + this.BtnInvokeOpenCommand.Click += new System.EventHandler(this.BtnInvokeOpenCommand_Click); + // + // LnkRCHelp + // + resources.ApplyResources(this.LnkRCHelp, "LnkRCHelp"); + this.LnkRCHelp.Name = "LnkRCHelp"; + this.LnkRCHelp.TabStop = true; + this.LnkRCHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkRCHelp_LinkClicked); // // FormMain // @@ -1411,6 +1527,7 @@ namespace GrasscutterTools this.Name = "FormMain"; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FormMain_FormClosed); this.Load += new System.EventHandler(this.FormMain_Load); + this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FormMain_KeyDown); this.GrpCommand.ResumeLayout(false); this.GrpCommand.PerformLayout(); this.TCMain.ResumeLayout(false); @@ -1473,6 +1590,10 @@ namespace GrasscutterTools this.TPRemoteCall.PerformLayout(); this.GrpRemoteCommand.ResumeLayout(false); this.GrpRemoteCommand.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDRemotePlayerId)).EndInit(); + this.GrpServerStatus.ResumeLayout(false); + this.GrpServerStatus.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDVerificationCode)).EndInit(); this.ResumeLayout(false); } @@ -1607,15 +1728,27 @@ namespace GrasscutterTools private System.Windows.Forms.Label LblLanguage; private System.Windows.Forms.RadioButton RbEntityOrnament; private System.Windows.Forms.TabPage TPRemoteCall; - private System.Windows.Forms.Label LblRemoteTODO; private System.Windows.Forms.GroupBox GrpRemoteCommand; - private System.Windows.Forms.LinkLabel LnkRCHelp; - private System.Windows.Forms.Label LblSessionKey; - private System.Windows.Forms.TextBox TxtSessionKey; private System.Windows.Forms.TextBox TxtHost; private System.Windows.Forms.Label LblHost; - private System.Windows.Forms.Button BtnPingHost; + private System.Windows.Forms.Button BtnQueryServerStatus; private System.Windows.Forms.Button BtnOpenTextMap; + private System.Windows.Forms.Label LblRemotePlayerId; + private System.Windows.Forms.NumericUpDown NUDRemotePlayerId; + private System.Windows.Forms.Label LblPlayerCount; + private System.Windows.Forms.Label LblPlayerCountLabel; + private System.Windows.Forms.Label LblServerVersion; + private System.Windows.Forms.Label LblServerVersionLabel; + private System.Windows.Forms.GroupBox GrpServerStatus; + private System.Windows.Forms.LinkLabel LnkOpenCommandLabel; + private System.Windows.Forms.Label LblOpenCommandSupport; + private System.Windows.Forms.Button BtnConnectOpenCommand; + private System.Windows.Forms.Button BtnSendVerificationCode; + private System.Windows.Forms.NumericUpDown NUDVerificationCode; + private System.Windows.Forms.Label LblVerificationCode; + private System.Windows.Forms.Button BtnInvokeOpenCommand; + private System.Windows.Forms.LinkLabel LnkRCHelp; + private System.Windows.Forms.ToolTip TTip; } } diff --git a/Source/GrasscutterTools/FormMain.cs b/Source/GrasscutterTools/FormMain.cs index 0426270..07bfac0 100644 --- a/Source/GrasscutterTools/FormMain.cs +++ b/Source/GrasscutterTools/FormMain.cs @@ -1,12 +1,15 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using GrasscutterTools.DispatchServer; using GrasscutterTools.Game; +using GrasscutterTools.OpenCommand; using GrasscutterTools.Properties; namespace GrasscutterTools @@ -62,6 +65,7 @@ namespace GrasscutterTools InitGiveItemRecord(); InitSpawnRecord(); + InitOpenCommand(); } catch (Exception ex) { @@ -79,6 +83,7 @@ namespace GrasscutterTools SaveCustomCommands(); SaveGiveItemRecord(); SaveSpawnRecord(); + SaveOpenCommand(); } catch (Exception ex) { @@ -834,6 +839,8 @@ namespace GrasscutterTools TxtCommand.Text = command; if (ChkAutoCopy.Checked) CopyCommand(); + if (ModifierKeys == Keys.Control) + OnOpenCommandInvoke(); } private void SetCommand(string command, string args) @@ -869,6 +876,19 @@ namespace GrasscutterTools btn.Enabled = true; } + private void FormMain_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.F5) + { + OnOpenCommandInvoke(); + } + } + + private void ShowTip(string message, Control control) + { + TTip.Show(message, control, 0, control.Size.Height, 3000); + } + #endregion - 通用 - #region - 命令记录 - @@ -897,16 +917,166 @@ namespace GrasscutterTools #region - 远程 - - private void LnkRCHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + private void InitOpenCommand() { - MessageBox.Show("TODO:正在开发中", "TODO"); + NUDRemotePlayerId.Value = Settings.Default.RemoteUid; + TxtHost.Text = Settings.Default.Host; } - private void BtnPingHost_Click(object sender, EventArgs e) + private void SaveOpenCommand() { - MessageBox.Show("TODO:正在开发中", "TODO"); + Settings.Default.RemoteUid = NUDRemotePlayerId.Value; + Settings.Default.Host = TxtHost.Text; + } + + private OpenCommandAPI OC; + + private async void BtnQueryServerStatus_Click(object sender, EventArgs e) + { + var btn = sender as Button; + btn.Enabled = false; + btn.Cursor = Cursors.WaitCursor; + try + { + var status = await DispatchServerAPI.QueryServerStatus(TxtHost.Text); + LblServerVersion.Text = status.Version; + LblPlayerCount.Text = status.PlayerCount.ToString(); + + OC = new OpenCommandAPI(TxtHost.Text); + if (await OC.Ping()) + { + LblOpenCommandSupport.Text = "√"; + LblOpenCommandSupport.ForeColor = Color.Green; + GrpRemoteCommand.Enabled = true; + } + else + { + LblOpenCommandSupport.Text = "×"; + LblOpenCommandSupport.ForeColor = Color.Red; + GrpRemoteCommand.Enabled = false; + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + finally + { + btn.Cursor = Cursors.Default; + btn.Enabled = true; + } + } + + private async void BtnSendVerificationCode_Click(object sender, EventArgs e) + { + var btn = sender as Button; + var t = btn.Text; + btn.Enabled = false; + NUDRemotePlayerId.Enabled = false; + try + { + btn.Text = "发送中..."; + await OC.SendCode((int)NUDRemotePlayerId.Value); + BtnConnectOpenCommand.Enabled = true; + NUDVerificationCode.Enabled = true; + NUDVerificationCode.Focus(); + for (int i = 60; i > 0 && !OC.CanInvoke; i--) + { + btn.Text = $"{i} 秒后可重发"; + await Task.Delay(1000); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + finally + { + btn.Text = t; + btn.Enabled = true; + NUDRemotePlayerId.Enabled = true; + } + } + + private async void BtnConnectOpenCommand_Click(object sender, EventArgs e) + { + var btn = sender as Button; + btn.Enabled = false; + try + { + await OC.Verify((int)NUDVerificationCode.Value); + GrpRemoteCommand.Enabled = false; + BtnInvokeOpenCommand.Focus(); + ShowTip("现在你可以远程执行命令了哦!", BtnInvokeOpenCommand); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + finally + { + btn.Cursor = Cursors.Default; + btn.Enabled = true; + } + } + + private void OnOpenCommandInvoke() + { + BtnInvokeOpenCommand_Click(BtnInvokeOpenCommand, EventArgs.Empty); + } + + private async void BtnInvokeOpenCommand_Click(object sender, EventArgs e) + { + if (TxtCommand.Text.Length < 2) + { + ShowTip("命令不能为空", TxtCommand); + return; + } + if (OC == null || !OC.CanInvoke) + { + ShowTip("请先连接到支持[OpenCommand]的服务器", BtnInvokeOpenCommand); + TCMain.SelectedTab = TPRemoteCall; + return; + } + var cmd = TxtCommand.Text.Substring(1); + var btn = sender as Button; + btn.Enabled = false; + try + { + var msg = await OC.Invoke(cmd); + ShowTip(msg, btn); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + finally + { + btn.Cursor = Cursors.Default; + btn.Enabled = true; + } + } + + private void LnkOpenCommandLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + try + { + System.Diagnostics.Process.Start("https://github.com/jie65535/gc-opencommand-plugin"); + } + catch (Exception) + { + MessageBox.Show("浏览器打开失败,你可以通过以下链接手动访问:\n" + + "https://github.com/jie65535/gc-opencommand-plugin", + "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + private void LnkRCHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + MessageBox.Show("1. 填写正确的UID\n2. 向玩家发送验证码\n3. 输入正确的验证码\n4. 连接\n5. 享受", "帮助", MessageBoxButtons.OK, MessageBoxIcon.Information); } #endregion + } } \ No newline at end of file diff --git a/Source/GrasscutterTools/FormMain.resx b/Source/GrasscutterTools/FormMain.resx index 29606c5..dde7a78 100644 --- a/Source/GrasscutterTools/FormMain.resx +++ b/Source/GrasscutterTools/FormMain.resx @@ -123,10 +123,10 @@ - 10, 22 + 87, 22 - 477, 23 + 400, 23 @@ -142,7 +142,7 @@ GrpCommand - 2 + 3 Top, Right @@ -169,7 +169,7 @@ GrpCommand - 0 + 1 Top, Right @@ -199,11 +199,35 @@ GrpCommand - 1 + 2 Bottom, Left, Right + + 6, 22 + + + 75, 23 + + + 3 + + + 执行(F5) + + + BtnInvokeOpenCommand + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpCommand + + + 0 + 12, 293 @@ -214,7 +238,7 @@ 3 - 命令 + 命令(按住 Ctrl 自动执行) GrpCommand @@ -231,6 +255,171 @@ Top, Bottom, Left, Right + + TPHome + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 0 + + + TPCustom + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 1 + + + TPArtifact + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 2 + + + TPWeapon + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 3 + + + TPItem + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 4 + + + TPAvatar + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 5 + + + TPSpawn + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 6 + + + TPScene + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 7 + + + TPStats + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 8 + + + TPManage + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 9 + + + TPAbout + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 10 + + + TPRemoteCall + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 11 + + + 12, 12 + + + 610, 275 + + + 4 + + + TCMain + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + BtnOpenTextMap @@ -318,1569 +507,6 @@ 0 - - BtnExportCustomCommands - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPCustom - - - 0 - - - BtnLoadCustomCommands - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPCustom - - - 1 - - - LblCustomName - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPCustom - - - 2 - - - groupBox1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPCustom - - - 3 - - - BtnRemoveCustomCommand - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPCustom - - - 4 - - - BtnSaveCustomCommand - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPCustom - - - 5 - - - TxtCustomName - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPCustom - - - 6 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 1 - - - 自定义 - - - TPCustom - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 1 - - - LblArtifactName - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 0 - - - NUDArtifactStars - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 1 - - - LblArtifactStars - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 2 - - - LblArtifactPart - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 3 - - - CmbArtifactPart - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 4 - - - CmbArtifactSet - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 5 - - - LblArtifactSet - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 6 - - - LblArtifactLevelTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 7 - - - LblAddSubAttr - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 8 - - - NUDSubAttributionTimes - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 9 - - - CmbSubAttributionValue - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 10 - - - CmbSubAttribution - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 11 - - - LblClearSubAttrCheckedList - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 12 - - - ListSubAttributionChecked - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 13 - - - NUDArtifactLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 14 - - - LblArtifactLevel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 15 - - - LblSubAttribution - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 16 - - - CmbMainAttribution - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 17 - - - LblMainAttribution - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 18 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 2 - - - 圣遗物 - - - TPArtifact - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 2 - - - TxtWeaponFilter - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPWeapon - - - 0 - - - LblWeaponDescription - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPWeapon - - - 1 - - - LblWeaponRefinement - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPWeapon - - - 2 - - - LblWeaponAmount - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPWeapon - - - 3 - - - LblWeaponLevel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPWeapon - - - 4 - - - NUDWeaponRefinement - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPWeapon - - - 5 - - - NUDWeaponAmout - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPWeapon - - - 6 - - - NUDWeaponLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPWeapon - - - 7 - - - ListWeapons - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPWeapon - - - 8 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 3 - - - 武器 - - - TPWeapon - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 3 - - - BtnSaveGiveItemLog - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 0 - - - BtnRemoveGiveItemLog - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 1 - - - GrpGiveItemRecord - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 2 - - - ChkDrop - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 3 - - - TxtGameItemFilter - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 4 - - - ListGameItems - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 5 - - - LblGameItemAmount - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 6 - - - LblGameItemLevel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 7 - - - NUDGameItemAmout - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 8 - - - NUDGameItemLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 9 - - - LblGiveCommandDescription - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 10 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 4 - - - 物品 - - - TPItem - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 4 - - - LblAvatarGenWarning - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 0 - - - ImgAvatar - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 1 - - - LblAvatar - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 2 - - - LblLevel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 3 - - - NUDAvatarLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 4 - - - CmbAvatar - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 5 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 5 - - - 角色 - - - TPAvatar - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 5 - - - BtnSaveSpawnLog - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 0 - - - BtnRemoveSpawnLog - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 1 - - - GrpSpawnRecord - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 2 - - - GrpEntityType - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 3 - - - LblSpawnDescription - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 4 - - - LblEntityAmount - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 5 - - - LblEntityLevel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 6 - - - NUDEntityAmout - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 7 - - - NUDEntityLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 8 - - - TxtEntityFilter - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 9 - - - ListEntity - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - 10 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 6 - - - 生成 - - - TPSpawn - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 6 - - - CmbClimateType - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 0 - - - LblClimateType - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 1 - - - LblSceneDescription - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 2 - - - ListScenes - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 3 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 9 - - - 场景 - - - TPScene - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 7 - - - GrpSetStats - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPStats - - - 0 - - - GrpTalentLevel - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPStats - - - 1 - - - LblStatsDescription - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPStats - - - 2 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 11 - - - 数据 - - - TPStats - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 8 - - - None - - - True - - - 215, 23 - - - 73, 21 - - - 2 - - - 指定UID - - - ChkAccountSetUid - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 0 - - - 294, 22 - - - 106, 23 - - - 3 - - - NUDAccountUid - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 1 - - - 473, 22 - - - 60, 23 - - - 5 - - - - 删除 - - - BtnDeleteAccount - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 2 - - - 407, 22 - - - 60, 23 - - - 4 - - - + 创建 - - - BtnCreateAccount - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 3 - - - True - - - 16, 25 - - - 44, 17 - - - 0 - - - 用户名 - - - LblAccountUserName - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 4 - - - 66, 22 - - - 140, 23 - - - 1 - - - test - - - TxtAccountUserName - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpAccount - - - 5 - - - 31, 6 - - - 540, 60 - - - 0 - - - 账号管理 - - - GrpAccount - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPManage - - - 0 - - - None - - - 250, 21 - - - 150, 25 - - - 7 - - - CmbPerm - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 0 - - - 66, 22 - - - 140, 23 - - - 6 - - - NUDPermUID - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 1 - - - 473, 22 - - - 60, 23 - - - 5 - - - - 移除 - - - BtmPermRemove - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 2 - - - 407, 22 - - - 60, 23 - - - 4 - - - + 添加 - - - BtnPermAdd - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 3 - - - True - - - 212, 25 - - - 32, 17 - - - 2 - - - 权限 - - - LblPerm - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 4 - - - True - - - 6, 25 - - - 54, 17 - - - 0 - - - 目标UID - - - LblPermUID - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 5 - - - 31, 72 - - - 540, 60 - - - 1 - - - 权限管理 - - - GrpPermission - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPManage - - - 1 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 12 - - - 管理 - - - TPManage - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 9 - - - pictureBox2 - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAbout - - - 0 - - - LnkGithub - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAbout - - - 1 - - - LblSupportDescription - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAbout - - - 2 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 13 - - - 关于 - - - TPAbout - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 10 - - - LblRemoteTODO - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPRemoteCall - - - 0 - - - GrpRemoteCommand - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPRemoteCall - - - 1 - - - 4, 26 - - - 3, 3, 3, 3 - - - 602, 245 - - - 14 - - - 远程 - - - TPRemoteCall - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TCMain - - - 11 - - - 12, 12 - - - 610, 275 - - - 4 - - - TCMain - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 0 - 112, 122 @@ -2205,6 +831,117 @@ 4 + + BtnExportCustomCommands + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPCustom + + + 0 + + + BtnLoadCustomCommands + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPCustom + + + 1 + + + LblCustomName + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPCustom + + + 2 + + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPCustom + + + 3 + + + BtnRemoveCustomCommand + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPCustom + + + 4 + + + BtnSaveCustomCommand + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPCustom + + + 5 + + + TxtCustomName + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPCustom + + + 6 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 1 + + + 自定义 + + + TPCustom + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 1 + Bottom, Right @@ -2433,6 +1170,261 @@ 6 + + LblArtifactName + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 0 + + + NUDArtifactStars + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 1 + + + LblArtifactStars + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 2 + + + LblArtifactPart + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 3 + + + CmbArtifactPart + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 4 + + + CmbArtifactSet + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 5 + + + LblArtifactSet + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 6 + + + LblArtifactLevelTip + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 7 + + + LblAddSubAttr + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 8 + + + NUDSubAttributionTimes + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 9 + + + CmbSubAttributionValue + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 10 + + + CmbSubAttribution + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 11 + + + LblClearSubAttrCheckedList + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 12 + + + ListSubAttributionChecked + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 13 + + + NUDArtifactLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 14 + + + LblArtifactLevel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 15 + + + LblSubAttribution + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 16 + + + CmbMainAttribution + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 17 + + + LblMainAttribution + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPArtifact + + + 18 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 2 + + + 圣遗物 + + + TPArtifact + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 2 + Top @@ -2952,6 +1944,141 @@ 18 + + TxtWeaponFilter + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPWeapon + + + 0 + + + LblWeaponDescription + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPWeapon + + + 1 + + + LblWeaponRefinement + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPWeapon + + + 2 + + + LblWeaponAmount + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPWeapon + + + 3 + + + LblWeaponLevel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPWeapon + + + 4 + + + NUDWeaponRefinement + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPWeapon + + + 5 + + + NUDWeaponAmout + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPWeapon + + + 6 + + + NUDWeaponLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPWeapon + + + 7 + + + ListWeapons + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPWeapon + + + 8 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 3 + + + 武器 + + + TPWeapon + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 3 + Top, Right @@ -3203,6 +2330,165 @@ 8 + + BtnSaveGiveItemLog + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 0 + + + BtnRemoveGiveItemLog + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 1 + + + GrpGiveItemRecord + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 2 + + + ChkDrop + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 3 + + + TxtGameItemFilter + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 4 + + + ListGameItems + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 5 + + + LblGameItemAmount + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 6 + + + LblGameItemLevel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 7 + + + NUDGameItemAmout + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 8 + + + NUDGameItemLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 9 + + + LblGiveCommandDescription + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPItem + + + 10 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 4 + + + 物品 + + + TPItem + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 4 + Top, Right @@ -3540,6 +2826,105 @@ 10 + + LblAvatarGenWarning + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPAvatar + + + 0 + + + ImgAvatar + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPAvatar + + + 1 + + + LblAvatar + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPAvatar + + + 2 + + + LblLevel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPAvatar + + + 3 + + + NUDAvatarLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPAvatar + + + 4 + + + CmbAvatar + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPAvatar + + + 5 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 5 + + + 角色 + + + TPAvatar + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 5 + Bottom @@ -3719,6 +3104,165 @@ 5 + + BtnSaveSpawnLog + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 0 + + + BtnRemoveSpawnLog + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 1 + + + GrpSpawnRecord + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 2 + + + GrpEntityType + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 3 + + + LblSpawnDescription + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 4 + + + LblEntityAmount + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 5 + + + LblEntityLevel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 6 + + + NUDEntityAmout + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 7 + + + NUDEntityLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 8 + + + TxtEntityFilter + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 9 + + + ListEntity + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPSpawn + + + 10 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 6 + + + 生成 + + + TPSpawn + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 6 + 265, 31 @@ -4205,6 +3749,81 @@ 10 + + CmbClimateType + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPScene + + + 0 + + + LblClimateType + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPScene + + + 1 + + + LblSceneDescription + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPScene + + + 2 + + + ListScenes + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPScene + + + 3 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 9 + + + 场景 + + + TPScene + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 7 + 68, 94 @@ -4309,6 +3928,69 @@ 3 + + GrpSetStats + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPStats + + + 0 + + + GrpTalentLevel + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPStats + + + 1 + + + LblStatsDescription + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPStats + + + 2 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 11 + + + 数据 + + + TPStats + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 8 + None @@ -4687,6 +4369,609 @@ 2 + + GrpAccount + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPManage + + + 0 + + + GrpPermission + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPManage + + + 1 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 12 + + + 管理 + + + TPManage + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 9 + + + None + + + ChkAccountSetUid + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 0 + + + NUDAccountUid + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 1 + + + BtnDeleteAccount + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 2 + + + BtnCreateAccount + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 3 + + + LblAccountUserName + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 4 + + + TxtAccountUserName + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 5 + + + 31, 6 + + + 540, 60 + + + 0 + + + 账号管理 + + + GrpAccount + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPManage + + + 0 + + + True + + + 215, 23 + + + 73, 21 + + + 2 + + + 指定UID + + + ChkAccountSetUid + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 0 + + + 294, 22 + + + 106, 23 + + + 3 + + + NUDAccountUid + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 1 + + + 473, 22 + + + 60, 23 + + + 5 + + + - 删除 + + + BtnDeleteAccount + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 2 + + + 407, 22 + + + 60, 23 + + + 4 + + + + 创建 + + + BtnCreateAccount + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 3 + + + True + + + 16, 25 + + + 44, 17 + + + 0 + + + 用户名 + + + LblAccountUserName + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 4 + + + 66, 22 + + + 140, 23 + + + 1 + + + test + + + TxtAccountUserName + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpAccount + + + 5 + + + None + + + CmbPerm + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 0 + + + NUDPermUID + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 1 + + + BtmPermRemove + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 2 + + + BtnPermAdd + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 3 + + + LblPerm + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 4 + + + LblPermUID + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 5 + + + 31, 72 + + + 540, 60 + + + 1 + + + 权限管理 + + + GrpPermission + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPManage + + + 1 + + + 250, 21 + + + 150, 25 + + + 7 + + + CmbPerm + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 0 + + + 66, 22 + + + 140, 23 + + + 6 + + + NUDPermUID + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 1 + + + 473, 22 + + + 60, 23 + + + 5 + + + - 移除 + + + BtmPermRemove + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 2 + + + 407, 22 + + + 60, 23 + + + 4 + + + + 添加 + + + BtnPermAdd + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 3 + + + True + + + 212, 25 + + + 32, 17 + + + 2 + + + 权限 + + + LblPerm + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 4 + + + True + + + 6, 25 + + + 54, 17 + + + 0 + + + 目标UID + + + LblPermUID + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpPermission + + + 5 + + + pictureBox2 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPAbout + + + 0 + + + LnkGithub + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPAbout + + + 1 + + + LblSupportDescription + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPAbout + + + 2 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 13 + + + 关于 + + + TPAbout + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 10 + Top, Bottom, Left, Right @@ -4776,33 +5061,93 @@ 2 - - True + + GrpServerStatus - - 522, 3 + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 53, 17 - - - 10 - - - 开发中... - - - LblRemoteTODO - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + TPRemoteCall - + 0 + + GrpRemoteCommand + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPRemoteCall + + + 1 + + + TxtHost + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPRemoteCall + + + 2 + + + BtnQueryServerStatus + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPRemoteCall + + + 3 + + + LblHost + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPRemoteCall + + + 4 + + + 4, 26 + + + 3, 3, 3, 3 + + + 602, 245 + + + 14 + + + 远程 + + + TPRemoteCall + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TCMain + + + 11 + Bottom, Left @@ -4818,74 +5163,89 @@ 0 - - LblSessionKey + + BtnConnectOpenCommand - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpRemoteCommand - - - 1 - - - TxtSessionKey - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpRemoteCommand - - - 2 - - - TxtHost - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpRemoteCommand - - - 3 - - - LblHost - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpRemoteCommand - - - 4 - - - BtnPingHost - - + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + GrpRemoteCommand - + + 1 + + + BtnSendVerificationCode + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + + 2 + + + LblRemotePlayerId + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + + 3 + + + NUDVerificationCode + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + + 4 + + + LblVerificationCode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + 5 + + NUDRemotePlayerId + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + + 6 + + + False + - 6, 157 + 48, 70 - 301, 82 + 309, 132 - 9 + 6 远程执行 @@ -4902,6 +5262,498 @@ 1 + + 119, 36 + + + 182, 23 + + + 2 + + + https://127.0.0.1 + + + TxtHost + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPRemoteCall + + + 2 + + + True + + + NoControl + + + 45, 39 + + + 68, 17 + + + 1 + + + 服务器地址 + + + LblHost + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPRemoteCall + + + 4 + + + NoControl + + + 307, 36 + + + 50, 23 + + + 3 + + + 查询 + + + BtnQueryServerStatus + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPRemoteCall + + + 3 + + + 71, 22 + + + 126, 23 + + + 8 + + + NUDRemotePlayerId + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + + 6 + + + True + + + 35, 24 + + + 30, 17 + + + 7 + + + UID + + + LblRemotePlayerId + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + + 3 + + + True + + + 37, 28 + + + 56, 17 + + + 13 + + + 游戏版本 + + + LblServerVersionLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 4 + + + True + + + 99, 28 + + + 23, 17 + + + 14 + + + --- + + + LblServerVersion + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 2 + + + True + + + 25, 45 + + + 68, 17 + + + 15 + + + 当前玩家数 + + + LblPlayerCountLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 5 + + + True + + + 99, 45 + + + 23, 17 + + + 16 + + + --- + + + LblPlayerCount + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 3 + + + LnkOpenCommandLabel + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 0 + + + LblOpenCommandSupport + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 1 + + + LblServerVersion + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 2 + + + LblPlayerCount + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 3 + + + LblServerVersionLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 4 + + + LblPlayerCountLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 5 + + + 363, 36 + + + 200, 100 + + + 4 + + + 服务器状态 + + + GrpServerStatus + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TPRemoteCall + + + 0 + + + True + + + 99, 62 + + + 23, 17 + + + 18 + + + --- + + + LblOpenCommandSupport + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 1 + + + True + + + 13, 62 + + + 80, 17 + + + 5 + + + 远程执行插件 + + + LnkOpenCommandLabel + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpServerStatus + + + 0 + + + True + + + NoControl + + + 21, 53 + + + 44, 17 + + + 10 + + + 验证码 + + + LblVerificationCode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + + 5 + + + False + + + 71, 51 + + + 126, 23 + + + 11 + + + NUDVerificationCode + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + + 4 + + + 203, 51 + + + 100, 23 + + + 12 + + + 发送验证码 + + + BtnSendVerificationCode + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + + 2 + + + False + + + 106, 91 + + + 100, 23 + + + 13 + + + 连接 + + + BtnConnectOpenCommand + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpRemoteCommand + + + 1 + True @@ -4909,13 +5761,13 @@ NoControl - 254, 23 + 203, 24 32, 17 - 2 + 9 帮助 @@ -4932,138 +5784,9 @@ 0 - - True - - - NoControl - - - 7, 23 - - - 44, 17 - - - 0 - - - 会话键 - - - LblSessionKey - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpRemoteCommand - - - 1 - - - 57, 20 - - - 182, 23 - - - 1 - - - TxtSessionKey - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpRemoteCommand - - - 2 - - - 57, 49 - - - 182, 23 - - - 4 - - - https://127.0.0.1 - - - TxtHost - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpRemoteCommand - - - 3 - - - True - - - NoControl - - - 7, 52 - - - 44, 17 - - - 3 - - - 服务器 - - - LblHost - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpRemoteCommand - - - 4 - - - NoControl - - - 245, 49 - - - 50, 23 - - - 5 - - - 测试 - - - BtnPingHost - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpRemoteCommand - - - 5 - + + 17, 17 + True @@ -5088,6 +5811,12 @@ 割草机工具箱 + + TTip + + + System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + FormMain diff --git a/Source/GrasscutterTools/GrasscutterTools.csproj b/Source/GrasscutterTools/GrasscutterTools.csproj index 6a500b0..9513e19 100644 --- a/Source/GrasscutterTools/GrasscutterTools.csproj +++ b/Source/GrasscutterTools/GrasscutterTools.csproj @@ -192,6 +192,8 @@ + + Form @@ -217,10 +219,11 @@ - + + FormGachaBannerEditor.cs diff --git a/Source/GrasscutterTools/MojoConsole/MojoConsole.cs b/Source/GrasscutterTools/MojoConsole/MojoConsole.cs deleted file mode 100644 index f8cdb1c..0000000 --- a/Source/GrasscutterTools/MojoConsole/MojoConsole.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.Net.Http; -using System.Text; -using System.Threading.Tasks; - -using Newtonsoft.Json; - -namespace GrasscutterTools.MojoConsole -{ - internal class MojoConsole - { - static readonly HttpClient httpClient = new HttpClient(); - - public string Host { get; set; } - - private string API => Host + "/mojoplus/api"; - - public string Key { get; set; } - - public async Task Invoke(string payload) - { - var response = await DoRequest(new Request(Key, "invoke", payload)); - if (response.Code == 500) - throw new InvokeException(response.Payload); - return response.Payload; - } - - public async Task Ping() - { - try - { - var response = await DoRequest(new Request(Key, "ping")); - return response?.Code == 200; - } - catch (Exception) - { - return false; - } - } - - private async Task DoRequest(Request request) - { - var content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); - var response = await httpClient.PostAsync(API, content); - var responseString = await response.Content.ReadAsStringAsync(); - return JsonConvert.DeserializeObject(responseString); - } - - public class Request - { - public Request(string k, string method, string payload = "") - { - K = k; - Method = method; - Payload = payload; - } - - [JsonProperty("k")] - public string K { get; set; } - - [JsonProperty("request")] - public string Method { get; set; } - - [JsonProperty("payload")] - public string Payload { get; set; } - } - - public class Response - { - [JsonProperty("message")] - public string Message { get; set; } - - [JsonProperty("code")] - public int Code { get; set; } - - - [JsonProperty("payload")] - public string Payload { get; set; } - } - - - internal class InvokeException : Exception - { - public InvokeException(string message) : base(message) - { - } - } - } -} diff --git a/Source/GrasscutterTools/OpenCommand/OpenCommandAPI.cs b/Source/GrasscutterTools/OpenCommand/OpenCommandAPI.cs new file mode 100644 index 0000000..ae2cae3 --- /dev/null +++ b/Source/GrasscutterTools/OpenCommand/OpenCommandAPI.cs @@ -0,0 +1,105 @@ +using System; +using System.Threading.Tasks; + +using GrasscutterTools.Utils; + +using Newtonsoft.Json; + +namespace GrasscutterTools.OpenCommand +{ + public class OpenCommandAPI + { + public OpenCommandAPI(string host) + { + Host = host; + } + + public string Host { get; } + + private string API => Host + "/opencommand/api"; + + public string Token { get; set; } + + public bool CanInvoke { get; private set; } + + public async Task Ping() + { + try + { + var response = await DoRequest("ping"); + return response.RetCode == 200; + } + catch (Exception) + { + return false; + } + } + + public async Task SendCode(int playerId) + { + var response = await DoRequest("sendCode", playerId); + Token = response.Data as string; + } + + public async Task Verify(int code) + { + await DoRequest("verify", code); + CanInvoke = true; + } + + public async Task Invoke(string command) + { + var response = await DoRequest("command", command); + return response.Data as string; + } + + private async Task DoRequest(string action, object data = null) + { + var response = await HttpHelper.PostAsync(API, new Request(Token, action, data)); + if (response.RetCode == 401) + Token = ""; + if (response.RetCode != 200) + throw new InvokeException(response.Message); + return response; + } + + public class Request + { + public Request(string token, string action, object data) + { + Token = token; + Action = action; + Data = data; + } + + [JsonProperty("token")] + public string Token { get; set; } + + [JsonProperty("action")] + public string Action { get; set; } + + [JsonProperty("data")] + public object Data { get; set; } + } + + public class Response + { + [JsonProperty("retcode")] + public int RetCode { get; set; } + + [JsonProperty("message")] + public string Message { get; set; } + + [JsonProperty("data")] + public object Data { get; set; } + } + + + internal class InvokeException : Exception + { + public InvokeException(string message) : base(message) + { + } + } + } +} diff --git a/Source/GrasscutterTools/Properties/AssemblyInfo.cs b/Source/GrasscutterTools/Properties/AssemblyInfo.cs index a810c54..8f028df 100644 --- a/Source/GrasscutterTools/Properties/AssemblyInfo.cs +++ b/Source/GrasscutterTools/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //通过使用 "*",如下所示: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.10.0")] +[assembly: AssemblyVersion("1.0.0")] [assembly: AssemblyFileVersion("1.0.0")] diff --git a/Source/GrasscutterTools/Properties/Settings.Designer.cs b/Source/GrasscutterTools/Properties/Settings.Designer.cs index 561465d..7975ccd 100644 --- a/Source/GrasscutterTools/Properties/Settings.Designer.cs +++ b/Source/GrasscutterTools/Properties/Settings.Designer.cs @@ -82,5 +82,29 @@ namespace GrasscutterTools.Properties { this["TextMapFileName"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("10001")] + public decimal RemoteUid { + get { + return ((decimal)(this["RemoteUid"])); + } + set { + this["RemoteUid"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("https://127.0.0.1")] + public string Host { + get { + return ((string)(this["Host"])); + } + set { + this["Host"] = value; + } + } } } diff --git a/Source/GrasscutterTools/Properties/Settings.settings b/Source/GrasscutterTools/Properties/Settings.settings index df07cb4..8e20a25 100644 --- a/Source/GrasscutterTools/Properties/Settings.settings +++ b/Source/GrasscutterTools/Properties/Settings.settings @@ -17,5 +17,11 @@ TextMapCHS + + 10001 + + + https://127.0.0.1 + \ No newline at end of file diff --git a/Source/GrasscutterTools/Utils/HttpHelper.cs b/Source/GrasscutterTools/Utils/HttpHelper.cs new file mode 100644 index 0000000..b5fc7db --- /dev/null +++ b/Source/GrasscutterTools/Utils/HttpHelper.cs @@ -0,0 +1,53 @@ +using System; +using System.Net; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; + +using Newtonsoft.Json; + +namespace GrasscutterTools.Utils +{ + public static class HttpHelper + { + static readonly HttpClient httpClient = new HttpClient(); + + static HttpHelper() + { + ServicePointManager.ServerCertificateValidationCallback = (_, _1, _2, _3) => true; + } + + public static async Task GetAsync(string url) + { + try + { + var responseMessage = await httpClient.GetAsync(url); + var responseString = await responseMessage.Content.ReadAsStringAsync(); + return JsonConvert.DeserializeObject(responseString); + } + catch (Exception ex) + { + if (ex.InnerException != null) + throw ex.InnerException; + throw; + } + } + + public static async Task PostAsync(string url, object obj) + { + try + { + var content = new StringContent(JsonConvert.SerializeObject(obj), Encoding.UTF8, "application/json"); + var responseMessage = await httpClient.PostAsync(url, content); + var responseString = await responseMessage.Content.ReadAsStringAsync(); + return JsonConvert.DeserializeObject(responseString); + } + catch (Exception ex) + { + if (ex.InnerException != null) + throw ex.InnerException; + throw; + } + } + } +}