diff --git a/Source/GrasscutterTools/App.config b/Source/GrasscutterTools/App.config index 2ded400..193aecc 100644 --- a/Source/GrasscutterTools/App.config +++ b/Source/GrasscutterTools/App.config @@ -1,48 +1,6 @@ - + - - -
- - - - - - - - - False - - - 10001 - - - - - - - - - TextMapCHS - - - 10001 - - - https://127.0.0.1 - - - - - - - - - - - - False - - - + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/App.xaml b/Source/GrasscutterTools/App.xaml new file mode 100644 index 0000000..a4fddf9 --- /dev/null +++ b/Source/GrasscutterTools/App.xaml @@ -0,0 +1,15 @@ + + + + + + + + + + diff --git a/Source/GrasscutterTools/App.xaml.cs b/Source/GrasscutterTools/App.xaml.cs new file mode 100644 index 0000000..3566755 --- /dev/null +++ b/Source/GrasscutterTools/App.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace GrasscutterTools +{ + /// + /// App.xaml 的交互逻辑 + /// + public partial class App : Application + { + } +} diff --git a/Source/GrasscutterTools/Controls/TextBoxXP.cs b/Source/GrasscutterTools/Controls/TextBoxXP.cs deleted file mode 100644 index 0f72617..0000000 --- a/Source/GrasscutterTools/Controls/TextBoxXP.cs +++ /dev/null @@ -1,186 +0,0 @@ -using System; -using System.ComponentModel; -using System.Runtime.InteropServices; -using System.Windows.Forms; - - -namespace GrasscutterTools.Controls -{ - [ToolboxItem(true)] - public class TextBoxXP : TextBox - { - - /// - /// 获得当前进程,以便重绘控件 - /// - /// - /// - [DllImport("user32.dll")] - private static extern IntPtr GetWindowDC(IntPtr hWnd); - - [DllImport("user32.dll")] - private static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC); - - private const int EM_SETCUEBANNER = 0x1501; - - [DllImport("user32.dll", CharSet = CharSet.Auto)] - private static extern Int32 SendMessage - (IntPtr hWnd, int msg, int wParam, [MarshalAs(UnmanagedType.LPWStr)] string lParam); - - /// - /// 水印文本 - /// - private string _Watermark = ""; - - private float maximum; - private float minimum; - - #region 属性 - - /// - /// 是否启用热点效果 - /// - [Category("外观")] - [Browsable(true)] - [Localizable(true)] - [Description("获取或设置输入框水印文本")] - [DefaultValue("")] - public string Watermark - { - get - { - return this._Watermark; - } - set - { - this._Watermark = value; - SendMessage(Handle, EM_SETCUEBANNER, 0, _Watermark); - this.Invalidate(); - } - } - - /// - /// 是否只能输入数字 - /// - [Category("行为")] - [Browsable(true)] - [Description("获取或设置TextBox是否只允许输入数字")] - [DefaultValue(false)] - public bool DigitOnly { get; set; } - - /// - /// 转为数值 - /// - public float Number - { - get - { - if (float.TryParse(Text, out float value)) - return value; - else - return 0f; - } - } - - [Category("数据")] - [Browsable(true)] - [DefaultValue(0)] - [Description("指示小数点后位数")] - public int DecimalPlaces { get; set; } - - [Category("数据")] - [Description("获取或设置限制的最大值")] - public float Maximum - { - get - { - return maximum; - } - set - { - maximum = value; - if (minimum > maximum) - { - minimum = maximum; - } - } - } - - [Category("数据")] - [Browsable(true)] - [Description("获取或设置限制的最小值")] - public float Minimum - { - get - { - return minimum; - } - set - { - minimum = value; - if (minimum > maximum) - { - maximum = value; - } - } - } - - #endregion 属性 - - /// - /// - /// - public TextBoxXP() - : base() - { - //BorderStyle = BorderStyle.FixedSingle; - //Font = Styles.StaticResources.DefaultFont; - } - - protected override void OnKeyPress(KeyPressEventArgs e) - { - base.OnKeyPress(e); - // 如果只允许输入数字,则判断输入是否为退格或者数字 - if (DigitOnly) - { - //IsNumber:指定字符串中位于指定位置的字符是否属于数字类别 - //IsPunctuation:指定字符串中位于指定位置的字符是否属于标点符号类别 - //IsControl:指定字符串中位于指定位置的字符是否属于控制字符类别 - if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar)) - { - e.Handled = true; //获取或设置一个值,指示是否处理过System.Windows.Forms.Control.KeyPress事件 - } - else if (Char.IsPunctuation(e.KeyChar) && DecimalPlaces > 0) - { - if (e.KeyChar == '.') - { - if (Text.LastIndexOf('.') != -1) - { - e.Handled = true; - } - } - else - { - e.Handled = true; - } - } - } - } - - protected override void OnLeave(EventArgs e) - { - base.OnLeave(e); - - if (DigitOnly) - { - if (!string.IsNullOrWhiteSpace(Text)) - { - if (Number > Maximum) - Text = Maximum.ToString("F" + DecimalPlaces); - if (Number < Minimum) - Text = Minimum.ToString("F" + DecimalPlaces); - } - } - } - } -} diff --git a/Source/GrasscutterTools/Events/CommandGeneratedEventArgs.cs b/Source/GrasscutterTools/Events/CommandGeneratedEventArgs.cs new file mode 100644 index 0000000..024ac75 --- /dev/null +++ b/Source/GrasscutterTools/Events/CommandGeneratedEventArgs.cs @@ -0,0 +1,14 @@ +using System; + +namespace GrasscutterTools.Events +{ + public class CommandGeneratedEventArgs : EventArgs + { + public CommandGeneratedEventArgs(string command = "") + { + Command = command; + } + + public string Command { get; set; } + } +} diff --git a/Source/GrasscutterTools/Events/ListChangedEventArgs.cs b/Source/GrasscutterTools/Events/ListChangedEventArgs.cs new file mode 100644 index 0000000..0dc9dc7 --- /dev/null +++ b/Source/GrasscutterTools/Events/ListChangedEventArgs.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; + +namespace GrasscutterTools.Events +{ + public class ListChangedEventArgs : EventArgs + { + public IEnumerable List { get; set; } + } +} diff --git a/Source/GrasscutterTools/FodyWeavers.xml b/Source/GrasscutterTools/FodyWeavers.xml deleted file mode 100644 index a5dcf04..0000000 --- a/Source/GrasscutterTools/FodyWeavers.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor.Designer.cs b/Source/GrasscutterTools/Forms/FormGachaBannerEditor.Designer.cs deleted file mode 100644 index 2dc17f4..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor.Designer.cs +++ /dev/null @@ -1,579 +0,0 @@ - -namespace GrasscutterTools.Forms -{ - partial class FormGachaBannerEditor - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormGachaBannerEditor)); - this.GrpBannerValues = new System.Windows.Forms.GroupBox(); - this.CmbPrefab = new System.Windows.Forms.ComboBox(); - this.LblEventChanceTip = new System.Windows.Forms.Label(); - this.NUDEventChance = new System.Windows.Forms.NumericUpDown(); - this.LblGachaType = new System.Windows.Forms.Label(); - this.LblEventChance = new System.Windows.Forms.Label(); - this.NUDBaseYellowWeight = new System.Windows.Forms.NumericUpDown(); - this.LblSortId = new System.Windows.Forms.Label(); - this.TxtRateUpItems2 = new System.Windows.Forms.TextBox(); - this.LblBaseYellowWeight = new System.Windows.Forms.Label(); - this.NUDGachaType = new System.Windows.Forms.NumericUpDown(); - this.NUDSortId = new System.Windows.Forms.NumericUpDown(); - this.LblRateUpItems2 = new System.Windows.Forms.Label(); - this.LblSoftPity = new System.Windows.Forms.Label(); - this.LblGachaTypeTip = new System.Windows.Forms.Label(); - this.LblEndTime = new System.Windows.Forms.Label(); - this.LblRateUpItems1 = new System.Windows.Forms.Label(); - this.NUDSoftPity = new System.Windows.Forms.NumericUpDown(); - this.LblScheduleId = new System.Windows.Forms.Label(); - this.LblBeginTime = new System.Windows.Forms.Label(); - this.TxtRateUpItems1 = new System.Windows.Forms.TextBox(); - this.LblHardPity = new System.Windows.Forms.Label(); - this.NUDScheduleId = new System.Windows.Forms.NumericUpDown(); - this.NUDEndTime = new System.Windows.Forms.NumericUpDown(); - this.LblHardPityTip = new System.Windows.Forms.Label(); - this.NUDHardPity = new System.Windows.Forms.NumericUpDown(); - this.LblScheduleIdTip = new System.Windows.Forms.Label(); - this.NUDBeginTime = new System.Windows.Forms.NumericUpDown(); - this.LblSoftPityTip = new System.Windows.Forms.Label(); - this.LblBasePurpleWeight = new System.Windows.Forms.Label(); - this.CmbBannerType = new System.Windows.Forms.ComboBox(); - this.LblSortIdTip = new System.Windows.Forms.Label(); - this.NUDBasePurpleWeight = new System.Windows.Forms.NumericUpDown(); - this.LblBannerType = new System.Windows.Forms.Label(); - this.LblBasePurpleWeightTip = new System.Windows.Forms.Label(); - this.RbCostItem224 = new System.Windows.Forms.RadioButton(); - this.LblBaseYellowWeightTip = new System.Windows.Forms.Label(); - this.LblCostItem = new System.Windows.Forms.Label(); - this.LblPrefabPath = new System.Windows.Forms.Label(); - this.RbCostItem223 = new System.Windows.Forms.RadioButton(); - this.GrpPurplePool = new System.Windows.Forms.GroupBox(); - this.ListPurplePool = new System.Windows.Forms.CheckedListBox(); - this.GrpYellowPool = new System.Windows.Forms.GroupBox(); - this.ListYellowPool = new System.Windows.Forms.CheckedListBox(); - this.GrpJson = new System.Windows.Forms.GroupBox(); - this.BtnGen = new System.Windows.Forms.Button(); - this.TxtJson = new System.Windows.Forms.TextBox(); - this.BtnParse = new System.Windows.Forms.Button(); - this.GrpBannerValues.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBaseYellowWeight)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDGachaType)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDSortId)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDSoftPity)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEndTime)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDHardPity)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBeginTime)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBasePurpleWeight)).BeginInit(); - this.GrpPurplePool.SuspendLayout(); - this.GrpYellowPool.SuspendLayout(); - this.GrpJson.SuspendLayout(); - this.SuspendLayout(); - // - // GrpBannerValues - // - resources.ApplyResources(this.GrpBannerValues, "GrpBannerValues"); - this.GrpBannerValues.Controls.Add(this.CmbPrefab); - this.GrpBannerValues.Controls.Add(this.LblEventChanceTip); - this.GrpBannerValues.Controls.Add(this.NUDEventChance); - this.GrpBannerValues.Controls.Add(this.LblGachaType); - this.GrpBannerValues.Controls.Add(this.LblEventChance); - this.GrpBannerValues.Controls.Add(this.NUDBaseYellowWeight); - this.GrpBannerValues.Controls.Add(this.LblSortId); - this.GrpBannerValues.Controls.Add(this.TxtRateUpItems2); - this.GrpBannerValues.Controls.Add(this.LblBaseYellowWeight); - this.GrpBannerValues.Controls.Add(this.NUDGachaType); - this.GrpBannerValues.Controls.Add(this.NUDSortId); - this.GrpBannerValues.Controls.Add(this.LblRateUpItems2); - this.GrpBannerValues.Controls.Add(this.LblSoftPity); - this.GrpBannerValues.Controls.Add(this.LblGachaTypeTip); - this.GrpBannerValues.Controls.Add(this.LblEndTime); - this.GrpBannerValues.Controls.Add(this.LblRateUpItems1); - this.GrpBannerValues.Controls.Add(this.NUDSoftPity); - this.GrpBannerValues.Controls.Add(this.LblScheduleId); - this.GrpBannerValues.Controls.Add(this.LblBeginTime); - this.GrpBannerValues.Controls.Add(this.TxtRateUpItems1); - this.GrpBannerValues.Controls.Add(this.LblHardPity); - this.GrpBannerValues.Controls.Add(this.NUDScheduleId); - this.GrpBannerValues.Controls.Add(this.NUDEndTime); - this.GrpBannerValues.Controls.Add(this.LblHardPityTip); - this.GrpBannerValues.Controls.Add(this.NUDHardPity); - this.GrpBannerValues.Controls.Add(this.LblScheduleIdTip); - this.GrpBannerValues.Controls.Add(this.NUDBeginTime); - this.GrpBannerValues.Controls.Add(this.LblSoftPityTip); - this.GrpBannerValues.Controls.Add(this.LblBasePurpleWeight); - this.GrpBannerValues.Controls.Add(this.CmbBannerType); - this.GrpBannerValues.Controls.Add(this.LblSortIdTip); - this.GrpBannerValues.Controls.Add(this.NUDBasePurpleWeight); - this.GrpBannerValues.Controls.Add(this.LblBannerType); - this.GrpBannerValues.Controls.Add(this.LblBasePurpleWeightTip); - this.GrpBannerValues.Controls.Add(this.RbCostItem224); - this.GrpBannerValues.Controls.Add(this.LblBaseYellowWeightTip); - this.GrpBannerValues.Controls.Add(this.LblCostItem); - this.GrpBannerValues.Controls.Add(this.LblPrefabPath); - this.GrpBannerValues.Controls.Add(this.RbCostItem223); - this.GrpBannerValues.Name = "GrpBannerValues"; - this.GrpBannerValues.TabStop = false; - // - // CmbPrefab - // - this.CmbPrefab.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbPrefab.FormattingEnabled = true; - resources.ApplyResources(this.CmbPrefab, "CmbPrefab"); - this.CmbPrefab.Name = "CmbPrefab"; - // - // LblEventChanceTip - // - resources.ApplyResources(this.LblEventChanceTip, "LblEventChanceTip"); - this.LblEventChanceTip.Name = "LblEventChanceTip"; - // - // NUDEventChance - // - resources.ApplyResources(this.NUDEventChance, "NUDEventChance"); - this.NUDEventChance.Name = "NUDEventChance"; - this.NUDEventChance.Value = new decimal(new int[] { - 50, - 0, - 0, - 0}); - // - // LblGachaType - // - resources.ApplyResources(this.LblGachaType, "LblGachaType"); - this.LblGachaType.Name = "LblGachaType"; - // - // LblEventChance - // - resources.ApplyResources(this.LblEventChance, "LblEventChance"); - this.LblEventChance.Name = "LblEventChance"; - // - // NUDBaseYellowWeight - // - this.NUDBaseYellowWeight.DecimalPlaces = 2; - resources.ApplyResources(this.NUDBaseYellowWeight, "NUDBaseYellowWeight"); - this.NUDBaseYellowWeight.Name = "NUDBaseYellowWeight"; - this.NUDBaseYellowWeight.Value = new decimal(new int[] { - 6, - 0, - 0, - 65536}); - // - // LblSortId - // - resources.ApplyResources(this.LblSortId, "LblSortId"); - this.LblSortId.Name = "LblSortId"; - // - // TxtRateUpItems2 - // - this.TxtRateUpItems2.BackColor = System.Drawing.Color.White; - resources.ApplyResources(this.TxtRateUpItems2, "TxtRateUpItems2"); - this.TxtRateUpItems2.Name = "TxtRateUpItems2"; - this.TxtRateUpItems2.ReadOnly = true; - // - // LblBaseYellowWeight - // - resources.ApplyResources(this.LblBaseYellowWeight, "LblBaseYellowWeight"); - this.LblBaseYellowWeight.Name = "LblBaseYellowWeight"; - // - // NUDGachaType - // - resources.ApplyResources(this.NUDGachaType, "NUDGachaType"); - this.NUDGachaType.Maximum = new decimal(new int[] { - 10000, - 0, - 0, - 0}); - this.NUDGachaType.Name = "NUDGachaType"; - this.NUDGachaType.Value = new decimal(new int[] { - 400, - 0, - 0, - 0}); - // - // NUDSortId - // - resources.ApplyResources(this.NUDSortId, "NUDSortId"); - this.NUDSortId.Maximum = new decimal(new int[] { - 9999, - 0, - 0, - 0}); - this.NUDSortId.Minimum = new decimal(new int[] { - 1000, - 0, - 0, - 0}); - this.NUDSortId.Name = "NUDSortId"; - this.NUDSortId.Value = new decimal(new int[] { - 1000, - 0, - 0, - 0}); - // - // LblRateUpItems2 - // - resources.ApplyResources(this.LblRateUpItems2, "LblRateUpItems2"); - this.LblRateUpItems2.Name = "LblRateUpItems2"; - // - // LblSoftPity - // - resources.ApplyResources(this.LblSoftPity, "LblSoftPity"); - this.LblSoftPity.Name = "LblSoftPity"; - // - // LblGachaTypeTip - // - resources.ApplyResources(this.LblGachaTypeTip, "LblGachaTypeTip"); - this.LblGachaTypeTip.Name = "LblGachaTypeTip"; - // - // LblEndTime - // - resources.ApplyResources(this.LblEndTime, "LblEndTime"); - this.LblEndTime.Name = "LblEndTime"; - // - // LblRateUpItems1 - // - resources.ApplyResources(this.LblRateUpItems1, "LblRateUpItems1"); - this.LblRateUpItems1.Name = "LblRateUpItems1"; - // - // NUDSoftPity - // - resources.ApplyResources(this.NUDSoftPity, "NUDSoftPity"); - this.NUDSoftPity.Maximum = new decimal(new int[] { - 100000, - 0, - 0, - 0}); - this.NUDSoftPity.Name = "NUDSoftPity"; - this.NUDSoftPity.Value = new decimal(new int[] { - 75, - 0, - 0, - 0}); - // - // LblScheduleId - // - resources.ApplyResources(this.LblScheduleId, "LblScheduleId"); - this.LblScheduleId.Name = "LblScheduleId"; - // - // LblBeginTime - // - resources.ApplyResources(this.LblBeginTime, "LblBeginTime"); - this.LblBeginTime.Name = "LblBeginTime"; - // - // TxtRateUpItems1 - // - this.TxtRateUpItems1.BackColor = System.Drawing.Color.White; - resources.ApplyResources(this.TxtRateUpItems1, "TxtRateUpItems1"); - this.TxtRateUpItems1.Name = "TxtRateUpItems1"; - this.TxtRateUpItems1.ReadOnly = true; - // - // LblHardPity - // - resources.ApplyResources(this.LblHardPity, "LblHardPity"); - this.LblHardPity.Name = "LblHardPity"; - // - // NUDScheduleId - // - resources.ApplyResources(this.NUDScheduleId, "NUDScheduleId"); - this.NUDScheduleId.Maximum = new decimal(new int[] { - 10000, - 0, - 0, - 0}); - this.NUDScheduleId.Name = "NUDScheduleId"; - this.NUDScheduleId.Value = new decimal(new int[] { - 800, - 0, - 0, - 0}); - // - // NUDEndTime - // - resources.ApplyResources(this.NUDEndTime, "NUDEndTime"); - this.NUDEndTime.Maximum = new decimal(new int[] { - 1924992000, - 0, - 0, - 0}); - this.NUDEndTime.Name = "NUDEndTime"; - this.NUDEndTime.Value = new decimal(new int[] { - 1924992000, - 0, - 0, - 0}); - // - // LblHardPityTip - // - resources.ApplyResources(this.LblHardPityTip, "LblHardPityTip"); - this.LblHardPityTip.Name = "LblHardPityTip"; - // - // NUDHardPity - // - resources.ApplyResources(this.NUDHardPity, "NUDHardPity"); - this.NUDHardPity.Maximum = new decimal(new int[] { - 100000, - 0, - 0, - 0}); - this.NUDHardPity.Name = "NUDHardPity"; - this.NUDHardPity.Value = new decimal(new int[] { - 90, - 0, - 0, - 0}); - // - // LblScheduleIdTip - // - resources.ApplyResources(this.LblScheduleIdTip, "LblScheduleIdTip"); - this.LblScheduleIdTip.Name = "LblScheduleIdTip"; - // - // NUDBeginTime - // - resources.ApplyResources(this.NUDBeginTime, "NUDBeginTime"); - this.NUDBeginTime.Maximum = new decimal(new int[] { - 1924992000, - 0, - 0, - 0}); - this.NUDBeginTime.Name = "NUDBeginTime"; - // - // LblSoftPityTip - // - resources.ApplyResources(this.LblSoftPityTip, "LblSoftPityTip"); - this.LblSoftPityTip.Name = "LblSoftPityTip"; - // - // LblBasePurpleWeight - // - resources.ApplyResources(this.LblBasePurpleWeight, "LblBasePurpleWeight"); - this.LblBasePurpleWeight.Name = "LblBasePurpleWeight"; - // - // CmbBannerType - // - this.CmbBannerType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbBannerType.FormattingEnabled = true; - this.CmbBannerType.Items.AddRange(new object[] { - resources.GetString("CmbBannerType.Items"), - resources.GetString("CmbBannerType.Items1"), - resources.GetString("CmbBannerType.Items2")}); - resources.ApplyResources(this.CmbBannerType, "CmbBannerType"); - this.CmbBannerType.Name = "CmbBannerType"; - // - // LblSortIdTip - // - resources.ApplyResources(this.LblSortIdTip, "LblSortIdTip"); - this.LblSortIdTip.Name = "LblSortIdTip"; - // - // NUDBasePurpleWeight - // - this.NUDBasePurpleWeight.DecimalPlaces = 2; - resources.ApplyResources(this.NUDBasePurpleWeight, "NUDBasePurpleWeight"); - this.NUDBasePurpleWeight.Name = "NUDBasePurpleWeight"; - this.NUDBasePurpleWeight.Value = new decimal(new int[] { - 51, - 0, - 0, - 65536}); - // - // LblBannerType - // - resources.ApplyResources(this.LblBannerType, "LblBannerType"); - this.LblBannerType.Name = "LblBannerType"; - // - // LblBasePurpleWeightTip - // - resources.ApplyResources(this.LblBasePurpleWeightTip, "LblBasePurpleWeightTip"); - this.LblBasePurpleWeightTip.Name = "LblBasePurpleWeightTip"; - // - // RbCostItem224 - // - resources.ApplyResources(this.RbCostItem224, "RbCostItem224"); - this.RbCostItem224.Checked = true; - this.RbCostItem224.Name = "RbCostItem224"; - this.RbCostItem224.TabStop = true; - this.RbCostItem224.UseVisualStyleBackColor = true; - // - // LblBaseYellowWeightTip - // - resources.ApplyResources(this.LblBaseYellowWeightTip, "LblBaseYellowWeightTip"); - this.LblBaseYellowWeightTip.Name = "LblBaseYellowWeightTip"; - // - // LblCostItem - // - resources.ApplyResources(this.LblCostItem, "LblCostItem"); - this.LblCostItem.Name = "LblCostItem"; - // - // LblPrefabPath - // - resources.ApplyResources(this.LblPrefabPath, "LblPrefabPath"); - this.LblPrefabPath.Name = "LblPrefabPath"; - // - // RbCostItem223 - // - resources.ApplyResources(this.RbCostItem223, "RbCostItem223"); - this.RbCostItem223.Name = "RbCostItem223"; - this.RbCostItem223.TabStop = true; - this.RbCostItem223.UseVisualStyleBackColor = true; - // - // GrpPurplePool - // - resources.ApplyResources(this.GrpPurplePool, "GrpPurplePool"); - this.GrpPurplePool.Controls.Add(this.ListPurplePool); - this.GrpPurplePool.Name = "GrpPurplePool"; - this.GrpPurplePool.TabStop = false; - // - // ListPurplePool - // - this.ListPurplePool.CheckOnClick = true; - resources.ApplyResources(this.ListPurplePool, "ListPurplePool"); - this.ListPurplePool.FormattingEnabled = true; - this.ListPurplePool.Name = "ListPurplePool"; - this.ListPurplePool.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.ListPurplePool_ItemCheck); - // - // GrpYellowPool - // - resources.ApplyResources(this.GrpYellowPool, "GrpYellowPool"); - this.GrpYellowPool.Controls.Add(this.ListYellowPool); - this.GrpYellowPool.Name = "GrpYellowPool"; - this.GrpYellowPool.TabStop = false; - // - // ListYellowPool - // - this.ListYellowPool.CheckOnClick = true; - resources.ApplyResources(this.ListYellowPool, "ListYellowPool"); - this.ListYellowPool.FormattingEnabled = true; - this.ListYellowPool.Name = "ListYellowPool"; - this.ListYellowPool.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.ListYellowPool_ItemCheck); - // - // GrpJson - // - resources.ApplyResources(this.GrpJson, "GrpJson"); - this.GrpJson.Controls.Add(this.BtnGen); - this.GrpJson.Controls.Add(this.TxtJson); - this.GrpJson.Controls.Add(this.BtnParse); - this.GrpJson.Name = "GrpJson"; - this.GrpJson.TabStop = false; - // - // BtnGen - // - resources.ApplyResources(this.BtnGen, "BtnGen"); - this.BtnGen.Name = "BtnGen"; - this.BtnGen.UseVisualStyleBackColor = true; - this.BtnGen.Click += new System.EventHandler(this.BtnGen_Click); - // - // TxtJson - // - resources.ApplyResources(this.TxtJson, "TxtJson"); - this.TxtJson.Name = "TxtJson"; - // - // BtnParse - // - resources.ApplyResources(this.BtnParse, "BtnParse"); - this.BtnParse.Name = "BtnParse"; - this.BtnParse.UseVisualStyleBackColor = true; - this.BtnParse.Click += new System.EventHandler(this.BtnParse_Click); - // - // FormGachaBannerEditor - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.GrpJson); - this.Controls.Add(this.GrpPurplePool); - this.Controls.Add(this.GrpYellowPool); - this.Controls.Add(this.GrpBannerValues); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Name = "FormGachaBannerEditor"; - this.GrpBannerValues.ResumeLayout(false); - this.GrpBannerValues.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBaseYellowWeight)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDGachaType)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDSortId)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDSoftPity)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEndTime)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDHardPity)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBeginTime)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBasePurpleWeight)).EndInit(); - this.GrpPurplePool.ResumeLayout(false); - this.GrpYellowPool.ResumeLayout(false); - this.GrpJson.ResumeLayout(false); - this.GrpJson.PerformLayout(); - this.ResumeLayout(false); - - } - - #endregion - private System.Windows.Forms.GroupBox GrpBannerValues; - private System.Windows.Forms.Label LblEventChanceTip; - private System.Windows.Forms.NumericUpDown NUDEventChance; - private System.Windows.Forms.Label LblGachaType; - private System.Windows.Forms.Label LblEventChance; - private System.Windows.Forms.NumericUpDown NUDBaseYellowWeight; - private System.Windows.Forms.Label LblSortId; - private System.Windows.Forms.TextBox TxtRateUpItems2; - private System.Windows.Forms.Label LblBaseYellowWeight; - private System.Windows.Forms.NumericUpDown NUDGachaType; - private System.Windows.Forms.NumericUpDown NUDSortId; - private System.Windows.Forms.Label LblRateUpItems2; - private System.Windows.Forms.Label LblSoftPity; - private System.Windows.Forms.Label LblGachaTypeTip; - private System.Windows.Forms.Label LblEndTime; - private System.Windows.Forms.Label LblRateUpItems1; - private System.Windows.Forms.NumericUpDown NUDSoftPity; - private System.Windows.Forms.Label LblScheduleId; - private System.Windows.Forms.Label LblBeginTime; - private System.Windows.Forms.TextBox TxtRateUpItems1; - private System.Windows.Forms.Label LblHardPity; - private System.Windows.Forms.NumericUpDown NUDScheduleId; - private System.Windows.Forms.NumericUpDown NUDEndTime; - private System.Windows.Forms.Label LblHardPityTip; - private System.Windows.Forms.NumericUpDown NUDHardPity; - private System.Windows.Forms.Label LblScheduleIdTip; - private System.Windows.Forms.NumericUpDown NUDBeginTime; - private System.Windows.Forms.Label LblSoftPityTip; - private System.Windows.Forms.Label LblBasePurpleWeight; - private System.Windows.Forms.ComboBox CmbBannerType; - private System.Windows.Forms.Label LblSortIdTip; - private System.Windows.Forms.NumericUpDown NUDBasePurpleWeight; - private System.Windows.Forms.Label LblBannerType; - private System.Windows.Forms.Label LblBasePurpleWeightTip; - private System.Windows.Forms.RadioButton RbCostItem224; - private System.Windows.Forms.Label LblBaseYellowWeightTip; - private System.Windows.Forms.Label LblCostItem; - private System.Windows.Forms.Label LblPrefabPath; - private System.Windows.Forms.RadioButton RbCostItem223; - private System.Windows.Forms.GroupBox GrpPurplePool; - private System.Windows.Forms.CheckedListBox ListPurplePool; - private System.Windows.Forms.GroupBox GrpYellowPool; - private System.Windows.Forms.CheckedListBox ListYellowPool; - private System.Windows.Forms.GroupBox GrpJson; - private System.Windows.Forms.TextBox TxtJson; - private System.Windows.Forms.Button BtnGen; - private System.Windows.Forms.Button BtnParse; - private System.Windows.Forms.ComboBox CmbPrefab; - } -} \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor.cs b/Source/GrasscutterTools/Forms/FormGachaBannerEditor.cs deleted file mode 100644 index fca8c68..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor.cs +++ /dev/null @@ -1,249 +0,0 @@ -/** - * Grasscutter Tools - * Copyright (C) 2022 jie65535 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - **/ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Windows.Forms; - -using GrasscutterTools.Game; -using GrasscutterTools.Game.Gacha; -using GrasscutterTools.Properties; - -using Newtonsoft.Json; - -namespace GrasscutterTools.Forms -{ - /// - /// 卡池编辑器 - /// - public partial class FormGachaBannerEditor : Form - { - #region - 初始化 - - - public FormGachaBannerEditor() - { - InitializeComponent(); - - Icon = Resources.IconGrasscutter; - CmbBannerType.SelectedIndex = 0; - InitBannerPrefab(); - InitCheckedListBoxs(); - } - - private void InitBannerPrefab() - { - CmbPrefab.Items.Clear(); - CmbPrefab.Items.AddRange(GameData.GachaBannerPrefabs.Names); - } - - private void InitCheckedListBoxs() - { - InitCheckedListBox(ListYellowPool, "yellow"); - InitCheckedListBox(ListPurplePool, "purple"); - } - - private void InitCheckedListBox(CheckedListBox list, string color) - { - var kvs = new List(); - for (int i = 0; i < GameData.AvatarColors.Count; i++) - { - if (GameData.AvatarColors.Names[i] == color) - { - var id = GameData.AvatarColors.Ids[i]; - var index = Array.IndexOf(GameData.Avatars.Ids, id); - if (index >= 0) - kvs.Add($"{id}:{GameData.Avatars.Names[index]}"); - } - } - for (int i = 0; i < GameData.WeaponColors.Count; i++) - { - if (GameData.WeaponColors.Names[i] == color) - { - var id = GameData.WeaponColors.Ids[i]; - var index = Array.IndexOf(GameData.Weapons.Ids, id); - if (index >= 0) - kvs.Add($"{id}:{GameData.Weapons.Names[index]}"); - } - } - list.Items.AddRange(kvs.ToArray()); - } - - private void InitRateUpItems(GachaBanner banner) - { - UpdateCheckedListBox(ListYellowPool, banner.RateUpItems1); - UpdateCheckedListBox(ListPurplePool, banner.RateUpItems2); - } - - #endregion - 初始化 - - - #region - UI - - - private void ShowBanner(GachaBanner banner) - { - try - { - NUDGachaType.Value = banner.GachaType; - NUDScheduleId.Value = banner.ScheduleId; - CmbBannerType.SelectedIndex = (int)banner.BannerType; - if (string.IsNullOrEmpty(banner.TitlePath) || !int.TryParse(banner.TitlePath.Substring("UI_GACHA_SHOW_PANEL_A".Length, 3), out int prefabId)) - CmbPrefab.SelectedIndex = -1; - else - CmbPrefab.SelectedIndex = Array.IndexOf(GameData.GachaBannerPrefabs.Ids, prefabId); - RbCostItem224.Checked = banner.CostItem == 224; - RbCostItem223.Checked = banner.CostItem == 223; - NUDBeginTime.Value = banner.BeginTime; - NUDEndTime.Value = banner.EndTime; - NUDSortId.Value = banner.SortId; - TxtRateUpItems1.Text = string.Join(", ", banner.RateUpItems1); - TxtRateUpItems2.Text = string.Join(", ", banner.RateUpItems2); - NUDBaseYellowWeight.Value = banner.BaseYellowWeight * 0.01M; - NUDBasePurpleWeight.Value = banner.BasePurpleWeight * 0.01M; - NUDEventChance.Value = banner.EventChance; - NUDSoftPity.Value = banner.SoftPity; - NUDHardPity.Value = banner.HardPity; - InitRateUpItems(banner); - } - catch (Exception ex) - { - MessageBox.Show("UI更新失败:" + ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - private GachaBanner ParseBanner() - { - if (CmbBannerType.SelectedIndex < 0) - { - MessageBox.Show("请选择奖池类型", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return null; - } - - if (CmbPrefab.SelectedIndex < 0) - { - MessageBox.Show("请选择奖池预制", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return null; - } - - int[] yellowIds; - if (string.IsNullOrEmpty(TxtRateUpItems1.Text)) - yellowIds = new int[0]; - else - yellowIds = TxtRateUpItems1.Text.Split(',').Select(s => int.Parse(s.Trim())).ToArray(); - - int[] purpleIds; - if (string.IsNullOrEmpty(TxtRateUpItems2.Text)) - purpleIds = new int[0]; - else - purpleIds = TxtRateUpItems2.Text.Split(',').Select(s => int.Parse(s.Trim())).ToArray(); - - var prefabId = GameData.GachaBannerPrefabs.Ids[CmbPrefab.SelectedIndex]; - GachaBanner banner = new GachaBanner - { - GachaType = (int)NUDGachaType.Value, - ScheduleId = (int)NUDScheduleId.Value, - BannerType = (BannerType)CmbBannerType.SelectedIndex, - PrefabPath = $"GachaShowPanel_A{prefabId:000}", - PreviewPrefabPath = $"UI_Tab_GachaShowPanel_A{prefabId:000}", - TitlePath = $"UI_GACHA_SHOW_PANEL_A{prefabId:000}_TITLE", - CostItem = RbCostItem224.Checked ? 224 : 223, - BeginTime = (int)NUDBeginTime.Value, - EndTime = (int)NUDEndTime.Value, - SortId = (int)NUDSortId.Value, - RateUpItems1 = yellowIds, - RateUpItems2 = purpleIds, - BaseYellowWeight = (int)(NUDBaseYellowWeight.Value * 100), - BasePurpleWeight = (int)(NUDBasePurpleWeight.Value * 100), - EventChance = (int)NUDEventChance.Value, - SoftPity = (int)NUDSoftPity.Value, - HardPity = (int)NUDHardPity.Value - }; - return banner; - } - - #endregion - UI - - - #region - 事件 - - - private void UpdateCheckedListBox(CheckedListBox list, int[] checkedIds) - { - for (int i = 0; i < list.Items.Count; i++) - { - if (checkedIds.Length == 0) - list.SetItemChecked(i, false); - else - { - var item = list.Items[i] as string; - var id = int.Parse(item.Substring(0, item.IndexOf(':'))); - list.SetItemChecked(i, Array.IndexOf(checkedIds, id) != -1); - } - } - } - - private void ListYellowPool_ItemCheck(object sender, ItemCheckEventArgs e) - { - BeginInvoke(new Action(() => - UpdateCheckedItems(ListYellowPool, TxtRateUpItems1) - )); - } - - private void ListPurplePool_ItemCheck(object sender, ItemCheckEventArgs e) - { - BeginInvoke(new Action(() => - UpdateCheckedItems(ListPurplePool, TxtRateUpItems2) - )); - } - - private void UpdateCheckedItems(CheckedListBox list, TextBox txt) - { - if (list.CheckedItems.Count == 0) - txt.Text = ""; - else - { - StringBuilder builder = new StringBuilder(); - foreach (string item in list.CheckedItems) - builder.Append(item.Substring(0, item.IndexOf(':'))) - .Append(", "); - txt.Text = builder.ToString(0, builder.Length - 2); - } - } - - private void BtnGen_Click(object sender, EventArgs e) - { - var banner = ParseBanner(); - if (banner != null) - { - TxtJson.Text = JsonConvert.SerializeObject(banner, Formatting.Indented); - } - } - - private void BtnParse_Click(object sender, EventArgs e) - { - try - { - ShowBanner(JsonConvert.DeserializeObject(TxtJson.Text)); - } - catch (Exception ex) - { - MessageBox.Show("Json解析失败,错误消息:" + ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - #endregion - 事件 - - } -} \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor.en-us.resx b/Source/GrasscutterTools/Forms/FormGachaBannerEditor.en-us.resx deleted file mode 100644 index ed1c46e..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor.en-us.resx +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - False - - - - 22, 415 - - - 390, 35 - - - Tip: The latest version of the dev Banner is currently not supported, waiting for PR : ) - - - 401, 262 - - - 332, 260 - - - 83, 17 - - - Event chance - - - 72, 204 - - - Sort - - - 22, 262 - - - 83, 17 - - - 5 star weight - - - 44, 350 - - - 61, 17 - - - 4 star UP - - - 49, 291 - - - 56, 17 - - - Soft pity - - - 123, 17 - - - Increment from 400 - - - 62, 17 - - - End Time - - - 44, 234 - - - 61, 17 - - - 5 star UP - - - 32, 175 - - - 73, 17 - - - Begin Time - - - 42, 320 - - - 62, 17 - - - Hard pity - - - 287, 174 - - - 17, 17 - - - ... - - - 49, 17 - - - Unique - - - 17, 17 - - - ... - - - 22, 378 - - - 83, 17 - - - 4 star weight - - - Standard Wish - - - Character Event Wish - - - Weapon Event Wish - - - 76, 17 - - - Show order - - - 25, 87 - - - 81, 17 - - - Banner Type - - - 104, 21 - - - Acquaint Fate - - - 41, 148 - - - 64, 17 - - - Cost Item - - - 59, 118 - - - 46, 17 - - - Prefab - - - 222, 146 - - - 119, 21 - - - Intertwined Fate - - - Banner - - - 4 star pool - - - 5 star pool - - - 85, 23 - - - Gen Json - - - 209, 437 - - - 85, 23 - - - Parse Json - - - Gacha Banner Editor - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor.resx b/Source/GrasscutterTools/Forms/FormGachaBannerEditor.resx deleted file mode 100644 index ec8122e..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor.resx +++ /dev/null @@ -1,1365 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - Top, Bottom, Left - - - - 112, 115 - - - 300, 25 - - - - 90 - - - CmbPrefab - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 0 - - - True - - - 393, 262 - - - 19, 17 - - - 89 - - - % - - - LblEventChanceTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 1 - - - 324, 260 - - - 63, 23 - - - 68 - - - NUDEventChance - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 2 - - - True - - - 34, 28 - - - 72, 17 - - - 48 - - - GachaType - - - LblGachaType - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 3 - - - True - - - 243, 262 - - - 75, 17 - - - 88 - - - 5星活动爆率 - - - LblEventChance - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 4 - - - 112, 260 - - - 100, 23 - - - 66 - - - NUDBaseYellowWeight - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 5 - - - True - - - 74, 204 - - - 32, 17 - - - 75 - - - 顺序 - - - LblSortId - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 6 - - - 112, 347 - - - 300, 23 - - - 71 - - - TxtRateUpItems2 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 7 - - - True - - - 31, 262 - - - 75, 17 - - - 76 - - - 5星基础爆率 - - - LblBaseYellowWeight - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 8 - - - 112, 26 - - - 100, 23 - - - 47 - - - NUDGachaType - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 9 - - - 112, 202 - - - 100, 23 - - - 64 - - - NUDSortId - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 10 - - - True - - - 31, 350 - - - 75, 17 - - - 87 - - - 4星活动奖池 - - - LblRateUpItems2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 11 - - - True - - - 62, 291 - - - 44, 17 - - - 77 - - - 软保底 - - - LblSoftPity - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 12 - - - True - - - 218, 28 - - - 125, 17 - - - 51 - - - 从400开始,顺序递增 - - - LblGachaTypeTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 13 - - - True - - - 218, 176 - - - 56, 17 - - - 74 - - - 结束时间 - - - LblEndTime - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 14 - - - True - - - 31, 234 - - - 75, 17 - - - 86 - - - 5星活动奖池 - - - LblRateUpItems1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 15 - - - 112, 289 - - - 100, 23 - - - 69 - - - NUDSoftPity - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 16 - - - True - - - 34, 57 - - - 72, 17 - - - 53 - - - ScheduleId - - - LblScheduleId - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 17 - - - True - - - 50, 176 - - - 56, 17 - - - 72 - - - 开始时间 - - - LblBeginTime - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 18 - - - 112, 231 - - - 300, 23 - - - 65 - - - TxtRateUpItems1 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 19 - - - True - - - 62, 320 - - - 44, 17 - - - 78 - - - 硬保底 - - - LblHardPity - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 20 - - - 112, 55 - - - 100, 23 - - - 49 - - - NUDScheduleId - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 21 - - - 280, 174 - - - 100, 23 - - - 62 - - - NUDEndTime - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 22 - - - True - - - 218, 320 - - - 183, 17 - - - 85 - - - 连续非的次数达到该值,必得5星 - - - LblHardPityTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 23 - - - 112, 318 - - - 100, 23 - - - 70 - - - NUDHardPity - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 24 - - - True - - - 218, 57 - - - 69, 17 - - - 56 - - - ID要求唯一 - - - LblScheduleIdTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 25 - - - 112, 173 - - - 100, 23 - - - 60 - - - NUDBeginTime - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 26 - - - True - - - 218, 291 - - - 212, 17 - - - 84 - - - 连续非的次数达到该值,增加抽中概率 - - - LblSoftPityTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 27 - - - True - - - 31, 378 - - - 75, 17 - - - 79 - - - 4星基础爆率 - - - LblBasePurpleWeight - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 28 - - - 常驻池 - - - 限时角色祈愿池 - - - 限时武器祈愿池 - - - 112, 84 - - - 300, 25 - - - 50 - - - CmbBannerType - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 29 - - - True - - - 218, 204 - - - 116, 17 - - - 83 - - - 客户端中显示的顺序 - - - LblSortIdTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 30 - - - 112, 376 - - - 100, 23 - - - 73 - - - NUDBasePurpleWeight - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 31 - - - True - - - 50, 87 - - - 56, 17 - - - 59 - - - 奖池类型 - - - LblBannerType - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 32 - - - True - - - 218, 378 - - - 19, 17 - - - 81 - - - % - - - LblBasePurpleWeightTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 33 - - - True - - - 112, 146 - - - 74, 21 - - - 57 - - - 相遇之缘 - - - RbCostItem224 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 34 - - - True - - - 218, 262 - - - 19, 17 - - - 82 - - - % - - - LblBaseYellowWeightTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 35 - - - True - - - 50, 148 - - - 56, 17 - - - 80 - - - 祈愿道具 - - - LblCostItem - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 36 - - - True - - - 74, 118 - - - 32, 17 - - - 61 - - - 预制 - - - LblPrefabPath - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 37 - - - True - - - 192, 146 - - - 74, 21 - - - 58 - - - 纠缠之缘 - - - RbCostItem223 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 38 - - - 12, 12 - - - 440, 466 - - - 44 - - - 卡池参数 - - - GrpBannerValues - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - - - Top, Bottom, Left, Right - - - Fill - - - 3, 19 - - - 154, 208 - - - 0 - - - ListPurplePool - - - System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPurplePool - - - 0 - - - 458, 248 - - - 160, 230 - - - 50 - - - 4星活动卡池 - - - GrpPurplePool - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 1 - - - Top, Left, Right - - - Fill - - - 3, 19 - - - 154, 208 - - - 0 - - - ListYellowPool - - - System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpYellowPool - - - 0 - - - 458, 12 - - - 160, 230 - - - 49 - - - 5星活动奖池 - - - GrpYellowPool - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 2 - - - Top, Bottom, Right - - - Bottom, Left - - - 6, 437 - - - 75, 23 - - - 53 - - - 生成Json - - - BtnGen - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpJson - - - 0 - - - Top, Bottom, Left, Right - - - 6, 19 - - - True - - - 288, 412 - - - 0 - - - TxtJson - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpJson - - - 1 - - - Bottom, Right - - - 219, 437 - - - 75, 23 - - - 52 - - - 解析Json - - - BtnParse - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpJson - - - 2 - - - 624, 12 - - - 300, 466 - - - 51 - - - Json - - - GrpJson - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 0 - - - True - - - 7, 17 - - - 934, 486 - - - 微软雅黑, 9pt - - - 3, 4, 3, 4 - - - CenterScreen - - - 卡池编辑器 - - - FormGachaBannerEditor - - - System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor.ru-ru.resx b/Source/GrasscutterTools/Forms/FormGachaBannerEditor.ru-ru.resx deleted file mode 100644 index 0de95ce..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor.ru-ru.resx +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - False - - - - 22, 415 - - - 390, 35 - - - Подсказка: последняя версия баннера разрабатывается и в настоящее время не поддерживается, ждем PR : ) - - - 401, 262 - - - 336, 260 - - - 43, 28 - - - 63, 17 - - - Тип Гачи - - - 238, 262 - - - 96, 17 - - - Шанс события - - - 66, 204 - - - 40, 17 - - - Сорт. - - - 13, 262 - - - 93, 17 - - - 5-звездочный - - - 25, 350 - - - 81, 17 - - - 4 зв. UP - - - 27, 291 - - - 79, 17 - - - Софт-гарант - - - 116, 17 - - - Увеличение с 400 - - - 234, 176 - - - 47, 17 - - - Конец - - - 51, 234 - - - 55, 17 - - - 5 зв. UP - - - 8, 57 - - - 98, 17 - - - ID расписания - - - 53, 176 - - - 53, 17 - - - Начало - - - 21, 320 - - - 85, 17 - - - Полный гарант - - - 287, 174 - - - 17, 17 - - - ... - - - 84, 17 - - - Уникальный - - - 17, 17 - - - ... - - - 29, 378 - - - 77, 17 - - - 4-звездочный - - - Стандартная Молитва - - - Молитва события персонажа - - - Молитва события с оружием - - - 101, 17 - - - Показать порядок - - - 18, 87 - - - 88, 17 - - - Тип баннера - - - 116, 21 - - - Судьбоносные - - - 34, 148 - - - 72, 17 - - - Стоимость - - - 47, 118 - - - 59, 17 - - - Готовый - - - 234, 146 - - - 141, 21 - - - Переплетающиеся - - - Баннер - - - 4 звёздочный пул - - - 5 звёздочный пул - - - 85, 23 - - - Сген. Json - - - 209, 437 - - - 85, 23 - - - Загр. Json - - - Редактор баннеров - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.Designer.cs b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.Designer.cs deleted file mode 100644 index 2f47caf..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.Designer.cs +++ /dev/null @@ -1,656 +0,0 @@ - -namespace GrasscutterTools.Forms -{ - partial class FormGachaBannerEditor2 - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormGachaBannerEditor2)); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend(); - System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series(); - System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series(); - this.GrpBannerValues = new System.Windows.Forms.GroupBox(); - this.ChkAutoStripRateUpFromFallback = new System.Windows.Forms.CheckBox(); - this.LblOptions = new System.Windows.Forms.Label(); - this.ChkRemoveC6FormPool = new System.Windows.Forms.CheckBox(); - this.LnkOpenOldEditor = new System.Windows.Forms.LinkLabel(); - this.DTPEndTime = new System.Windows.Forms.DateTimePicker(); - this.DTPBeginTime = new System.Windows.Forms.DateTimePicker(); - this.CmbPrefab = new System.Windows.Forms.ComboBox(); - this.LblEventChance4Tip = new System.Windows.Forms.Label(); - this.LblEventChance5Tip = new System.Windows.Forms.Label(); - this.NUDEventChance4 = new System.Windows.Forms.NumericUpDown(); - this.NUDEventChance5 = new System.Windows.Forms.NumericUpDown(); - this.LblGachaType = new System.Windows.Forms.Label(); - this.LblEventChance4 = new System.Windows.Forms.Label(); - this.LblEventChance5 = new System.Windows.Forms.Label(); - this.LblSortId = new System.Windows.Forms.Label(); - this.NUDGachaType = new System.Windows.Forms.NumericUpDown(); - this.NUDSortId = new System.Windows.Forms.NumericUpDown(); - this.LblGachaTypeTip = new System.Windows.Forms.Label(); - this.LblEndTime = new System.Windows.Forms.Label(); - this.LblScheduleId = new System.Windows.Forms.Label(); - this.LblBeginTime = new System.Windows.Forms.Label(); - this.NUDScheduleId = new System.Windows.Forms.NumericUpDown(); - this.LblScheduleIdTip = new System.Windows.Forms.Label(); - this.CmbBannerType = new System.Windows.Forms.ComboBox(); - this.LblSortIdTip = new System.Windows.Forms.Label(); - this.LblBannerType = new System.Windows.Forms.Label(); - this.RbCostItem224 = new System.Windows.Forms.RadioButton(); - this.LblCostItem = new System.Windows.Forms.Label(); - this.LblPrefabPath = new System.Windows.Forms.Label(); - this.RbCostItem223 = new System.Windows.Forms.RadioButton(); - this.GrpFallbackPool = new System.Windows.Forms.GroupBox(); - this.ListFallbackItems = new System.Windows.Forms.ListView(); - this.ColFallbackId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.ColFallbackName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.GrpUpPool = new System.Windows.Forms.GroupBox(); - this.ListUpItems = new System.Windows.Forms.ListView(); - this.ColUpId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.ColUpName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.GrpJson = new System.Windows.Forms.GroupBox(); - this.BtnGen = new System.Windows.Forms.Button(); - this.TxtJson = new System.Windows.Forms.TextBox(); - this.BtnParse = new System.Windows.Forms.Button(); - this.GrpWeights = new System.Windows.Forms.GroupBox(); - this.LnkWeightHelp = new System.Windows.Forms.LinkLabel(); - this.TxtWeight4 = new System.Windows.Forms.TextBox(); - this.TxtWeight5 = new System.Windows.Forms.TextBox(); - this.LblWeight4 = new System.Windows.Forms.Label(); - this.LblWeight5 = new System.Windows.Forms.Label(); - this.GrpBalance = new System.Windows.Forms.GroupBox(); - this.TxtPoolWeight4 = new System.Windows.Forms.TextBox(); - this.TxtPoolWeight5 = new System.Windows.Forms.TextBox(); - this.LblPoolWeight4 = new System.Windows.Forms.Label(); - this.LblPoolWeight5 = new System.Windows.Forms.Label(); - this.GrpWeightChart = new System.Windows.Forms.GroupBox(); - this.ChartWeights = new System.Windows.Forms.DataVisualization.Charting.Chart(); - this.GrpBannerValues.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDGachaType)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDSortId)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).BeginInit(); - this.GrpFallbackPool.SuspendLayout(); - this.GrpUpPool.SuspendLayout(); - this.GrpJson.SuspendLayout(); - this.GrpWeights.SuspendLayout(); - this.GrpBalance.SuspendLayout(); - this.GrpWeightChart.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.ChartWeights)).BeginInit(); - this.SuspendLayout(); - // - // GrpBannerValues - // - resources.ApplyResources(this.GrpBannerValues, "GrpBannerValues"); - this.GrpBannerValues.Controls.Add(this.ChkAutoStripRateUpFromFallback); - this.GrpBannerValues.Controls.Add(this.LblOptions); - this.GrpBannerValues.Controls.Add(this.ChkRemoveC6FormPool); - this.GrpBannerValues.Controls.Add(this.LnkOpenOldEditor); - this.GrpBannerValues.Controls.Add(this.DTPEndTime); - this.GrpBannerValues.Controls.Add(this.DTPBeginTime); - this.GrpBannerValues.Controls.Add(this.CmbPrefab); - this.GrpBannerValues.Controls.Add(this.LblEventChance4Tip); - this.GrpBannerValues.Controls.Add(this.LblEventChance5Tip); - this.GrpBannerValues.Controls.Add(this.NUDEventChance4); - this.GrpBannerValues.Controls.Add(this.NUDEventChance5); - this.GrpBannerValues.Controls.Add(this.LblGachaType); - this.GrpBannerValues.Controls.Add(this.LblEventChance4); - this.GrpBannerValues.Controls.Add(this.LblEventChance5); - this.GrpBannerValues.Controls.Add(this.LblSortId); - this.GrpBannerValues.Controls.Add(this.NUDGachaType); - this.GrpBannerValues.Controls.Add(this.NUDSortId); - this.GrpBannerValues.Controls.Add(this.LblGachaTypeTip); - this.GrpBannerValues.Controls.Add(this.LblEndTime); - this.GrpBannerValues.Controls.Add(this.LblScheduleId); - this.GrpBannerValues.Controls.Add(this.LblBeginTime); - this.GrpBannerValues.Controls.Add(this.NUDScheduleId); - this.GrpBannerValues.Controls.Add(this.LblScheduleIdTip); - this.GrpBannerValues.Controls.Add(this.CmbBannerType); - this.GrpBannerValues.Controls.Add(this.LblSortIdTip); - this.GrpBannerValues.Controls.Add(this.LblBannerType); - this.GrpBannerValues.Controls.Add(this.RbCostItem224); - this.GrpBannerValues.Controls.Add(this.LblCostItem); - this.GrpBannerValues.Controls.Add(this.LblPrefabPath); - this.GrpBannerValues.Controls.Add(this.RbCostItem223); - this.GrpBannerValues.Name = "GrpBannerValues"; - this.GrpBannerValues.TabStop = false; - // - // ChkAutoStripRateUpFromFallback - // - resources.ApplyResources(this.ChkAutoStripRateUpFromFallback, "ChkAutoStripRateUpFromFallback"); - this.ChkAutoStripRateUpFromFallback.Name = "ChkAutoStripRateUpFromFallback"; - this.ChkAutoStripRateUpFromFallback.UseVisualStyleBackColor = true; - // - // LblOptions - // - resources.ApplyResources(this.LblOptions, "LblOptions"); - this.LblOptions.Name = "LblOptions"; - // - // ChkRemoveC6FormPool - // - resources.ApplyResources(this.ChkRemoveC6FormPool, "ChkRemoveC6FormPool"); - this.ChkRemoveC6FormPool.Name = "ChkRemoveC6FormPool"; - this.ChkRemoveC6FormPool.UseVisualStyleBackColor = true; - // - // LnkOpenOldEditor - // - resources.ApplyResources(this.LnkOpenOldEditor, "LnkOpenOldEditor"); - this.LnkOpenOldEditor.Name = "LnkOpenOldEditor"; - this.LnkOpenOldEditor.TabStop = true; - this.LnkOpenOldEditor.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkOpenOldEditor_LinkClicked); - // - // DTPEndTime - // - resources.ApplyResources(this.DTPEndTime, "DTPEndTime"); - this.DTPEndTime.MaxDate = new System.DateTime(2038, 1, 19, 0, 0, 0, 0); - this.DTPEndTime.MinDate = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); - this.DTPEndTime.Name = "DTPEndTime"; - // - // DTPBeginTime - // - resources.ApplyResources(this.DTPBeginTime, "DTPBeginTime"); - this.DTPBeginTime.MaxDate = new System.DateTime(2038, 1, 19, 0, 0, 0, 0); - this.DTPBeginTime.MinDate = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); - this.DTPBeginTime.Name = "DTPBeginTime"; - // - // CmbPrefab - // - resources.ApplyResources(this.CmbPrefab, "CmbPrefab"); - this.CmbPrefab.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbPrefab.FormattingEnabled = true; - this.CmbPrefab.Name = "CmbPrefab"; - // - // LblEventChance4Tip - // - resources.ApplyResources(this.LblEventChance4Tip, "LblEventChance4Tip"); - this.LblEventChance4Tip.Name = "LblEventChance4Tip"; - // - // LblEventChance5Tip - // - resources.ApplyResources(this.LblEventChance5Tip, "LblEventChance5Tip"); - this.LblEventChance5Tip.Name = "LblEventChance5Tip"; - // - // NUDEventChance4 - // - resources.ApplyResources(this.NUDEventChance4, "NUDEventChance4"); - this.NUDEventChance4.Name = "NUDEventChance4"; - this.NUDEventChance4.Value = new decimal(new int[] { - 50, - 0, - 0, - 0}); - // - // NUDEventChance5 - // - resources.ApplyResources(this.NUDEventChance5, "NUDEventChance5"); - this.NUDEventChance5.Name = "NUDEventChance5"; - this.NUDEventChance5.Value = new decimal(new int[] { - 50, - 0, - 0, - 0}); - // - // LblGachaType - // - resources.ApplyResources(this.LblGachaType, "LblGachaType"); - this.LblGachaType.Name = "LblGachaType"; - // - // LblEventChance4 - // - resources.ApplyResources(this.LblEventChance4, "LblEventChance4"); - this.LblEventChance4.Name = "LblEventChance4"; - // - // LblEventChance5 - // - resources.ApplyResources(this.LblEventChance5, "LblEventChance5"); - this.LblEventChance5.Name = "LblEventChance5"; - // - // LblSortId - // - resources.ApplyResources(this.LblSortId, "LblSortId"); - this.LblSortId.Name = "LblSortId"; - // - // NUDGachaType - // - resources.ApplyResources(this.NUDGachaType, "NUDGachaType"); - this.NUDGachaType.Maximum = new decimal(new int[] { - 10000, - 0, - 0, - 0}); - this.NUDGachaType.Name = "NUDGachaType"; - this.NUDGachaType.Value = new decimal(new int[] { - 400, - 0, - 0, - 0}); - // - // NUDSortId - // - resources.ApplyResources(this.NUDSortId, "NUDSortId"); - this.NUDSortId.Maximum = new decimal(new int[] { - 9999, - 0, - 0, - 0}); - this.NUDSortId.Minimum = new decimal(new int[] { - 1000, - 0, - 0, - 0}); - this.NUDSortId.Name = "NUDSortId"; - this.NUDSortId.Value = new decimal(new int[] { - 1000, - 0, - 0, - 0}); - // - // LblGachaTypeTip - // - resources.ApplyResources(this.LblGachaTypeTip, "LblGachaTypeTip"); - this.LblGachaTypeTip.Name = "LblGachaTypeTip"; - // - // LblEndTime - // - resources.ApplyResources(this.LblEndTime, "LblEndTime"); - this.LblEndTime.Name = "LblEndTime"; - // - // LblScheduleId - // - resources.ApplyResources(this.LblScheduleId, "LblScheduleId"); - this.LblScheduleId.Name = "LblScheduleId"; - // - // LblBeginTime - // - resources.ApplyResources(this.LblBeginTime, "LblBeginTime"); - this.LblBeginTime.Name = "LblBeginTime"; - // - // NUDScheduleId - // - resources.ApplyResources(this.NUDScheduleId, "NUDScheduleId"); - this.NUDScheduleId.Maximum = new decimal(new int[] { - 10000, - 0, - 0, - 0}); - this.NUDScheduleId.Name = "NUDScheduleId"; - this.NUDScheduleId.Value = new decimal(new int[] { - 800, - 0, - 0, - 0}); - // - // LblScheduleIdTip - // - resources.ApplyResources(this.LblScheduleIdTip, "LblScheduleIdTip"); - this.LblScheduleIdTip.Name = "LblScheduleIdTip"; - // - // CmbBannerType - // - resources.ApplyResources(this.CmbBannerType, "CmbBannerType"); - this.CmbBannerType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbBannerType.FormattingEnabled = true; - this.CmbBannerType.Items.AddRange(new object[] { - resources.GetString("CmbBannerType.Items"), - resources.GetString("CmbBannerType.Items1"), - resources.GetString("CmbBannerType.Items2")}); - this.CmbBannerType.Name = "CmbBannerType"; - // - // LblSortIdTip - // - resources.ApplyResources(this.LblSortIdTip, "LblSortIdTip"); - this.LblSortIdTip.Name = "LblSortIdTip"; - // - // LblBannerType - // - resources.ApplyResources(this.LblBannerType, "LblBannerType"); - this.LblBannerType.Name = "LblBannerType"; - // - // RbCostItem224 - // - resources.ApplyResources(this.RbCostItem224, "RbCostItem224"); - this.RbCostItem224.Checked = true; - this.RbCostItem224.Name = "RbCostItem224"; - this.RbCostItem224.TabStop = true; - this.RbCostItem224.UseVisualStyleBackColor = true; - // - // LblCostItem - // - resources.ApplyResources(this.LblCostItem, "LblCostItem"); - this.LblCostItem.Name = "LblCostItem"; - // - // LblPrefabPath - // - resources.ApplyResources(this.LblPrefabPath, "LblPrefabPath"); - this.LblPrefabPath.Name = "LblPrefabPath"; - // - // RbCostItem223 - // - resources.ApplyResources(this.RbCostItem223, "RbCostItem223"); - this.RbCostItem223.Name = "RbCostItem223"; - this.RbCostItem223.TabStop = true; - this.RbCostItem223.UseVisualStyleBackColor = true; - // - // GrpFallbackPool - // - resources.ApplyResources(this.GrpFallbackPool, "GrpFallbackPool"); - this.GrpFallbackPool.Controls.Add(this.ListFallbackItems); - this.GrpFallbackPool.Name = "GrpFallbackPool"; - this.GrpFallbackPool.TabStop = false; - // - // ListFallbackItems - // - resources.ApplyResources(this.ListFallbackItems, "ListFallbackItems"); - this.ListFallbackItems.CheckBoxes = true; - this.ListFallbackItems.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { - this.ColFallbackId, - this.ColFallbackName}); - this.ListFallbackItems.FullRowSelect = true; - this.ListFallbackItems.Groups.AddRange(new System.Windows.Forms.ListViewGroup[] { - ((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups"))), - ((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups1"))), - ((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups2"))), - ((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups3"))), - ((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups4"))), - ((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups5")))}); - this.ListFallbackItems.HideSelection = false; - this.ListFallbackItems.Name = "ListFallbackItems"; - this.ListFallbackItems.UseCompatibleStateImageBehavior = false; - this.ListFallbackItems.View = System.Windows.Forms.View.Details; - // - // ColFallbackId - // - resources.ApplyResources(this.ColFallbackId, "ColFallbackId"); - // - // ColFallbackName - // - resources.ApplyResources(this.ColFallbackName, "ColFallbackName"); - // - // GrpUpPool - // - resources.ApplyResources(this.GrpUpPool, "GrpUpPool"); - this.GrpUpPool.Controls.Add(this.ListUpItems); - this.GrpUpPool.Name = "GrpUpPool"; - this.GrpUpPool.TabStop = false; - // - // ListUpItems - // - resources.ApplyResources(this.ListUpItems, "ListUpItems"); - this.ListUpItems.CheckBoxes = true; - this.ListUpItems.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { - this.ColUpId, - this.ColUpName}); - this.ListUpItems.FullRowSelect = true; - this.ListUpItems.Groups.AddRange(new System.Windows.Forms.ListViewGroup[] { - ((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups"))), - ((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups1"))), - ((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups2"))), - ((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups3")))}); - this.ListUpItems.HideSelection = false; - this.ListUpItems.Name = "ListUpItems"; - this.ListUpItems.UseCompatibleStateImageBehavior = false; - this.ListUpItems.View = System.Windows.Forms.View.Details; - // - // ColUpId - // - resources.ApplyResources(this.ColUpId, "ColUpId"); - // - // ColUpName - // - resources.ApplyResources(this.ColUpName, "ColUpName"); - // - // GrpJson - // - resources.ApplyResources(this.GrpJson, "GrpJson"); - this.GrpJson.Controls.Add(this.BtnGen); - this.GrpJson.Controls.Add(this.TxtJson); - this.GrpJson.Controls.Add(this.BtnParse); - this.GrpJson.Name = "GrpJson"; - this.GrpJson.TabStop = false; - // - // BtnGen - // - resources.ApplyResources(this.BtnGen, "BtnGen"); - this.BtnGen.Name = "BtnGen"; - this.BtnGen.UseVisualStyleBackColor = true; - this.BtnGen.Click += new System.EventHandler(this.BtnGen_Click); - // - // TxtJson - // - resources.ApplyResources(this.TxtJson, "TxtJson"); - this.TxtJson.Name = "TxtJson"; - // - // BtnParse - // - resources.ApplyResources(this.BtnParse, "BtnParse"); - this.BtnParse.Name = "BtnParse"; - this.BtnParse.UseVisualStyleBackColor = true; - this.BtnParse.Click += new System.EventHandler(this.BtnParse_Click); - // - // GrpWeights - // - resources.ApplyResources(this.GrpWeights, "GrpWeights"); - this.GrpWeights.Controls.Add(this.LnkWeightHelp); - this.GrpWeights.Controls.Add(this.TxtWeight4); - this.GrpWeights.Controls.Add(this.TxtWeight5); - this.GrpWeights.Controls.Add(this.LblWeight4); - this.GrpWeights.Controls.Add(this.LblWeight5); - this.GrpWeights.Name = "GrpWeights"; - this.GrpWeights.TabStop = false; - // - // LnkWeightHelp - // - resources.ApplyResources(this.LnkWeightHelp, "LnkWeightHelp"); - this.LnkWeightHelp.Name = "LnkWeightHelp"; - this.LnkWeightHelp.TabStop = true; - this.LnkWeightHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkWeightHelp_LinkClicked); - // - // TxtWeight4 - // - resources.ApplyResources(this.TxtWeight4, "TxtWeight4"); - this.TxtWeight4.Name = "TxtWeight4"; - // - // TxtWeight5 - // - resources.ApplyResources(this.TxtWeight5, "TxtWeight5"); - this.TxtWeight5.Name = "TxtWeight5"; - // - // LblWeight4 - // - resources.ApplyResources(this.LblWeight4, "LblWeight4"); - this.LblWeight4.Name = "LblWeight4"; - // - // LblWeight5 - // - resources.ApplyResources(this.LblWeight5, "LblWeight5"); - this.LblWeight5.Name = "LblWeight5"; - // - // GrpBalance - // - resources.ApplyResources(this.GrpBalance, "GrpBalance"); - this.GrpBalance.Controls.Add(this.TxtPoolWeight4); - this.GrpBalance.Controls.Add(this.TxtPoolWeight5); - this.GrpBalance.Controls.Add(this.LblPoolWeight4); - this.GrpBalance.Controls.Add(this.LblPoolWeight5); - this.GrpBalance.Name = "GrpBalance"; - this.GrpBalance.TabStop = false; - // - // TxtPoolWeight4 - // - resources.ApplyResources(this.TxtPoolWeight4, "TxtPoolWeight4"); - this.TxtPoolWeight4.Name = "TxtPoolWeight4"; - // - // TxtPoolWeight5 - // - resources.ApplyResources(this.TxtPoolWeight5, "TxtPoolWeight5"); - this.TxtPoolWeight5.Name = "TxtPoolWeight5"; - // - // LblPoolWeight4 - // - resources.ApplyResources(this.LblPoolWeight4, "LblPoolWeight4"); - this.LblPoolWeight4.Name = "LblPoolWeight4"; - // - // LblPoolWeight5 - // - resources.ApplyResources(this.LblPoolWeight5, "LblPoolWeight5"); - this.LblPoolWeight5.Name = "LblPoolWeight5"; - // - // GrpWeightChart - // - resources.ApplyResources(this.GrpWeightChart, "GrpWeightChart"); - this.GrpWeightChart.Controls.Add(this.ChartWeights); - this.GrpWeightChart.Name = "GrpWeightChart"; - this.GrpWeightChart.TabStop = false; - // - // ChartWeights - // - resources.ApplyResources(this.ChartWeights, "ChartWeights"); - chartArea1.AxisX.Minimum = 0D; - chartArea1.AxisY.Maximum = 100D; - chartArea1.AxisY.Minimum = 0D; - chartArea1.AxisY.Title = "%"; - chartArea1.Name = "ChartArea1"; - this.ChartWeights.ChartAreas.Add(chartArea1); - legend1.Name = "Legend1"; - this.ChartWeights.Legends.Add(legend1); - this.ChartWeights.Name = "ChartWeights"; - series1.ChartArea = "ChartArea1"; - series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; - series1.Color = System.Drawing.Color.OrangeRed; - series1.Label = "(#VALX, #VAL)"; - series1.Legend = "Legend1"; - series1.LegendText = "5*"; - series1.Name = "SeriesWeight5"; - series1.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32; - series1.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double; - series2.ChartArea = "ChartArea1"; - series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; - series2.Color = System.Drawing.Color.Purple; - series2.Label = "(#VALX, #VAL)"; - series2.Legend = "Legend1"; - series2.LegendText = "4*"; - series2.Name = "SeriesWeight4"; - series2.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32; - series2.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double; - this.ChartWeights.Series.Add(series1); - this.ChartWeights.Series.Add(series2); - // - // FormGachaBannerEditor2 - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.GrpWeightChart); - this.Controls.Add(this.GrpBalance); - this.Controls.Add(this.GrpWeights); - this.Controls.Add(this.GrpJson); - this.Controls.Add(this.GrpFallbackPool); - this.Controls.Add(this.GrpUpPool); - this.Controls.Add(this.GrpBannerValues); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; - this.Name = "FormGachaBannerEditor2"; - this.GrpBannerValues.ResumeLayout(false); - this.GrpBannerValues.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDGachaType)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDSortId)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).EndInit(); - this.GrpFallbackPool.ResumeLayout(false); - this.GrpUpPool.ResumeLayout(false); - this.GrpJson.ResumeLayout(false); - this.GrpJson.PerformLayout(); - this.GrpWeights.ResumeLayout(false); - this.GrpWeights.PerformLayout(); - this.GrpBalance.ResumeLayout(false); - this.GrpBalance.PerformLayout(); - this.GrpWeightChart.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.ChartWeights)).EndInit(); - this.ResumeLayout(false); - - } - - #endregion - private System.Windows.Forms.GroupBox GrpBannerValues; - private System.Windows.Forms.Label LblEventChance5Tip; - private System.Windows.Forms.NumericUpDown NUDEventChance5; - private System.Windows.Forms.Label LblGachaType; - private System.Windows.Forms.Label LblEventChance5; - private System.Windows.Forms.Label LblSortId; - private System.Windows.Forms.NumericUpDown NUDGachaType; - private System.Windows.Forms.NumericUpDown NUDSortId; - private System.Windows.Forms.Label LblGachaTypeTip; - private System.Windows.Forms.Label LblEndTime; - private System.Windows.Forms.Label LblScheduleId; - private System.Windows.Forms.Label LblBeginTime; - private System.Windows.Forms.NumericUpDown NUDScheduleId; - private System.Windows.Forms.Label LblScheduleIdTip; - private System.Windows.Forms.ComboBox CmbBannerType; - private System.Windows.Forms.Label LblSortIdTip; - private System.Windows.Forms.Label LblBannerType; - private System.Windows.Forms.RadioButton RbCostItem224; - private System.Windows.Forms.Label LblCostItem; - private System.Windows.Forms.Label LblPrefabPath; - private System.Windows.Forms.RadioButton RbCostItem223; - private System.Windows.Forms.GroupBox GrpFallbackPool; - private System.Windows.Forms.GroupBox GrpUpPool; - private System.Windows.Forms.GroupBox GrpJson; - private System.Windows.Forms.TextBox TxtJson; - private System.Windows.Forms.Button BtnGen; - private System.Windows.Forms.Button BtnParse; - private System.Windows.Forms.ComboBox CmbPrefab; - private System.Windows.Forms.Label LblEventChance4; - private System.Windows.Forms.Label LblEventChance4Tip; - private System.Windows.Forms.NumericUpDown NUDEventChance4; - private System.Windows.Forms.DateTimePicker DTPEndTime; - private System.Windows.Forms.DateTimePicker DTPBeginTime; - private System.Windows.Forms.ListView ListFallbackItems; - private System.Windows.Forms.ListView ListUpItems; - private System.Windows.Forms.ColumnHeader ColFallbackId; - private System.Windows.Forms.ColumnHeader ColFallbackName; - private System.Windows.Forms.ColumnHeader ColUpId; - private System.Windows.Forms.ColumnHeader ColUpName; - private System.Windows.Forms.GroupBox GrpWeights; - private System.Windows.Forms.GroupBox GrpBalance; - private System.Windows.Forms.TextBox TxtWeight4; - private System.Windows.Forms.TextBox TxtWeight5; - private System.Windows.Forms.Label LblWeight4; - private System.Windows.Forms.Label LblWeight5; - private System.Windows.Forms.LinkLabel LnkWeightHelp; - private System.Windows.Forms.LinkLabel LnkOpenOldEditor; - private System.Windows.Forms.TextBox TxtPoolWeight4; - private System.Windows.Forms.TextBox TxtPoolWeight5; - private System.Windows.Forms.Label LblPoolWeight4; - private System.Windows.Forms.Label LblPoolWeight5; - private System.Windows.Forms.CheckBox ChkRemoveC6FormPool; - private System.Windows.Forms.CheckBox ChkAutoStripRateUpFromFallback; - private System.Windows.Forms.Label LblOptions; - private System.Windows.Forms.GroupBox GrpWeightChart; - private System.Windows.Forms.DataVisualization.Charting.Chart ChartWeights; - } -} \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.cs b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.cs deleted file mode 100644 index 24c300d..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.cs +++ /dev/null @@ -1,331 +0,0 @@ -/** - * Grasscutter Tools - * Copyright (C) 2022 jie65535 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - **/ - -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Windows.Forms; -using System.Windows.Forms.DataVisualization.Charting; - -using GrasscutterTools.Game; -using GrasscutterTools.Game.Gacha; -using GrasscutterTools.Properties; - -using Newtonsoft.Json; - -namespace GrasscutterTools.Forms -{ - /// - /// 卡池编辑器 - /// - public partial class FormGachaBannerEditor2 : Form - { - public FormGachaBannerEditor2() - { - InitializeComponent(); - - Icon = Resources.IconGrasscutter; - CmbBannerType.SelectedIndex = 0; - InitBannerPrefab(); - InitCheckedListBoxs(); - - ShowBanner(new GachaBanner2()); - } - - private void InitBannerPrefab() - { - CmbPrefab.Items.Clear(); - CmbPrefab.Items.AddRange(GameData.GachaBannerPrefabs.Names); - } - - private void LnkWeightHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - System.Diagnostics.Process.Start("https://github.com/Grasscutters/Grasscutter/pull/639"); - } - - private void LnkOpenOldEditor_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - new FormGachaBannerEditor().ShowDialog(); - } - - #region - 卡池 - - - private void InitCheckedListBoxs() - { - ListFallbackItems.BeginUpdate(); - var a5 = ListFallbackItems.Groups["GroupA5"]; - var a4 = ListFallbackItems.Groups["GroupA4"]; - var a3 = ListFallbackItems.Groups["GroupA3"]; - var w5 = ListFallbackItems.Groups["GroupW5"]; - var w4 = ListFallbackItems.Groups["GroupW4"]; - var w3 = ListFallbackItems.Groups["GroupW3"]; - var avatars = GetAvatarsByColor("yellow") - .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a5) { ForeColor = Color.OrangeRed }) - .Concat(GetAvatarsByColor("purple") - .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a4) { ForeColor = Color.Purple })) - .Concat(GetAvatarsByColor("blue") - .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a3) { ForeColor = Color.Blue })); - var weapons = GetWeaponsByColor("yellow") - .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, w5) { ForeColor = Color.OrangeRed }) - .Concat(GetWeaponsByColor("purple") - .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, w4) { ForeColor = Color.Purple })) - .Concat(GetWeaponsByColor("blue") - .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, w3) { ForeColor = Color.Blue })); - ListFallbackItems.Items.Clear(); - ListFallbackItems.Items.AddRange(avatars.Concat(weapons).ToArray()); - - ListUpItems.BeginUpdate(); - var ua5 = ListUpItems.Groups["GroupUpA5"]; - var ua4 = ListUpItems.Groups["GroupUpA4"]; - var uw5 = ListUpItems.Groups["GroupUpW5"]; - var uw4 = ListUpItems.Groups["GroupUpW4"]; - var upAvatars = GetAvatarsByColor("yellow") - .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, ua5) { ForeColor = Color.OrangeRed }) - .Concat(GetAvatarsByColor("purple") - .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, ua4) { ForeColor = Color.Purple })); - var upWeapons = GetWeaponsByColor("yellow") - .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, uw5) { ForeColor = Color.OrangeRed }) - .Concat(GetWeaponsByColor("purple") - .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, uw4) { ForeColor = Color.Purple })); - ListUpItems.Items.Clear(); - ListUpItems.Items.AddRange(upAvatars.Concat(upWeapons).ToArray()); - - ListFallbackItems.EndUpdate(); - ListUpItems.EndUpdate(); - } - - private IEnumerable<(int, string)> GetAvatarsByColor(string color) - { - for (int i = 0; i < GameData.AvatarColors.Count; i++) - { - if (GameData.AvatarColors.Names[i] == color) - { - var id = GameData.AvatarColors.Ids[i]; - var index = Array.IndexOf(GameData.Avatars.Ids, id); - if (index >= 0) - yield return (id, GameData.Avatars.Names[index]); - } - } - } - - private IEnumerable<(int, string)> GetWeaponsByColor(string color) - { - for (int i = 0; i < GameData.WeaponColors.Count; i++) - { - if (GameData.WeaponColors.Names[i] == color) - { - var id = GameData.WeaponColors.Ids[i]; - var index = Array.IndexOf(GameData.Weapons.Ids, id); - if (index >= 0) - yield return (id, GameData.Weapons.Names[index]); - } - } - } - - private void InitItems(GachaBanner2 banner) - { - var f = banner.FallbackItems3 - .Concat(banner.FallbackItems4Pool1) - .Concat(banner.FallbackItems4Pool2) - .Concat(banner.FallbackItems5Pool1) - .Concat(banner.FallbackItems5Pool2) - .ToArray(); - foreach (ListViewItem item in ListFallbackItems.Items) - item.Checked = Array.IndexOf(f, int.Parse(item.Text)) >= 0; - - var u = banner.RateUpItems4.Concat(banner.RateUpItems5).ToArray(); - foreach (ListViewItem item in ListUpItems.Items) - item.Checked = Array.IndexOf(u, int.Parse(item.Text)) >= 0; - } - - private IEnumerable GetCheckedItems(ListView list, ListViewGroup group) - { - foreach (ListViewItem item in list.CheckedItems) - if (item.Group == group) - yield return int.Parse(item.Text); - } - - #endregion - 卡池 - - - #region - 权重 - - - private struct GachaWeight - { - public int Count; - public int Weight; - - public GachaWeight(int count, int weight) - { - Count = count; - Weight = weight; - } - } - - private void InitWeights(GachaBanner2 banner) - { - TxtWeight5.Text = '[' + string.Join(", ", SelectWeights(banner.Weights5).Select(w => $"[{w.Count}, {w.Weight}]")) + ']'; - TxtWeight4.Text = '[' + string.Join(", ", SelectWeights(banner.Weights4).Select(w => $"[{w.Count}, {w.Weight}]")) + ']'; - TxtPoolWeight5.Text = '[' + string.Join(", ", SelectWeights(banner.PoolBalanceWeights5).Select(w => $"[{w.Count}, {w.Weight}]")) + ']'; - TxtPoolWeight4.Text = '[' + string.Join(", ", SelectWeights(banner.PoolBalanceWeights4).Select(w => $"[{w.Count}, {w.Weight}]")) + ']'; - - ChartWeights.SuspendLayout(); - ChartWeights.Series[0].Points.Clear(); - foreach (var w in SelectWeights(banner.Weights5)) - ChartWeights.Series[0].Points.AddXY(w.Count, w.Weight / 100.0); - ChartWeights.Series[1].Points.Clear(); - foreach (var w in SelectWeights(banner.Weights4)) - ChartWeights.Series[1].Points.AddXY(w.Count, w.Weight / 100.0); - ChartWeights.ResumeLayout(); - } - - private IEnumerable SelectWeights(int[,] weights) - { - for (int i = 0; i < weights.GetLength(0); i++) - yield return new GachaWeight(weights[i, 0], weights[i, 1]); - } - - private int[,] GetWeights(string weights) - { - return JsonConvert.DeserializeObject(weights); - } - - #endregion - 权重 - - - #region - 序列化 - - - private void ShowBanner(GachaBanner2 banner) - { - try - { - NUDGachaType.Value = banner.GachaType; - NUDScheduleId.Value = banner.ScheduleId; - CmbBannerType.SelectedIndex = (int)banner.BannerType; - if (string.IsNullOrEmpty(banner.TitlePath) || !int.TryParse(banner.TitlePath.Substring("UI_GACHA_SHOW_PANEL_A".Length, 3), out int prefabId)) - CmbPrefab.SelectedIndex = -1; - else - CmbPrefab.SelectedIndex = Array.IndexOf(GameData.GachaBannerPrefabs.Ids, prefabId); - RbCostItem224.Checked = banner.CostItem == 224; - RbCostItem223.Checked = banner.CostItem == 223; - DTPBeginTime.Value = DateTimeOffset.FromUnixTimeSeconds(banner.BeginTime).DateTime; - DTPEndTime.Value = DateTimeOffset.FromUnixTimeSeconds(banner.EndTime).DateTime; - NUDSortId.Value = banner.SortId; - NUDEventChance5.Value = banner.EventChance5; - NUDEventChance4.Value = banner.EventChance4; - ChkRemoveC6FormPool.Checked = banner.RemoveC6FromPool; - ChkAutoStripRateUpFromFallback.Checked = banner.AutoStripRateUpFromFallback; - InitItems(banner); - InitWeights(banner); - } - catch (Exception ex) - { - MessageBox.Show("UI更新失败:" + ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - private GachaBanner2 ParseBanner() - { - if (CmbBannerType.SelectedIndex < 0) - { - MessageBox.Show("请选择奖池类型", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return null; - } - - if (CmbPrefab.SelectedIndex < 0) - { - MessageBox.Show("请选择奖池预制", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return null; - } - - var prefabId = GameData.GachaBannerPrefabs.Ids[CmbPrefab.SelectedIndex]; - var banner = new GachaBanner2 - { - GachaType = (int)NUDGachaType.Value, - ScheduleId = (int)NUDScheduleId.Value, - BannerType = (BannerType)CmbBannerType.SelectedIndex, - PrefabPath = $"GachaShowPanel_A{prefabId:000}", - PreviewPrefabPath = $"UI_Tab_GachaShowPanel_A{prefabId:000}", - TitlePath = $"UI_GACHA_SHOW_PANEL_A{prefabId:000}_TITLE", - CostItem = RbCostItem224.Checked ? 224 : 223, - BeginTime = (int)new DateTimeOffset(DTPBeginTime.Value, TimeSpan.Zero).ToUnixTimeSeconds(), - EndTime = (int)new DateTimeOffset(DTPEndTime.Value, TimeSpan.Zero).ToUnixTimeSeconds(), - SortId = (int)NUDSortId.Value, - EventChance5 = (int)NUDEventChance5.Value, - EventChance4 = (int)NUDEventChance4.Value, - - RateUpItems4 = GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpA4"]) - .Concat(GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpW4"])) - .ToArray(), - RateUpItems5 = GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpA5"]) - .Concat(GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpW5"])) - .ToArray(), - - FallbackItems3 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupA3"]) - .Concat(GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupW3"])) - .ToArray(), - FallbackItems4Pool1 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupA4"]).ToArray(), - FallbackItems4Pool2 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupW4"]).ToArray(), - FallbackItems5Pool1 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupA5"]).ToArray(), - FallbackItems5Pool2 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupW5"]).ToArray(), - - RemoveC6FromPool = ChkRemoveC6FormPool.Checked, - AutoStripRateUpFromFallback = ChkAutoStripRateUpFromFallback.Checked, - - Weights4 = GetWeights(TxtWeight4.Text), - Weights5 = GetWeights(TxtWeight5.Text), - PoolBalanceWeights4 = GetWeights(TxtPoolWeight4.Text), - PoolBalanceWeights5 = GetWeights(TxtPoolWeight5.Text), - }; - return banner; - } - - private void BtnGen_Click(object sender, EventArgs e) - { - try - { - var banner = ParseBanner(); - if (banner != null) - { - var json = JsonConvert.SerializeObject(banner); - json = json.Replace(",\"", ",\r\n \"").Insert(1, "\r\n "); - TxtJson.Text = json.Insert(json.Length-1, "\r\n"); - ShowBanner(banner); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - private void BtnParse_Click(object sender, EventArgs e) - { - try - { - ShowBanner(JsonConvert.DeserializeObject(TxtJson.Text)); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - #endregion - 序列化 - - } -} \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.en-us.resx b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.en-us.resx deleted file mode 100644 index d968cf4..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.en-us.resx +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - 112, 287 - - - 225, 21 - - - Auto Strip Rate Up From Fall back - - - 60, 260 - - - 46, 17 - - - Optins - - - 157, 21 - - - Remove C6 Form Pool - - - 102, 17 - - - Open old editor - - - 200, 233 - - - 96, 17 - - - Event Chance 4 - - - 10, 233 - - - 96, 17 - - - Event Chance 5 - - - 72, 204 - - - Sort - - - 123, 17 - - - Increment from 400 - - - 62, 17 - - - End Time - - - 32, 175 - - - 73, 17 - - - Begin Time - - - 49, 17 - - - Unique - - - Standard Wish - - - Character Event Wish - - - Weapon Event Wish - - - 76, 17 - - - Show order - - - 25, 87 - - - 81, 17 - - - Banner Type - - - 104, 21 - - - Acquaint Fate - - - 41, 148 - - - 64, 17 - - - Cost Item - - - 59, 118 - - - 46, 17 - - - Prefab - - - 222, 146 - - - 119, 21 - - - Intertwined Fate - - - Banner - - - Fallback Pool - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNQs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNAs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA0zLXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBMws= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA0zLXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws= - - - - Up Pool - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc1Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE0Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw== - - - - 85, 23 - - - Gen Json - - - 409, 201 - - - 85, 23 - - - Parse Json - - - Gacha weights - - - 399, 0 - - - 35, 17 - - - Help - - - 40, 61 - - - 66, 17 - - - Weights 4 - - - 40, 32 - - - 66, 17 - - - Weights 5 - - - Character and weapon balance (only mixed pools work) - - - 16, 61 - - - 90, 17 - - - Pool Weight 4 - - - 16, 32 - - - 90, 17 - - - Pool Weight 5 - - - Weight Chart - - - Gacha Banner Editor - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.resx b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.resx deleted file mode 100644 index 6a1e1a5..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.resx +++ /dev/null @@ -1,1636 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - True - - - GrpBannerValues - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - Bottom, Left - - - 3, 4, 3, 4 - - - True - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6 - - - 2 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - 112, 58 - - - 2 - - - True - - - GrpBannerValues - - - 100, 23 - - - 34, 28 - - - 24 - - - 65 - - - 17 - - - LblBeginTime - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 相遇之缘 - - - 卡池参数 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 2 - - - 371, 233 - - - 2 - - - Fill - - - LblEventChance5Tip - - - Fill - - - GrpBannerValues - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Top, Left, Right - - - ColUpName - - - 302, 173 - - - GrpBannerValues - - - BtnParse - - - True - - - 6 - - - True - - - 权重图表 - - - 3 - - - Fill - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 12, 347 - - - GrpBannerValues - - - LblBannerType - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo15pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs= - - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo15pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNQs= - - - - 19, 17 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo05pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNAs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo05pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAoz5pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws= - - - - 限时角色祈愿池 - - - 110, 23 - - - LblEventChance5 - - - 72, 17 - - - 12, 453 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 纠缠之缘 - - - 4 - - - GrpWeights - - - CmbBannerType - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - 祈愿道具 - - - 1 - - - 300, 23 - - - 9 - - - 9 - - - 402, 0 - - - 89 - - - 55, 32 - - - 22 - - - True - - - 1 - - - DTPBeginTime - - - 88 - - - 3 - - - GrpBannerValues - - - UP池 - - - 1 - - - 6 - - - 74, 21 - - - 300, 23 - - - 15 - - - LblPoolWeight5 - - - 解析Json - - - GrpBalance - - - GrpWeights - - - NUDEventChance5 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 16 - - - 0 - - - 1184, 561 - - - GrpJson - - - GrpFallbackPool - - - GrpBalance - - - GrpBannerValues - - - GrpFallbackPool - - - False - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - % - - - True - - - 4星权重 - - - 4 - - - ListUpItems - - - 结束时间 - - - 7 - - - 10 - - - 458, 12 - - - 顺序 - - - 440, 329 - - - 63, 23 - - - 300, 25 - - - 角色和武器平衡机制(仅混合池有效) - - - 20 - - - NUDSortId - - - True - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo05pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo05pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE0Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo15pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc1Cw== - - - - GrpBannerValues - - - 帮助 - - - 74, 118 - - - System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - ChartWeights - - - 26 - - - 210, 230 - - - GrpBannerValues - - - 91 - - - True - - - 0 - - - 3, 19 - - - 6 - - - 0 - - - 112, 173 - - - 1 - - - 112, 146 - - - 5 - - - True - - - LblPrefabPath - - - 458, 248 - - - 0 - - - GrpBalance - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 客户端中显示的顺序 - - - 112, 29 - - - True - - - 125, 17 - - - 3 - - - 4 - - - ListFallbackItems - - - 500, 230 - - - 6, 309 - - - 59 - - - BtnGen - - - 5 - - - Json - (./Gresscutter/data/banners.json) - - - 0 - - - GrpBannerValues - - - 204, 208 - - - 28 - - - LblSortIdTip - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 104, 17 - - - 88 - - - 27 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 204, 283 - - - LblSortId - - - GrpWeights - - - 65 - - - 避免命座溢出 - - - NoControl - - - GrpWeightChart - - - Name - - - 100, 23 - - - GrpBannerValues - - - System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAoz5pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBMws= - - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 25 - - - 5星活动爆率 - - - 5 - - - $this - - - RbCostItem223 - - - 18 - - - True - - - 19, 17 - - - True - - - 112, 29 - - - 210, 305 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo15pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw== - - - - 302, 231 - - - 74, 261 - - - 83 - - - 56 - - - LblCostItem - - - GrpBannerValues - - - GrpBannerValues - - - 6, 19 - - - 440, 100 - - - LblEventChance4Tip - - - LblWeight4 - - - True - - - 112, 231 - - - Both - - - 8 - - - NoControl - - - 0 - - - GrpBannerValues - - - 5星池权重 - - - GrpBannerValues - - - 2 - - - 3 - - - System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - NUDEventChance4 - - - $this - - - 500, 302 - - - 419, 201 - - - True - - - LblScheduleId - - - 56, 17 - - - 90 - - - 19 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GachaType - - - Top, Bottom, Left - - - 110, 23 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 1 - - - 55, 61 - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 5 - - - 112, 115 - - - 112, 202 - - - 34, 57 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 3, 19 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 488, 176 - - - ID - - - 32, 17 - - - 2 - - - 2 - - - 生成Json - - - 4星活动爆率 - - - TxtJson - - - 74 - - - 674, 248 - - - 8 - - - GrpBannerValues - - - 自动避免UP被基础抽中 - - - True - - - 21 - - - 0 - - - GrpJson - - - 112, 55 - - - 选项 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TxtWeight4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBalance - - - 10 - - - 240, 176 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 89 - - - GrpBannerValues - - - LnkWeightHelp - - - 218, 57 - - - RbCostItem224 - - - 32, 17 - - - 1 - - - ChkRemoveC6FormPool - - - 14 - - - chart1 - - - 50, 176 - - - 674, 12 - - - GrpBannerValues - - - 4 - - - 卡池权重与保底机制 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 112, 58 - - - GrpBannerValues - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 基础池 - - - 4 - - - ID要求唯一 - - - DTPEndTime - - - LblGachaType - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 218, 204 - - - GrpBannerValues - - - 300, 25 - - - 预制 - - - 217, 260 - - - 1 - - - System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBalance - - - True - - - True - - - TxtWeight5 - - - 3 - - - GrpWeights - - - 32, 17 - - - 51, 17 - - - 32, 17 - - - 0 - - - 181, 233 - - - 12 - - - ID - - - 0 - - - TxtPoolWeight4 - - - ColUpId - - - NoControl - - - NUDGachaType - - - LblScheduleIdTip - - - 0 - - - GrpBannerValues - - - $this - - - GrpJson - - - LblEndTime - - - True - - - 99, 21 - - - 56, 17 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpUpPool - - - System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 112, 84 - - - 50, 87 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpWeights - - - True - - - 110 - - - 151, 21 - - - LnkOpenOldEditor - - - 75, 23 - - - Name - - - 112, 26 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 300, 23 - - - 110 - - - GrpBannerValues - - - GrpBannerValues - - - 72, 17 - - - FormGachaBannerEditor2 - - - 56, 17 - - - 3 - - - 0 - - - GrpUpPool - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 微软雅黑, 9pt - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpJson - - - $this - - - ColFallbackName - - - LblGachaTypeTip - - - 1200, 600 - - - 218, 28 - - - 2 - - - 4星池权重 - - - 6, 201 - - - TxtPoolWeight5 - - - 69, 17 - - - 7 - - - 116, 17 - - - 74, 21 - - - 1 - - - 0 - - - 11 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Top, Bottom, Left, Right - - - 43, 32 - - - 从400开始,顺序递增 - - - 20 - - - 51 - - - 1 - - - 打开旧版本编辑器 - - - 2 - - - True - - - CenterScreen - - - 75, 17 - - - 63, 17 - - - Bottom, Right - - - LblWeight5 - - - 75, 23 - - - 限时武器祈愿池 - - - 2 - - - 56, 17 - - - $this - - - 13 - - - LblOptions - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4 - - - 奖池类型 - - - 74, 204 - - - 7 - - - 5 - - - GrpBannerValues - - - GrpBannerValues - - - 72 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - 0 - - - 43, 61 - - - LblPoolWeight4 - - - 300, 23 - - - 494, 280 - - - 常驻池 - - - 7, 17 - - - 5星权重 - - - 61 - - - 92 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - % - - - 31, 233 - - - ColFallbackId - - - System.Windows.Forms.DataVisualization.Charting.Chart, System.Windows.Forms.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 - - - 75 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 221, 233 - - - 440, 100 - - - 48 - - - 50, 148 - - - 29 - - - GrpWeights - - - $this - - - System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NUDScheduleId - - - 1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ChkAutoStripRateUpFromFallback - - - 0 - - - 192, 146 - - - GrpWeightChart - - - True - - - 75, 17 - - - GrpBannerValues - - - 100, 23 - - - 开始时间 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 63, 17 - - - 112, 260 - - - Top, Bottom, Left, Right - - - 卡池编辑器 - - - 63, 23 - - - CmbPrefab - - - GrpBannerValues - - - 12, 12 - - - GrpBannerValues - - - ScheduleId - - - LblEventChance4 - - - 53 - - - 80 - - - 51, 17 - - - NoControl - - - GrpBannerValues - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 23 - - - 3, 19 - - - 1 - - - True - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.ru-ru.resx b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.ru-ru.resx deleted file mode 100644 index 53d0417..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.ru-ru.resx +++ /dev/null @@ -1,464 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - 112, 287 - - - 288, 21 - - - Авто возврат шанса выпадения с баннера - - - 56, 261 - - - 50, 17 - - - Опции - - - 157, 21 - - - Удалить пул форм C6 - - - 167, 17 - - - Открыть старый редактор - - - 43, 28 - - - 63, 17 - - - Тип Гачи - - - 210, 233 - - - 86, 17 - - - Шанс соб. 4* - - - 20, 233 - - - 86, 17 - - - Шанс соб. 5* - - - 66, 204 - - - 40, 17 - - - Сорт. - - - 116, 17 - - - Увеличение с 400 - - - 234, 176 - - - 47, 17 - - - Конец - - - 8, 57 - - - 98, 17 - - - ID расписания - - - 53, 176 - - - 53, 17 - - - Начало - - - 84, 17 - - - Уникальный - - - Стандартная Молитва - - - Молитва события персонажа - - - Молитва события с оружием - - - 121, 17 - - - Показать порядок - - - 18, 87 - - - 88, 17 - - - Тип баннера - - - 116, 21 - - - Судьбоносные - - - 34, 148 - - - 72, 17 - - - Стоимость - - - 47, 118 - - - 59, 17 - - - Готовый - - - 234, 146 - - - 141, 21 - - - Переплетающиеся - - - Баннер - - - Запасной Пул - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNQs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNAs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA0zLXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBMws= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA0zLXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws= - - - - Верхний Пул - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc1Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE0Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu - bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw== - - - - 85, 23 - - - Сген. Json - - - 409, 201 - - - 85, 23 - - - Загр. Json - - - Gacha Веса - - - 375, 0 - - - 60, 17 - - - Помощь - - - 54, 61 - - - 52, 17 - - - Веса 5* - - - 54, 32 - - - 52, 17 - - - Веса 5* - - - Баланс персонажа и оружия (работают только смешанные пулы) - - - 28, 61 - - - 78, 17 - - - Пул Веса 4* - - - 28, 29 - - - 78, 17 - - - Пул Веса 5* - - - Таблица веса - - - Редактор баннеров Gacha - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.zh-TW.resx b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.zh-TW.resx deleted file mode 100644 index 0641174..0000000 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.zh-TW.resx +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 自動避免UP被基礎抽中 - - - 選項 - - - 打開舊版本編輯器 - - - 4星活動爆率 - - - 5星活動爆率 - - - 順序 - - - 從400開始,順序遞增 - - - 結束時間 - - - 開始時間 - - - 客戶端中顯示的順序 - - - 獎池類型 - - - 相遇之緣 - - - 祈願道具 - - - 預製 - - - 糾纏之緣 - - - 卡池參數 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo15pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo15pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNQs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo05pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo05pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNAs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAoz5pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBMws= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAoz5pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws= - - - - 基礎池 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo15pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo15pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc1Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo05pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE0Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG - AwAAAAo05pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu - dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw== - - - - 幫助 - - - 4星權重 - - - 5星權重 - - - 卡池權重與保底機制 - - - 4星池權重 - - - 5星池權重 - - - 角色和武器平衡機制(僅混合池有效) - - - 權重圖表 - - - 卡池編輯器 - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormMain.Designer.cs b/Source/GrasscutterTools/Forms/FormMain.Designer.cs deleted file mode 100644 index 5672acf..0000000 --- a/Source/GrasscutterTools/Forms/FormMain.Designer.cs +++ /dev/null @@ -1,2338 +0,0 @@ -namespace GrasscutterTools.Forms -{ - partial class FormMain - { - /// - /// 必需的设计器变量。 - /// - private System.ComponentModel.IContainer components = null; - - /// - /// 清理所有正在使用的资源。 - /// - /// 如果应释放托管资源,为 true;否则为 false。 - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows 窗体设计器生成的代码 - - /// - /// 设计器支持所需的方法 - 不要修改 - /// 使用代码编辑器修改此方法的内容。 - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain)); - this.TxtCommand = new System.Windows.Forms.TextBox(); - this.BtnCopy = new System.Windows.Forms.Button(); - this.ChkAutoCopy = new System.Windows.Forms.CheckBox(); - this.GrpCommand = new System.Windows.Forms.GroupBox(); - this.BtnInvokeOpenCommand = new System.Windows.Forms.Button(); - this.TPRemoteCall = new System.Windows.Forms.TabPage(); - this.LnkLinks = new System.Windows.Forms.LinkLabel(); - this.LnkGOODHelp = new System.Windows.Forms.LinkLabel(); - this.LnkInventoryKamera = new System.Windows.Forms.LinkLabel(); - this.LblGOODHelp = new System.Windows.Forms.Label(); - this.ButtonOpenGOODImport = new System.Windows.Forms.Button(); - this.LblHostTip = new System.Windows.Forms.Label(); - this.GrpServerStatus = new System.Windows.Forms.GroupBox(); - this.LnkOpenCommandLabel = new System.Windows.Forms.LinkLabel(); - this.LblOpenCommandSupport = new System.Windows.Forms.Label(); - this.LblServerVersion = new System.Windows.Forms.Label(); - this.LblPlayerCount = new System.Windows.Forms.Label(); - this.LblServerVersionLabel = new System.Windows.Forms.Label(); - this.LblPlayerCountLabel = new System.Windows.Forms.Label(); - this.GrpRemoteCommand = new System.Windows.Forms.GroupBox(); - this.TPOpenCommandCheck = new System.Windows.Forms.TabControl(); - this.TPPlayerCheck = new System.Windows.Forms.TabPage(); - this.LnkRCHelp = new System.Windows.Forms.LinkLabel(); - this.NUDRemotePlayerId = new System.Windows.Forms.NumericUpDown(); - this.BtnConnectOpenCommand = new System.Windows.Forms.Button(); - this.LblVerificationCode = new System.Windows.Forms.Label(); - this.BtnSendVerificationCode = new System.Windows.Forms.Button(); - this.NUDVerificationCode = new System.Windows.Forms.NumericUpDown(); - this.LblRemotePlayerId = new System.Windows.Forms.Label(); - this.TPConsoleCheck = new System.Windows.Forms.TabPage(); - this.BtnConsoleConnect = new System.Windows.Forms.Button(); - this.TxtToken = new System.Windows.Forms.TextBox(); - this.LblToken = new System.Windows.Forms.Label(); - this.LblConsoleTip = new System.Windows.Forms.Label(); - this.TxtHost = new System.Windows.Forms.TextBox(); - this.BtnQueryServerStatus = new System.Windows.Forms.Button(); - this.LblHost = new System.Windows.Forms.Label(); - this.TPAbout = new System.Windows.Forms.TabPage(); - this.GrasscutterToolsSupport = new System.Windows.Forms.PictureBox(); - this.LnkGithub = new System.Windows.Forms.LinkLabel(); - this.LblSupportDescription = new System.Windows.Forms.Label(); - this.TPManage = new System.Windows.Forms.TabPage(); - this.GrpBanPlayer = new System.Windows.Forms.GroupBox(); - this.DTPBanEndTime = new System.Windows.Forms.DateTimePicker(); - this.BtnUnban = new System.Windows.Forms.Button(); - this.BtnBan = new System.Windows.Forms.Button(); - this.TxtBanReason = new GrasscutterTools.Controls.TextBoxXP(); - this.NUDBanUID = new System.Windows.Forms.NumericUpDown(); - this.LblBanUID = new System.Windows.Forms.Label(); - this.GrpAccount = new System.Windows.Forms.GroupBox(); - this.ChkAccountSetUid = new System.Windows.Forms.CheckBox(); - this.NUDAccountUid = new System.Windows.Forms.NumericUpDown(); - this.BtnDeleteAccount = new System.Windows.Forms.Button(); - this.BtnCreateAccount = new System.Windows.Forms.Button(); - this.LblAccountUserName = new System.Windows.Forms.Label(); - this.TxtAccountUserName = new System.Windows.Forms.TextBox(); - this.GrpPermission = new System.Windows.Forms.GroupBox(); - this.CmbPerm = new System.Windows.Forms.ComboBox(); - this.NUDPermUID = new System.Windows.Forms.NumericUpDown(); - this.BtnPermClear = new System.Windows.Forms.Button(); - this.BtmPermRemove = new System.Windows.Forms.Button(); - this.BtnPermList = new System.Windows.Forms.Button(); - this.BtnPermAdd = new System.Windows.Forms.Button(); - this.LblPerm = new System.Windows.Forms.Label(); - this.LblPermUID = new System.Windows.Forms.Label(); - this.TPScene = new System.Windows.Forms.TabPage(); - this.TxtSceneFilter = new System.Windows.Forms.TextBox(); - this.ChkIncludeSceneId = new System.Windows.Forms.CheckBox(); - this.LblTpZ = new System.Windows.Forms.Label(); - this.LblTpY = new System.Windows.Forms.Label(); - this.BtnTeleport = new System.Windows.Forms.Button(); - this.LblTpX = new System.Windows.Forms.Label(); - this.NUDTpZ = new System.Windows.Forms.NumericUpDown(); - this.NUDTpY = new System.Windows.Forms.NumericUpDown(); - this.NUDTpX = new System.Windows.Forms.NumericUpDown(); - this.CmbClimateType = new System.Windows.Forms.ComboBox(); - this.LblClimateType = new System.Windows.Forms.Label(); - this.LblSceneDescription = new System.Windows.Forms.Label(); - this.ListScenes = new System.Windows.Forms.ListBox(); - this.LblTp = new System.Windows.Forms.Label(); - this.TPItem = new System.Windows.Forms.TabPage(); - this.LblClearGiveItemLogs = new System.Windows.Forms.Label(); - this.BtnSaveGiveItemLog = new System.Windows.Forms.Button(); - this.BtnRemoveGiveItemLog = new System.Windows.Forms.Button(); - this.GrpGiveItemRecord = new System.Windows.Forms.GroupBox(); - this.ListGiveItemLogs = new System.Windows.Forms.ListBox(); - this.ChkDrop = new System.Windows.Forms.CheckBox(); - this.TxtGameItemFilter = new System.Windows.Forms.TextBox(); - this.ListGameItems = new System.Windows.Forms.ListBox(); - this.LblGameItemAmount = new System.Windows.Forms.Label(); - this.LblGameItemLevel = new System.Windows.Forms.Label(); - this.NUDGameItemAmout = new System.Windows.Forms.NumericUpDown(); - this.NUDGameItemLevel = new System.Windows.Forms.NumericUpDown(); - this.LblGiveCommandDescription = new System.Windows.Forms.Label(); - this.TPWeapon = new System.Windows.Forms.TabPage(); - this.BtnGiveAllWeapons = new System.Windows.Forms.Button(); - this.TxtWeaponFilter = new System.Windows.Forms.TextBox(); - this.LblWeaponDescription = new System.Windows.Forms.Label(); - this.LblWeaponRefinement = new System.Windows.Forms.Label(); - this.LblWeaponAmount = new System.Windows.Forms.Label(); - this.LblWeaponLevel = new System.Windows.Forms.Label(); - this.NUDWeaponRefinement = new System.Windows.Forms.NumericUpDown(); - this.NUDWeaponAmout = new System.Windows.Forms.NumericUpDown(); - this.NUDWeaponLevel = new System.Windows.Forms.NumericUpDown(); - this.ListWeapons = new System.Windows.Forms.ListBox(); - this.TPStats = new System.Windows.Forms.TabPage(); - this.GrpSetStats = new System.Windows.Forms.GroupBox(); - this.BtnUnlockStat = new System.Windows.Forms.Button(); - this.BtnLockStat = new System.Windows.Forms.Button(); - this.LblStatTip = new System.Windows.Forms.Label(); - this.LblStatPercent = new System.Windows.Forms.Label(); - this.NUDStat = new System.Windows.Forms.NumericUpDown(); - this.CmbStat = new System.Windows.Forms.ComboBox(); - this.GrpTalentLevel = new System.Windows.Forms.GroupBox(); - this.LnkTalentE = new System.Windows.Forms.LinkLabel(); - this.LnkTalentQ = new System.Windows.Forms.LinkLabel(); - this.LnkTalentNormalATK = new System.Windows.Forms.LinkLabel(); - this.NUDTalentLevel = new System.Windows.Forms.NumericUpDown(); - this.LblStatsDescription = new System.Windows.Forms.Label(); - this.TPAvatar = new System.Windows.Forms.TabPage(); - this.BtnGiveAllChar = new System.Windows.Forms.Button(); - this.LblAvatarConstellation = new System.Windows.Forms.Label(); - this.NUDAvatarConstellation = new System.Windows.Forms.NumericUpDown(); - this.ImgAvatar = new System.Windows.Forms.PictureBox(); - this.LblAvatar = new System.Windows.Forms.Label(); - this.LblAvatarLevel = new System.Windows.Forms.Label(); - this.NUDAvatarLevel = new System.Windows.Forms.NumericUpDown(); - this.CmbAvatar = new System.Windows.Forms.ComboBox(); - this.TPSpawn = new System.Windows.Forms.TabPage(); - this.ChkInfiniteHP = new System.Windows.Forms.CheckBox(); - this.LblClearSpawnLogs = new System.Windows.Forms.Label(); - this.BtnSaveSpawnLog = new System.Windows.Forms.Button(); - this.BtnRemoveSpawnLog = new System.Windows.Forms.Button(); - this.GrpSpawnRecord = new System.Windows.Forms.GroupBox(); - this.ListSpawnLogs = new System.Windows.Forms.ListBox(); - this.GrpEntityType = new System.Windows.Forms.GroupBox(); - this.RbEntityAnimal = new System.Windows.Forms.RadioButton(); - this.RbEntityMonster = new System.Windows.Forms.RadioButton(); - this.LblSpawnDescription = new System.Windows.Forms.Label(); - this.LblEntityAmount = new System.Windows.Forms.Label(); - this.LblEntityLevel = new System.Windows.Forms.Label(); - this.NUDEntityAmout = new System.Windows.Forms.NumericUpDown(); - this.NUDEntityLevel = new System.Windows.Forms.NumericUpDown(); - this.TxtEntityFilter = new System.Windows.Forms.TextBox(); - this.ListEntity = new System.Windows.Forms.ListBox(); - this.TPQuest = new System.Windows.Forms.TabPage(); - this.GrpQuestFilters = new System.Windows.Forms.GroupBox(); - this.ChkQuestFilterTEST = new System.Windows.Forms.CheckBox(); - this.ChkQuestFilterUNRELEASED = new System.Windows.Forms.CheckBox(); - this.ChkQuestFilterHIDDEN = new System.Windows.Forms.CheckBox(); - this.BtnFinishQuest = new System.Windows.Forms.Button(); - this.BtnAddQuest = new System.Windows.Forms.Button(); - this.LblQuestDescription = new System.Windows.Forms.Label(); - this.TxtQuestFilter = new System.Windows.Forms.TextBox(); - this.ListQuest = new System.Windows.Forms.ListBox(); - this.TPArtifact = new System.Windows.Forms.TabPage(); - this.LblArtifactLevelTip = new System.Windows.Forms.Label(); - this.BtnAddSubAttr = new System.Windows.Forms.Button(); - this.LblArtifactName = new System.Windows.Forms.Label(); - this.LblArtifactPart = new System.Windows.Forms.Label(); - this.CmbArtifactPart = new System.Windows.Forms.ComboBox(); - this.CmbArtifactSet = new System.Windows.Forms.ComboBox(); - this.LblArtifactSet = new System.Windows.Forms.Label(); - this.NUDSubAttributionTimes = new System.Windows.Forms.NumericUpDown(); - this.CmbSubAttributionValue = new System.Windows.Forms.ComboBox(); - this.CmbSubAttribution = new System.Windows.Forms.ComboBox(); - this.LblClearSubAttrCheckedList = new System.Windows.Forms.Label(); - this.ListSubAttributionChecked = new System.Windows.Forms.ListBox(); - this.LblArtifactLevel = new System.Windows.Forms.Label(); - this.LblSubAttribution = new System.Windows.Forms.Label(); - this.CmbMainAttribution = new System.Windows.Forms.ComboBox(); - this.LblMainAttribution = new System.Windows.Forms.Label(); - this.NUDArtifactLevel = new System.Windows.Forms.NumericUpDown(); - this.LblArtifactStars = new System.Windows.Forms.Label(); - this.NUDArtifactStars = new System.Windows.Forms.NumericUpDown(); - this.TPCustom = new System.Windows.Forms.TabPage(); - this.BtnExportCustomCommands = new System.Windows.Forms.Button(); - this.BtnLoadCustomCommands = new System.Windows.Forms.Button(); - this.LblCustomName = new System.Windows.Forms.Label(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.LnkResetCustomCommands = new System.Windows.Forms.LinkLabel(); - this.FLPCustomCommands = new System.Windows.Forms.FlowLayoutPanel(); - this.BtnRemoveCustomCommand = new System.Windows.Forms.Button(); - this.BtnSaveCustomCommand = new System.Windows.Forms.Button(); - this.TxtCustomName = new System.Windows.Forms.TextBox(); - this.TPHome = new System.Windows.Forms.TabPage(); - this.LnkNewVersion = new System.Windows.Forms.LinkLabel(); - this.LblAbout = new System.Windows.Forms.Label(); - this.BtnOpenTextMap = new System.Windows.Forms.Button(); - this.BtnOpenGachaBannerEditor = new System.Windows.Forms.Button(); - this.GrasscutterToolsIcon = new System.Windows.Forms.PictureBox(); - this.GrpSettings = new System.Windows.Forms.GroupBox(); - this.LblGCVersion = new System.Windows.Forms.Label(); - this.CmbGcVersions = new System.Windows.Forms.ComboBox(); - this.ChkTopMost = new System.Windows.Forms.CheckBox(); - this.CmbLanguage = new System.Windows.Forms.ComboBox(); - this.LblLanguage = new System.Windows.Forms.Label(); - this.NUDUid = new System.Windows.Forms.NumericUpDown(); - this.ChkIncludeUID = new System.Windows.Forms.CheckBox(); - this.LblDefaultUid = new System.Windows.Forms.Label(); - this.TCMain = new System.Windows.Forms.TabControl(); - this.GrpCommand.SuspendLayout(); - this.TPRemoteCall.SuspendLayout(); - this.GrpServerStatus.SuspendLayout(); - this.GrpRemoteCommand.SuspendLayout(); - this.TPOpenCommandCheck.SuspendLayout(); - this.TPPlayerCheck.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDRemotePlayerId)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDVerificationCode)).BeginInit(); - this.TPConsoleCheck.SuspendLayout(); - this.TPAbout.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.GrasscutterToolsSupport)).BeginInit(); - this.TPManage.SuspendLayout(); - this.GrpBanPlayer.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBanUID)).BeginInit(); - this.GrpAccount.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAccountUid)).BeginInit(); - this.GrpPermission.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDPermUID)).BeginInit(); - this.TPScene.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpZ)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpY)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpX)).BeginInit(); - this.TPItem.SuspendLayout(); - this.GrpGiveItemRecord.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemAmout)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemLevel)).BeginInit(); - this.TPWeapon.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDWeaponRefinement)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDWeaponAmout)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDWeaponLevel)).BeginInit(); - this.TPStats.SuspendLayout(); - this.GrpSetStats.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDStat)).BeginInit(); - this.GrpTalentLevel.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTalentLevel)).BeginInit(); - this.TPAvatar.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarConstellation)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.ImgAvatar)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarLevel)).BeginInit(); - this.TPSpawn.SuspendLayout(); - this.GrpSpawnRecord.SuspendLayout(); - this.GrpEntityType.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEntityAmout)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEntityLevel)).BeginInit(); - this.TPQuest.SuspendLayout(); - this.GrpQuestFilters.SuspendLayout(); - this.TPArtifact.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDSubAttributionTimes)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDArtifactLevel)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDArtifactStars)).BeginInit(); - this.TPCustom.SuspendLayout(); - this.groupBox1.SuspendLayout(); - this.TPHome.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.GrasscutterToolsIcon)).BeginInit(); - this.GrpSettings.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDUid)).BeginInit(); - this.TCMain.SuspendLayout(); - this.SuspendLayout(); - // - // TxtCommand - // - resources.ApplyResources(this.TxtCommand, "TxtCommand"); - this.TxtCommand.Name = "TxtCommand"; - // - // BtnCopy - // - resources.ApplyResources(this.BtnCopy, "BtnCopy"); - this.BtnCopy.Name = "BtnCopy"; - this.BtnCopy.UseVisualStyleBackColor = true; - this.BtnCopy.Click += new System.EventHandler(this.BtnCopy_Click); - // - // ChkAutoCopy - // - resources.ApplyResources(this.ChkAutoCopy, "ChkAutoCopy"); - this.ChkAutoCopy.Name = "ChkAutoCopy"; - this.ChkAutoCopy.UseVisualStyleBackColor = true; - // - // 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); - this.GrpCommand.Name = "GrpCommand"; - this.GrpCommand.TabStop = false; - // - // BtnInvokeOpenCommand - // - resources.ApplyResources(this.BtnInvokeOpenCommand, "BtnInvokeOpenCommand"); - this.BtnInvokeOpenCommand.Name = "BtnInvokeOpenCommand"; - this.BtnInvokeOpenCommand.UseVisualStyleBackColor = true; - this.BtnInvokeOpenCommand.Click += new System.EventHandler(this.BtnInvokeOpenCommand_Click); - // - // TPRemoteCall - // - resources.ApplyResources(this.TPRemoteCall, "TPRemoteCall"); - this.TPRemoteCall.Controls.Add(this.LnkLinks); - this.TPRemoteCall.Controls.Add(this.LnkGOODHelp); - this.TPRemoteCall.Controls.Add(this.LnkInventoryKamera); - this.TPRemoteCall.Controls.Add(this.LblGOODHelp); - this.TPRemoteCall.Controls.Add(this.ButtonOpenGOODImport); - this.TPRemoteCall.Controls.Add(this.LblHostTip); - 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); - this.TPRemoteCall.Name = "TPRemoteCall"; - this.TPRemoteCall.UseVisualStyleBackColor = true; - this.TPRemoteCall.Enter += new System.EventHandler(this.TPRemoteCall_Enter); - // - // LnkLinks - // - resources.ApplyResources(this.LnkLinks, "LnkLinks"); - this.LnkLinks.Name = "LnkLinks"; - this.LnkLinks.TabStop = true; - this.LnkLinks.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkLinks_LinkClicked); - // - // LnkGOODHelp - // - resources.ApplyResources(this.LnkGOODHelp, "LnkGOODHelp"); - this.LnkGOODHelp.Cursor = System.Windows.Forms.Cursors.Help; - this.LnkGOODHelp.Name = "LnkGOODHelp"; - this.LnkGOODHelp.TabStop = true; - this.LnkGOODHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkGOODHelp_LinkClicked); - // - // LnkInventoryKamera - // - resources.ApplyResources(this.LnkInventoryKamera, "LnkInventoryKamera"); - this.LnkInventoryKamera.Name = "LnkInventoryKamera"; - this.LnkInventoryKamera.TabStop = true; - this.LnkInventoryKamera.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkInventoryKamera_LinkClicked); - // - // LblGOODHelp - // - resources.ApplyResources(this.LblGOODHelp, "LblGOODHelp"); - this.LblGOODHelp.Name = "LblGOODHelp"; - // - // ButtonOpenGOODImport - // - resources.ApplyResources(this.ButtonOpenGOODImport, "ButtonOpenGOODImport"); - this.ButtonOpenGOODImport.Name = "ButtonOpenGOODImport"; - this.ButtonOpenGOODImport.UseVisualStyleBackColor = true; - this.ButtonOpenGOODImport.Click += new System.EventHandler(this.ButtonOpenGOODImport_Click); - // - // LblHostTip - // - resources.ApplyResources(this.LblHostTip, "LblHostTip"); - this.LblHostTip.ForeColor = System.Drawing.SystemColors.GrayText; - this.LblHostTip.Name = "LblHostTip"; - // - // GrpServerStatus - // - resources.ApplyResources(this.GrpServerStatus, "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); - this.GrpServerStatus.Name = "GrpServerStatus"; - this.GrpServerStatus.TabStop = false; - // - // 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); - // - // LblOpenCommandSupport - // - resources.ApplyResources(this.LblOpenCommandSupport, "LblOpenCommandSupport"); - this.LblOpenCommandSupport.Name = "LblOpenCommandSupport"; - // - // LblServerVersion - // - resources.ApplyResources(this.LblServerVersion, "LblServerVersion"); - this.LblServerVersion.Name = "LblServerVersion"; - // - // LblPlayerCount - // - resources.ApplyResources(this.LblPlayerCount, "LblPlayerCount"); - this.LblPlayerCount.Name = "LblPlayerCount"; - // - // LblServerVersionLabel - // - resources.ApplyResources(this.LblServerVersionLabel, "LblServerVersionLabel"); - this.LblServerVersionLabel.Name = "LblServerVersionLabel"; - // - // LblPlayerCountLabel - // - resources.ApplyResources(this.LblPlayerCountLabel, "LblPlayerCountLabel"); - this.LblPlayerCountLabel.Name = "LblPlayerCountLabel"; - // - // GrpRemoteCommand - // - resources.ApplyResources(this.GrpRemoteCommand, "GrpRemoteCommand"); - this.GrpRemoteCommand.Controls.Add(this.TPOpenCommandCheck); - this.GrpRemoteCommand.Name = "GrpRemoteCommand"; - this.GrpRemoteCommand.TabStop = false; - // - // TPOpenCommandCheck - // - resources.ApplyResources(this.TPOpenCommandCheck, "TPOpenCommandCheck"); - this.TPOpenCommandCheck.Controls.Add(this.TPPlayerCheck); - this.TPOpenCommandCheck.Controls.Add(this.TPConsoleCheck); - this.TPOpenCommandCheck.Name = "TPOpenCommandCheck"; - this.TPOpenCommandCheck.SelectedIndex = 0; - // - // TPPlayerCheck - // - resources.ApplyResources(this.TPPlayerCheck, "TPPlayerCheck"); - this.TPPlayerCheck.Controls.Add(this.LnkRCHelp); - this.TPPlayerCheck.Controls.Add(this.NUDRemotePlayerId); - this.TPPlayerCheck.Controls.Add(this.BtnConnectOpenCommand); - this.TPPlayerCheck.Controls.Add(this.LblVerificationCode); - this.TPPlayerCheck.Controls.Add(this.BtnSendVerificationCode); - this.TPPlayerCheck.Controls.Add(this.NUDVerificationCode); - this.TPPlayerCheck.Controls.Add(this.LblRemotePlayerId); - this.TPPlayerCheck.Name = "TPPlayerCheck"; - this.TPPlayerCheck.UseVisualStyleBackColor = true; - // - // 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); - // - // 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}); - // - // BtnConnectOpenCommand - // - resources.ApplyResources(this.BtnConnectOpenCommand, "BtnConnectOpenCommand"); - this.BtnConnectOpenCommand.Name = "BtnConnectOpenCommand"; - this.BtnConnectOpenCommand.UseVisualStyleBackColor = true; - this.BtnConnectOpenCommand.Click += new System.EventHandler(this.BtnConnectOpenCommand_Click); - // - // LblVerificationCode - // - resources.ApplyResources(this.LblVerificationCode, "LblVerificationCode"); - this.LblVerificationCode.Name = "LblVerificationCode"; - // - // BtnSendVerificationCode - // - resources.ApplyResources(this.BtnSendVerificationCode, "BtnSendVerificationCode"); - this.BtnSendVerificationCode.Name = "BtnSendVerificationCode"; - this.BtnSendVerificationCode.UseVisualStyleBackColor = true; - this.BtnSendVerificationCode.Click += new System.EventHandler(this.BtnSendVerificationCode_Click); - // - // 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}); - // - // LblRemotePlayerId - // - resources.ApplyResources(this.LblRemotePlayerId, "LblRemotePlayerId"); - this.LblRemotePlayerId.Name = "LblRemotePlayerId"; - // - // TPConsoleCheck - // - resources.ApplyResources(this.TPConsoleCheck, "TPConsoleCheck"); - this.TPConsoleCheck.Controls.Add(this.BtnConsoleConnect); - this.TPConsoleCheck.Controls.Add(this.TxtToken); - this.TPConsoleCheck.Controls.Add(this.LblToken); - this.TPConsoleCheck.Controls.Add(this.LblConsoleTip); - this.TPConsoleCheck.Name = "TPConsoleCheck"; - this.TPConsoleCheck.UseVisualStyleBackColor = true; - // - // BtnConsoleConnect - // - resources.ApplyResources(this.BtnConsoleConnect, "BtnConsoleConnect"); - this.BtnConsoleConnect.Name = "BtnConsoleConnect"; - this.BtnConsoleConnect.UseVisualStyleBackColor = true; - this.BtnConsoleConnect.Click += new System.EventHandler(this.BtnConsoleConnect_Click); - // - // TxtToken - // - resources.ApplyResources(this.TxtToken, "TxtToken"); - this.TxtToken.Name = "TxtToken"; - // - // LblToken - // - resources.ApplyResources(this.LblToken, "LblToken"); - this.LblToken.Name = "LblToken"; - // - // LblConsoleTip - // - resources.ApplyResources(this.LblConsoleTip, "LblConsoleTip"); - this.LblConsoleTip.Name = "LblConsoleTip"; - // - // TxtHost - // - resources.ApplyResources(this.TxtHost, "TxtHost"); - this.TxtHost.Name = "TxtHost"; - // - // BtnQueryServerStatus - // - resources.ApplyResources(this.BtnQueryServerStatus, "BtnQueryServerStatus"); - this.BtnQueryServerStatus.Name = "BtnQueryServerStatus"; - this.BtnQueryServerStatus.UseVisualStyleBackColor = true; - this.BtnQueryServerStatus.Click += new System.EventHandler(this.BtnQueryServerStatus_Click); - // - // LblHost - // - resources.ApplyResources(this.LblHost, "LblHost"); - this.LblHost.Name = "LblHost"; - // - // TPAbout - // - resources.ApplyResources(this.TPAbout, "TPAbout"); - this.TPAbout.Controls.Add(this.GrasscutterToolsSupport); - this.TPAbout.Controls.Add(this.LnkGithub); - this.TPAbout.Controls.Add(this.LblSupportDescription); - this.TPAbout.Name = "TPAbout"; - this.TPAbout.UseVisualStyleBackColor = true; - // - // GrasscutterToolsSupport - // - resources.ApplyResources(this.GrasscutterToolsSupport, "GrasscutterToolsSupport"); - this.GrasscutterToolsSupport.Image = global::GrasscutterTools.Properties.Resources.ImgSupport; - this.GrasscutterToolsSupport.Name = "GrasscutterToolsSupport"; - this.GrasscutterToolsSupport.TabStop = false; - // - // LnkGithub - // - resources.ApplyResources(this.LnkGithub, "LnkGithub"); - this.LnkGithub.Name = "LnkGithub"; - this.LnkGithub.TabStop = true; - this.LnkGithub.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkGithub_LinkClicked); - // - // LblSupportDescription - // - resources.ApplyResources(this.LblSupportDescription, "LblSupportDescription"); - this.LblSupportDescription.Name = "LblSupportDescription"; - // - // TPManage - // - resources.ApplyResources(this.TPManage, "TPManage"); - this.TPManage.Controls.Add(this.GrpBanPlayer); - this.TPManage.Controls.Add(this.GrpAccount); - this.TPManage.Controls.Add(this.GrpPermission); - this.TPManage.Name = "TPManage"; - this.TPManage.UseVisualStyleBackColor = true; - // - // GrpBanPlayer - // - resources.ApplyResources(this.GrpBanPlayer, "GrpBanPlayer"); - this.GrpBanPlayer.Controls.Add(this.DTPBanEndTime); - this.GrpBanPlayer.Controls.Add(this.BtnUnban); - this.GrpBanPlayer.Controls.Add(this.BtnBan); - this.GrpBanPlayer.Controls.Add(this.TxtBanReason); - this.GrpBanPlayer.Controls.Add(this.NUDBanUID); - this.GrpBanPlayer.Controls.Add(this.LblBanUID); - this.GrpBanPlayer.Name = "GrpBanPlayer"; - this.GrpBanPlayer.TabStop = false; - // - // DTPBanEndTime - // - resources.ApplyResources(this.DTPBanEndTime, "DTPBanEndTime"); - this.DTPBanEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Short; - this.DTPBanEndTime.MaxDate = new System.DateTime(2034, 12, 31, 0, 0, 0, 0); - this.DTPBanEndTime.MinDate = new System.DateTime(2022, 6, 28, 0, 0, 0, 0); - this.DTPBanEndTime.Name = "DTPBanEndTime"; - this.DTPBanEndTime.Value = new System.DateTime(2025, 12, 31, 0, 0, 0, 0); - // - // BtnUnban - // - resources.ApplyResources(this.BtnUnban, "BtnUnban"); - this.BtnUnban.Name = "BtnUnban"; - this.BtnUnban.UseVisualStyleBackColor = true; - this.BtnUnban.Click += new System.EventHandler(this.BtnUnban_Click); - // - // BtnBan - // - resources.ApplyResources(this.BtnBan, "BtnBan"); - this.BtnBan.Name = "BtnBan"; - this.BtnBan.UseVisualStyleBackColor = true; - this.BtnBan.Click += new System.EventHandler(this.BtnBan_Click); - // - // TxtBanReason - // - resources.ApplyResources(this.TxtBanReason, "TxtBanReason"); - this.TxtBanReason.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TxtBanReason.Maximum = 0F; - this.TxtBanReason.Minimum = 0F; - this.TxtBanReason.Name = "TxtBanReason"; - // - // NUDBanUID - // - resources.ApplyResources(this.NUDBanUID, "NUDBanUID"); - this.NUDBanUID.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDBanUID.Name = "NUDBanUID"; - this.NUDBanUID.Value = new decimal(new int[] { - 10001, - 0, - 0, - 0}); - // - // LblBanUID - // - resources.ApplyResources(this.LblBanUID, "LblBanUID"); - this.LblBanUID.Name = "LblBanUID"; - // - // GrpAccount - // - resources.ApplyResources(this.GrpAccount, "GrpAccount"); - this.GrpAccount.Controls.Add(this.ChkAccountSetUid); - this.GrpAccount.Controls.Add(this.NUDAccountUid); - this.GrpAccount.Controls.Add(this.BtnDeleteAccount); - this.GrpAccount.Controls.Add(this.BtnCreateAccount); - this.GrpAccount.Controls.Add(this.LblAccountUserName); - this.GrpAccount.Controls.Add(this.TxtAccountUserName); - this.GrpAccount.Name = "GrpAccount"; - this.GrpAccount.TabStop = false; - // - // ChkAccountSetUid - // - resources.ApplyResources(this.ChkAccountSetUid, "ChkAccountSetUid"); - this.ChkAccountSetUid.Name = "ChkAccountSetUid"; - this.ChkAccountSetUid.UseVisualStyleBackColor = true; - // - // NUDAccountUid - // - resources.ApplyResources(this.NUDAccountUid, "NUDAccountUid"); - this.NUDAccountUid.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDAccountUid.Name = "NUDAccountUid"; - this.NUDAccountUid.Value = new decimal(new int[] { - 10001, - 0, - 0, - 0}); - // - // BtnDeleteAccount - // - resources.ApplyResources(this.BtnDeleteAccount, "BtnDeleteAccount"); - this.BtnDeleteAccount.Name = "BtnDeleteAccount"; - this.BtnDeleteAccount.Tag = "delete"; - this.BtnDeleteAccount.UseVisualStyleBackColor = true; - this.BtnDeleteAccount.Click += new System.EventHandler(this.AccountButtonClicked); - // - // BtnCreateAccount - // - resources.ApplyResources(this.BtnCreateAccount, "BtnCreateAccount"); - this.BtnCreateAccount.Name = "BtnCreateAccount"; - this.BtnCreateAccount.Tag = "create"; - this.BtnCreateAccount.UseVisualStyleBackColor = true; - this.BtnCreateAccount.Click += new System.EventHandler(this.AccountButtonClicked); - // - // LblAccountUserName - // - resources.ApplyResources(this.LblAccountUserName, "LblAccountUserName"); - this.LblAccountUserName.Name = "LblAccountUserName"; - // - // TxtAccountUserName - // - resources.ApplyResources(this.TxtAccountUserName, "TxtAccountUserName"); - this.TxtAccountUserName.Name = "TxtAccountUserName"; - // - // GrpPermission - // - resources.ApplyResources(this.GrpPermission, "GrpPermission"); - this.GrpPermission.Controls.Add(this.CmbPerm); - this.GrpPermission.Controls.Add(this.NUDPermUID); - this.GrpPermission.Controls.Add(this.BtnPermClear); - this.GrpPermission.Controls.Add(this.BtmPermRemove); - this.GrpPermission.Controls.Add(this.BtnPermList); - this.GrpPermission.Controls.Add(this.BtnPermAdd); - this.GrpPermission.Controls.Add(this.LblPerm); - this.GrpPermission.Controls.Add(this.LblPermUID); - this.GrpPermission.Name = "GrpPermission"; - this.GrpPermission.TabStop = false; - // - // CmbPerm - // - resources.ApplyResources(this.CmbPerm, "CmbPerm"); - this.CmbPerm.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CmbPerm.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CmbPerm.FormattingEnabled = true; - this.CmbPerm.Name = "CmbPerm"; - // - // NUDPermUID - // - resources.ApplyResources(this.NUDPermUID, "NUDPermUID"); - this.NUDPermUID.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDPermUID.Name = "NUDPermUID"; - this.NUDPermUID.Value = new decimal(new int[] { - 10001, - 0, - 0, - 0}); - // - // BtnPermClear - // - resources.ApplyResources(this.BtnPermClear, "BtnPermClear"); - this.BtnPermClear.Name = "BtnPermClear"; - this.BtnPermClear.Tag = "clear"; - this.BtnPermClear.UseVisualStyleBackColor = true; - this.BtnPermClear.Click += new System.EventHandler(this.BtnPermClick); - // - // BtmPermRemove - // - resources.ApplyResources(this.BtmPermRemove, "BtmPermRemove"); - this.BtmPermRemove.Name = "BtmPermRemove"; - this.BtmPermRemove.Tag = "remove"; - this.BtmPermRemove.UseVisualStyleBackColor = true; - this.BtmPermRemove.Click += new System.EventHandler(this.BtnPermClick); - // - // BtnPermList - // - resources.ApplyResources(this.BtnPermList, "BtnPermList"); - this.BtnPermList.Name = "BtnPermList"; - this.BtnPermList.Tag = "list"; - this.BtnPermList.UseVisualStyleBackColor = true; - this.BtnPermList.Click += new System.EventHandler(this.BtnPermClick); - // - // BtnPermAdd - // - resources.ApplyResources(this.BtnPermAdd, "BtnPermAdd"); - this.BtnPermAdd.Name = "BtnPermAdd"; - this.BtnPermAdd.Tag = "add"; - this.BtnPermAdd.UseVisualStyleBackColor = true; - this.BtnPermAdd.Click += new System.EventHandler(this.BtnPermClick); - // - // LblPerm - // - resources.ApplyResources(this.LblPerm, "LblPerm"); - this.LblPerm.Name = "LblPerm"; - // - // LblPermUID - // - resources.ApplyResources(this.LblPermUID, "LblPermUID"); - this.LblPermUID.Name = "LblPermUID"; - // - // TPScene - // - resources.ApplyResources(this.TPScene, "TPScene"); - this.TPScene.Controls.Add(this.TxtSceneFilter); - this.TPScene.Controls.Add(this.ChkIncludeSceneId); - this.TPScene.Controls.Add(this.LblTpZ); - this.TPScene.Controls.Add(this.LblTpY); - this.TPScene.Controls.Add(this.BtnTeleport); - this.TPScene.Controls.Add(this.LblTpX); - this.TPScene.Controls.Add(this.NUDTpZ); - this.TPScene.Controls.Add(this.NUDTpY); - this.TPScene.Controls.Add(this.NUDTpX); - this.TPScene.Controls.Add(this.CmbClimateType); - this.TPScene.Controls.Add(this.LblClimateType); - this.TPScene.Controls.Add(this.LblSceneDescription); - this.TPScene.Controls.Add(this.ListScenes); - this.TPScene.Controls.Add(this.LblTp); - this.TPScene.Name = "TPScene"; - this.TPScene.UseVisualStyleBackColor = true; - // - // TxtSceneFilter - // - resources.ApplyResources(this.TxtSceneFilter, "TxtSceneFilter"); - this.TxtSceneFilter.Name = "TxtSceneFilter"; - this.TxtSceneFilter.TextChanged += new System.EventHandler(this.TxtSceneFilter_TextChanged); - // - // ChkIncludeSceneId - // - resources.ApplyResources(this.ChkIncludeSceneId, "ChkIncludeSceneId"); - this.ChkIncludeSceneId.Name = "ChkIncludeSceneId"; - this.ChkIncludeSceneId.UseVisualStyleBackColor = true; - // - // LblTpZ - // - resources.ApplyResources(this.LblTpZ, "LblTpZ"); - this.LblTpZ.Name = "LblTpZ"; - // - // LblTpY - // - resources.ApplyResources(this.LblTpY, "LblTpY"); - this.LblTpY.Name = "LblTpY"; - // - // BtnTeleport - // - resources.ApplyResources(this.BtnTeleport, "BtnTeleport"); - this.BtnTeleport.Name = "BtnTeleport"; - this.BtnTeleport.UseVisualStyleBackColor = true; - this.BtnTeleport.Click += new System.EventHandler(this.BtnTeleport_Click); - // - // LblTpX - // - resources.ApplyResources(this.LblTpX, "LblTpX"); - this.LblTpX.Name = "LblTpX"; - // - // NUDTpZ - // - resources.ApplyResources(this.NUDTpZ, "NUDTpZ"); - this.NUDTpZ.Increment = new decimal(new int[] { - 100, - 0, - 0, - 0}); - this.NUDTpZ.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDTpZ.Minimum = new decimal(new int[] { - -2147483648, - 0, - 0, - -2147483648}); - this.NUDTpZ.Name = "NUDTpZ"; - // - // NUDTpY - // - resources.ApplyResources(this.NUDTpY, "NUDTpY"); - this.NUDTpY.Increment = new decimal(new int[] { - 100, - 0, - 0, - 0}); - this.NUDTpY.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDTpY.Minimum = new decimal(new int[] { - -2147483648, - 0, - 0, - -2147483648}); - this.NUDTpY.Name = "NUDTpY"; - this.NUDTpY.Value = new decimal(new int[] { - 300, - 0, - 0, - 0}); - // - // NUDTpX - // - resources.ApplyResources(this.NUDTpX, "NUDTpX"); - this.NUDTpX.Increment = new decimal(new int[] { - 100, - 0, - 0, - 0}); - this.NUDTpX.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDTpX.Minimum = new decimal(new int[] { - -2147483648, - 0, - 0, - -2147483648}); - this.NUDTpX.Name = "NUDTpX"; - // - // CmbClimateType - // - resources.ApplyResources(this.CmbClimateType, "CmbClimateType"); - this.CmbClimateType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbClimateType.FormattingEnabled = true; - this.CmbClimateType.Name = "CmbClimateType"; - this.CmbClimateType.SelectedIndexChanged += new System.EventHandler(this.CmbClimateType_SelectedIndexChanged); - // - // LblClimateType - // - resources.ApplyResources(this.LblClimateType, "LblClimateType"); - this.LblClimateType.Name = "LblClimateType"; - // - // LblSceneDescription - // - resources.ApplyResources(this.LblSceneDescription, "LblSceneDescription"); - this.LblSceneDescription.Name = "LblSceneDescription"; - // - // ListScenes - // - resources.ApplyResources(this.ListScenes, "ListScenes"); - this.ListScenes.FormattingEnabled = true; - this.ListScenes.Name = "ListScenes"; - this.ListScenes.SelectedIndexChanged += new System.EventHandler(this.ListScenes_SelectedIndexChanged); - // - // LblTp - // - resources.ApplyResources(this.LblTp, "LblTp"); - this.LblTp.Name = "LblTp"; - // - // TPItem - // - resources.ApplyResources(this.TPItem, "TPItem"); - this.TPItem.Controls.Add(this.LblClearGiveItemLogs); - this.TPItem.Controls.Add(this.BtnSaveGiveItemLog); - this.TPItem.Controls.Add(this.BtnRemoveGiveItemLog); - this.TPItem.Controls.Add(this.GrpGiveItemRecord); - this.TPItem.Controls.Add(this.ChkDrop); - this.TPItem.Controls.Add(this.TxtGameItemFilter); - this.TPItem.Controls.Add(this.ListGameItems); - this.TPItem.Controls.Add(this.LblGameItemAmount); - this.TPItem.Controls.Add(this.LblGameItemLevel); - this.TPItem.Controls.Add(this.NUDGameItemAmout); - this.TPItem.Controls.Add(this.NUDGameItemLevel); - this.TPItem.Controls.Add(this.LblGiveCommandDescription); - this.TPItem.Name = "TPItem"; - this.TPItem.UseVisualStyleBackColor = true; - // - // LblClearGiveItemLogs - // - resources.ApplyResources(this.LblClearGiveItemLogs, "LblClearGiveItemLogs"); - this.LblClearGiveItemLogs.Cursor = System.Windows.Forms.Cursors.Hand; - this.LblClearGiveItemLogs.Name = "LblClearGiveItemLogs"; - this.LblClearGiveItemLogs.Click += new System.EventHandler(this.LblClearGiveItemLogs_Click); - // - // BtnSaveGiveItemLog - // - resources.ApplyResources(this.BtnSaveGiveItemLog, "BtnSaveGiveItemLog"); - this.BtnSaveGiveItemLog.Name = "BtnSaveGiveItemLog"; - this.BtnSaveGiveItemLog.UseVisualStyleBackColor = true; - this.BtnSaveGiveItemLog.Click += new System.EventHandler(this.BtnSaveGiveItemLog_Click); - // - // BtnRemoveGiveItemLog - // - resources.ApplyResources(this.BtnRemoveGiveItemLog, "BtnRemoveGiveItemLog"); - this.BtnRemoveGiveItemLog.Name = "BtnRemoveGiveItemLog"; - this.BtnRemoveGiveItemLog.UseVisualStyleBackColor = true; - this.BtnRemoveGiveItemLog.Click += new System.EventHandler(this.BtnRemoveGiveItemLog_Click); - // - // GrpGiveItemRecord - // - resources.ApplyResources(this.GrpGiveItemRecord, "GrpGiveItemRecord"); - this.GrpGiveItemRecord.Controls.Add(this.ListGiveItemLogs); - this.GrpGiveItemRecord.Name = "GrpGiveItemRecord"; - this.GrpGiveItemRecord.TabStop = false; - // - // ListGiveItemLogs - // - resources.ApplyResources(this.ListGiveItemLogs, "ListGiveItemLogs"); - this.ListGiveItemLogs.FormattingEnabled = true; - this.ListGiveItemLogs.Name = "ListGiveItemLogs"; - this.ListGiveItemLogs.SelectedIndexChanged += new System.EventHandler(this.ListGiveItemLogs_SelectedIndexChanged); - // - // ChkDrop - // - resources.ApplyResources(this.ChkDrop, "ChkDrop"); - this.ChkDrop.Name = "ChkDrop"; - this.ChkDrop.UseVisualStyleBackColor = true; - this.ChkDrop.CheckedChanged += new System.EventHandler(this.GiveItemsInputChanged); - // - // TxtGameItemFilter - // - resources.ApplyResources(this.TxtGameItemFilter, "TxtGameItemFilter"); - this.TxtGameItemFilter.Name = "TxtGameItemFilter"; - this.TxtGameItemFilter.TextChanged += new System.EventHandler(this.TxtGameItemFilter_TextChanged); - // - // ListGameItems - // - resources.ApplyResources(this.ListGameItems, "ListGameItems"); - this.ListGameItems.FormattingEnabled = true; - this.ListGameItems.Name = "ListGameItems"; - this.ListGameItems.SelectedIndexChanged += new System.EventHandler(this.GiveItemsInputChanged); - // - // LblGameItemAmount - // - resources.ApplyResources(this.LblGameItemAmount, "LblGameItemAmount"); - this.LblGameItemAmount.Name = "LblGameItemAmount"; - // - // LblGameItemLevel - // - resources.ApplyResources(this.LblGameItemLevel, "LblGameItemLevel"); - this.LblGameItemLevel.Name = "LblGameItemLevel"; - // - // NUDGameItemAmout - // - resources.ApplyResources(this.NUDGameItemAmout, "NUDGameItemAmout"); - this.NUDGameItemAmout.Maximum = new decimal(new int[] { - 1000000, - 0, - 0, - 0}); - this.NUDGameItemAmout.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDGameItemAmout.Name = "NUDGameItemAmout"; - this.NUDGameItemAmout.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDGameItemAmout.ValueChanged += new System.EventHandler(this.GiveItemsInputChanged); - // - // NUDGameItemLevel - // - resources.ApplyResources(this.NUDGameItemLevel, "NUDGameItemLevel"); - this.NUDGameItemLevel.Maximum = new decimal(new int[] { - 21, - 0, - 0, - 0}); - this.NUDGameItemLevel.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDGameItemLevel.Name = "NUDGameItemLevel"; - this.NUDGameItemLevel.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDGameItemLevel.ValueChanged += new System.EventHandler(this.GiveItemsInputChanged); - // - // LblGiveCommandDescription - // - resources.ApplyResources(this.LblGiveCommandDescription, "LblGiveCommandDescription"); - this.LblGiveCommandDescription.Name = "LblGiveCommandDescription"; - // - // TPWeapon - // - resources.ApplyResources(this.TPWeapon, "TPWeapon"); - this.TPWeapon.Controls.Add(this.BtnGiveAllWeapons); - this.TPWeapon.Controls.Add(this.TxtWeaponFilter); - this.TPWeapon.Controls.Add(this.LblWeaponDescription); - this.TPWeapon.Controls.Add(this.LblWeaponRefinement); - this.TPWeapon.Controls.Add(this.LblWeaponAmount); - this.TPWeapon.Controls.Add(this.LblWeaponLevel); - this.TPWeapon.Controls.Add(this.NUDWeaponRefinement); - this.TPWeapon.Controls.Add(this.NUDWeaponAmout); - this.TPWeapon.Controls.Add(this.NUDWeaponLevel); - this.TPWeapon.Controls.Add(this.ListWeapons); - this.TPWeapon.Name = "TPWeapon"; - this.TPWeapon.UseVisualStyleBackColor = true; - // - // BtnGiveAllWeapons - // - resources.ApplyResources(this.BtnGiveAllWeapons, "BtnGiveAllWeapons"); - this.BtnGiveAllWeapons.Name = "BtnGiveAllWeapons"; - this.BtnGiveAllWeapons.UseVisualStyleBackColor = true; - this.BtnGiveAllWeapons.Click += new System.EventHandler(this.BtnGiveAllWeapons_Click); - // - // TxtWeaponFilter - // - resources.ApplyResources(this.TxtWeaponFilter, "TxtWeaponFilter"); - this.TxtWeaponFilter.Name = "TxtWeaponFilter"; - this.TxtWeaponFilter.TextChanged += new System.EventHandler(this.TxtWeaponFilter_TextChanged); - // - // LblWeaponDescription - // - resources.ApplyResources(this.LblWeaponDescription, "LblWeaponDescription"); - this.LblWeaponDescription.Name = "LblWeaponDescription"; - // - // LblWeaponRefinement - // - resources.ApplyResources(this.LblWeaponRefinement, "LblWeaponRefinement"); - this.LblWeaponRefinement.Name = "LblWeaponRefinement"; - // - // LblWeaponAmount - // - resources.ApplyResources(this.LblWeaponAmount, "LblWeaponAmount"); - this.LblWeaponAmount.Name = "LblWeaponAmount"; - // - // LblWeaponLevel - // - resources.ApplyResources(this.LblWeaponLevel, "LblWeaponLevel"); - this.LblWeaponLevel.Name = "LblWeaponLevel"; - // - // NUDWeaponRefinement - // - resources.ApplyResources(this.NUDWeaponRefinement, "NUDWeaponRefinement"); - this.NUDWeaponRefinement.Maximum = new decimal(new int[] { - 5, - 0, - 0, - 0}); - this.NUDWeaponRefinement.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDWeaponRefinement.Name = "NUDWeaponRefinement"; - this.NUDWeaponRefinement.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDWeaponRefinement.ValueChanged += new System.EventHandler(this.WeaponValueChanged); - // - // NUDWeaponAmout - // - resources.ApplyResources(this.NUDWeaponAmout, "NUDWeaponAmout"); - this.NUDWeaponAmout.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDWeaponAmout.Name = "NUDWeaponAmout"; - this.NUDWeaponAmout.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDWeaponAmout.ValueChanged += new System.EventHandler(this.WeaponValueChanged); - // - // NUDWeaponLevel - // - resources.ApplyResources(this.NUDWeaponLevel, "NUDWeaponLevel"); - this.NUDWeaponLevel.Maximum = new decimal(new int[] { - 90, - 0, - 0, - 0}); - this.NUDWeaponLevel.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDWeaponLevel.Name = "NUDWeaponLevel"; - this.NUDWeaponLevel.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDWeaponLevel.ValueChanged += new System.EventHandler(this.WeaponValueChanged); - // - // ListWeapons - // - resources.ApplyResources(this.ListWeapons, "ListWeapons"); - this.ListWeapons.FormattingEnabled = true; - this.ListWeapons.Name = "ListWeapons"; - this.ListWeapons.SelectedIndexChanged += new System.EventHandler(this.WeaponValueChanged); - // - // TPStats - // - resources.ApplyResources(this.TPStats, "TPStats"); - this.TPStats.Controls.Add(this.GrpSetStats); - this.TPStats.Controls.Add(this.GrpTalentLevel); - this.TPStats.Controls.Add(this.LblStatsDescription); - this.TPStats.Name = "TPStats"; - this.TPStats.UseVisualStyleBackColor = true; - // - // GrpSetStats - // - resources.ApplyResources(this.GrpSetStats, "GrpSetStats"); - this.GrpSetStats.Controls.Add(this.BtnUnlockStat); - this.GrpSetStats.Controls.Add(this.BtnLockStat); - this.GrpSetStats.Controls.Add(this.LblStatTip); - this.GrpSetStats.Controls.Add(this.LblStatPercent); - this.GrpSetStats.Controls.Add(this.NUDStat); - this.GrpSetStats.Controls.Add(this.CmbStat); - this.GrpSetStats.Name = "GrpSetStats"; - this.GrpSetStats.TabStop = false; - // - // BtnUnlockStat - // - resources.ApplyResources(this.BtnUnlockStat, "BtnUnlockStat"); - this.BtnUnlockStat.Name = "BtnUnlockStat"; - this.BtnUnlockStat.UseVisualStyleBackColor = true; - this.BtnUnlockStat.Click += new System.EventHandler(this.BtnUnlockStat_Click); - // - // BtnLockStat - // - resources.ApplyResources(this.BtnLockStat, "BtnLockStat"); - this.BtnLockStat.Name = "BtnLockStat"; - this.BtnLockStat.UseVisualStyleBackColor = true; - this.BtnLockStat.Click += new System.EventHandler(this.BtnLockStat_Click); - // - // LblStatTip - // - resources.ApplyResources(this.LblStatTip, "LblStatTip"); - this.LblStatTip.AutoEllipsis = true; - this.LblStatTip.ForeColor = System.Drawing.SystemColors.GrayText; - this.LblStatTip.Name = "LblStatTip"; - // - // LblStatPercent - // - resources.ApplyResources(this.LblStatPercent, "LblStatPercent"); - this.LblStatPercent.Name = "LblStatPercent"; - // - // NUDStat - // - resources.ApplyResources(this.NUDStat, "NUDStat"); - this.NUDStat.Maximum = new decimal(new int[] { - 100000000, - 0, - 0, - 0}); - this.NUDStat.Name = "NUDStat"; - this.NUDStat.Value = new decimal(new int[] { - 100, - 0, - 0, - 0}); - this.NUDStat.ValueChanged += new System.EventHandler(this.SetStatsInputChanged); - // - // CmbStat - // - resources.ApplyResources(this.CmbStat, "CmbStat"); - this.CmbStat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbStat.FormattingEnabled = true; - this.CmbStat.Name = "CmbStat"; - this.CmbStat.SelectedIndexChanged += new System.EventHandler(this.SetStatsInputChanged); - // - // GrpTalentLevel - // - resources.ApplyResources(this.GrpTalentLevel, "GrpTalentLevel"); - this.GrpTalentLevel.Controls.Add(this.LnkTalentE); - this.GrpTalentLevel.Controls.Add(this.LnkTalentQ); - this.GrpTalentLevel.Controls.Add(this.LnkTalentNormalATK); - this.GrpTalentLevel.Controls.Add(this.NUDTalentLevel); - this.GrpTalentLevel.Name = "GrpTalentLevel"; - this.GrpTalentLevel.TabStop = false; - // - // LnkTalentE - // - resources.ApplyResources(this.LnkTalentE, "LnkTalentE"); - this.LnkTalentE.Name = "LnkTalentE"; - this.LnkTalentE.TabStop = true; - this.LnkTalentE.Tag = "e"; - this.LnkTalentE.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); - // - // LnkTalentQ - // - resources.ApplyResources(this.LnkTalentQ, "LnkTalentQ"); - this.LnkTalentQ.Name = "LnkTalentQ"; - this.LnkTalentQ.TabStop = true; - this.LnkTalentQ.Tag = "q"; - this.LnkTalentQ.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); - // - // LnkTalentNormalATK - // - resources.ApplyResources(this.LnkTalentNormalATK, "LnkTalentNormalATK"); - this.LnkTalentNormalATK.Name = "LnkTalentNormalATK"; - this.LnkTalentNormalATK.TabStop = true; - this.LnkTalentNormalATK.Tag = "n"; - this.LnkTalentNormalATK.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkSetTalentClicked); - // - // NUDTalentLevel - // - resources.ApplyResources(this.NUDTalentLevel, "NUDTalentLevel"); - this.NUDTalentLevel.Maximum = new decimal(new int[] { - 16, - 0, - 0, - 0}); - this.NUDTalentLevel.Name = "NUDTalentLevel"; - this.NUDTalentLevel.Value = new decimal(new int[] { - 10, - 0, - 0, - 0}); - // - // LblStatsDescription - // - resources.ApplyResources(this.LblStatsDescription, "LblStatsDescription"); - this.LblStatsDescription.Name = "LblStatsDescription"; - // - // TPAvatar - // - resources.ApplyResources(this.TPAvatar, "TPAvatar"); - this.TPAvatar.Controls.Add(this.BtnGiveAllChar); - this.TPAvatar.Controls.Add(this.LblAvatarConstellation); - this.TPAvatar.Controls.Add(this.NUDAvatarConstellation); - this.TPAvatar.Controls.Add(this.ImgAvatar); - this.TPAvatar.Controls.Add(this.LblAvatar); - this.TPAvatar.Controls.Add(this.LblAvatarLevel); - this.TPAvatar.Controls.Add(this.NUDAvatarLevel); - this.TPAvatar.Controls.Add(this.CmbAvatar); - this.TPAvatar.Name = "TPAvatar"; - this.TPAvatar.UseVisualStyleBackColor = true; - // - // BtnGiveAllChar - // - resources.ApplyResources(this.BtnGiveAllChar, "BtnGiveAllChar"); - this.BtnGiveAllChar.Name = "BtnGiveAllChar"; - this.BtnGiveAllChar.UseVisualStyleBackColor = true; - this.BtnGiveAllChar.Click += new System.EventHandler(this.BtnGiveAllChar_Click); - // - // LblAvatarConstellation - // - resources.ApplyResources(this.LblAvatarConstellation, "LblAvatarConstellation"); - this.LblAvatarConstellation.Name = "LblAvatarConstellation"; - // - // NUDAvatarConstellation - // - resources.ApplyResources(this.NUDAvatarConstellation, "NUDAvatarConstellation"); - this.NUDAvatarConstellation.Maximum = new decimal(new int[] { - 6, - 0, - 0, - 0}); - this.NUDAvatarConstellation.Name = "NUDAvatarConstellation"; - this.NUDAvatarConstellation.Value = new decimal(new int[] { - 6, - 0, - 0, - 0}); - this.NUDAvatarConstellation.ValueChanged += new System.EventHandler(this.NUDAvatarConstellation_ValueChanged); - // - // ImgAvatar - // - resources.ApplyResources(this.ImgAvatar, "ImgAvatar"); - this.ImgAvatar.Image = global::GrasscutterTools.Properties.Resources.ImgHome; - this.ImgAvatar.Name = "ImgAvatar"; - this.ImgAvatar.TabStop = false; - // - // LblAvatar - // - resources.ApplyResources(this.LblAvatar, "LblAvatar"); - this.LblAvatar.Name = "LblAvatar"; - // - // LblAvatarLevel - // - resources.ApplyResources(this.LblAvatarLevel, "LblAvatarLevel"); - this.LblAvatarLevel.Name = "LblAvatarLevel"; - // - // NUDAvatarLevel - // - resources.ApplyResources(this.NUDAvatarLevel, "NUDAvatarLevel"); - this.NUDAvatarLevel.Maximum = new decimal(new int[] { - 90, - 0, - 0, - 0}); - this.NUDAvatarLevel.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDAvatarLevel.Name = "NUDAvatarLevel"; - this.NUDAvatarLevel.Value = new decimal(new int[] { - 90, - 0, - 0, - 0}); - this.NUDAvatarLevel.ValueChanged += new System.EventHandler(this.NUDAvatarLevel_ValueChanged); - // - // CmbAvatar - // - resources.ApplyResources(this.CmbAvatar, "CmbAvatar"); - this.CmbAvatar.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbAvatar.FormattingEnabled = true; - this.CmbAvatar.Name = "CmbAvatar"; - this.CmbAvatar.SelectedIndexChanged += new System.EventHandler(this.CmbAvatar_SelectedIndexChanged); - // - // TPSpawn - // - resources.ApplyResources(this.TPSpawn, "TPSpawn"); - this.TPSpawn.Controls.Add(this.ChkInfiniteHP); - this.TPSpawn.Controls.Add(this.LblClearSpawnLogs); - this.TPSpawn.Controls.Add(this.BtnSaveSpawnLog); - this.TPSpawn.Controls.Add(this.BtnRemoveSpawnLog); - this.TPSpawn.Controls.Add(this.GrpSpawnRecord); - this.TPSpawn.Controls.Add(this.GrpEntityType); - this.TPSpawn.Controls.Add(this.LblSpawnDescription); - this.TPSpawn.Controls.Add(this.LblEntityAmount); - this.TPSpawn.Controls.Add(this.LblEntityLevel); - this.TPSpawn.Controls.Add(this.NUDEntityAmout); - this.TPSpawn.Controls.Add(this.NUDEntityLevel); - this.TPSpawn.Controls.Add(this.TxtEntityFilter); - this.TPSpawn.Controls.Add(this.ListEntity); - this.TPSpawn.Name = "TPSpawn"; - this.TPSpawn.UseVisualStyleBackColor = true; - // - // ChkInfiniteHP - // - resources.ApplyResources(this.ChkInfiniteHP, "ChkInfiniteHP"); - this.ChkInfiniteHP.Name = "ChkInfiniteHP"; - this.ChkInfiniteHP.UseVisualStyleBackColor = true; - this.ChkInfiniteHP.CheckedChanged += new System.EventHandler(this.SpawnEntityInputChanged); - // - // LblClearSpawnLogs - // - resources.ApplyResources(this.LblClearSpawnLogs, "LblClearSpawnLogs"); - this.LblClearSpawnLogs.Cursor = System.Windows.Forms.Cursors.Hand; - this.LblClearSpawnLogs.Name = "LblClearSpawnLogs"; - this.LblClearSpawnLogs.Click += new System.EventHandler(this.LblClearSpawnLogs_Click); - // - // BtnSaveSpawnLog - // - resources.ApplyResources(this.BtnSaveSpawnLog, "BtnSaveSpawnLog"); - this.BtnSaveSpawnLog.Name = "BtnSaveSpawnLog"; - this.BtnSaveSpawnLog.UseVisualStyleBackColor = true; - this.BtnSaveSpawnLog.Click += new System.EventHandler(this.BtnSaveSpawnLog_Click); - // - // BtnRemoveSpawnLog - // - resources.ApplyResources(this.BtnRemoveSpawnLog, "BtnRemoveSpawnLog"); - this.BtnRemoveSpawnLog.Name = "BtnRemoveSpawnLog"; - this.BtnRemoveSpawnLog.UseVisualStyleBackColor = true; - this.BtnRemoveSpawnLog.Click += new System.EventHandler(this.BtnRemoveSpawnLog_Click); - // - // GrpSpawnRecord - // - resources.ApplyResources(this.GrpSpawnRecord, "GrpSpawnRecord"); - this.GrpSpawnRecord.Controls.Add(this.ListSpawnLogs); - this.GrpSpawnRecord.Name = "GrpSpawnRecord"; - this.GrpSpawnRecord.TabStop = false; - // - // ListSpawnLogs - // - resources.ApplyResources(this.ListSpawnLogs, "ListSpawnLogs"); - this.ListSpawnLogs.FormattingEnabled = true; - this.ListSpawnLogs.Name = "ListSpawnLogs"; - this.ListSpawnLogs.SelectedIndexChanged += new System.EventHandler(this.ListSpawnLogs_SelectedIndexChanged); - // - // GrpEntityType - // - resources.ApplyResources(this.GrpEntityType, "GrpEntityType"); - this.GrpEntityType.Controls.Add(this.RbEntityAnimal); - this.GrpEntityType.Controls.Add(this.RbEntityMonster); - this.GrpEntityType.Name = "GrpEntityType"; - this.GrpEntityType.TabStop = false; - // - // RbEntityAnimal - // - resources.ApplyResources(this.RbEntityAnimal, "RbEntityAnimal"); - this.RbEntityAnimal.Name = "RbEntityAnimal"; - this.RbEntityAnimal.UseVisualStyleBackColor = true; - this.RbEntityAnimal.CheckedChanged += new System.EventHandler(this.RbEntity_CheckedChanged); - // - // RbEntityMonster - // - resources.ApplyResources(this.RbEntityMonster, "RbEntityMonster"); - this.RbEntityMonster.Name = "RbEntityMonster"; - this.RbEntityMonster.UseVisualStyleBackColor = true; - this.RbEntityMonster.CheckedChanged += new System.EventHandler(this.RbEntity_CheckedChanged); - // - // LblSpawnDescription - // - resources.ApplyResources(this.LblSpawnDescription, "LblSpawnDescription"); - this.LblSpawnDescription.Name = "LblSpawnDescription"; - // - // LblEntityAmount - // - resources.ApplyResources(this.LblEntityAmount, "LblEntityAmount"); - this.LblEntityAmount.Name = "LblEntityAmount"; - // - // LblEntityLevel - // - resources.ApplyResources(this.LblEntityLevel, "LblEntityLevel"); - this.LblEntityLevel.Name = "LblEntityLevel"; - // - // NUDEntityAmout - // - resources.ApplyResources(this.NUDEntityAmout, "NUDEntityAmout"); - this.NUDEntityAmout.Maximum = new decimal(new int[] { - 1000, - 0, - 0, - 0}); - this.NUDEntityAmout.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDEntityAmout.Name = "NUDEntityAmout"; - this.NUDEntityAmout.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDEntityAmout.ValueChanged += new System.EventHandler(this.SpawnEntityInputChanged); - // - // NUDEntityLevel - // - resources.ApplyResources(this.NUDEntityLevel, "NUDEntityLevel"); - this.NUDEntityLevel.Maximum = new decimal(new int[] { - 100000, - 0, - 0, - 0}); - this.NUDEntityLevel.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDEntityLevel.Name = "NUDEntityLevel"; - this.NUDEntityLevel.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDEntityLevel.ValueChanged += new System.EventHandler(this.SpawnEntityInputChanged); - // - // TxtEntityFilter - // - resources.ApplyResources(this.TxtEntityFilter, "TxtEntityFilter"); - this.TxtEntityFilter.Name = "TxtEntityFilter"; - this.TxtEntityFilter.TextChanged += new System.EventHandler(this.TxtEntityFilter_TextChanged); - // - // ListEntity - // - resources.ApplyResources(this.ListEntity, "ListEntity"); - this.ListEntity.FormattingEnabled = true; - this.ListEntity.Name = "ListEntity"; - this.ListEntity.SelectedIndexChanged += new System.EventHandler(this.SpawnEntityInputChanged); - // - // TPQuest - // - resources.ApplyResources(this.TPQuest, "TPQuest"); - this.TPQuest.Controls.Add(this.GrpQuestFilters); - this.TPQuest.Controls.Add(this.BtnFinishQuest); - this.TPQuest.Controls.Add(this.BtnAddQuest); - this.TPQuest.Controls.Add(this.LblQuestDescription); - this.TPQuest.Controls.Add(this.TxtQuestFilter); - this.TPQuest.Controls.Add(this.ListQuest); - this.TPQuest.Name = "TPQuest"; - this.TPQuest.UseVisualStyleBackColor = true; - // - // GrpQuestFilters - // - resources.ApplyResources(this.GrpQuestFilters, "GrpQuestFilters"); - this.GrpQuestFilters.Controls.Add(this.ChkQuestFilterTEST); - this.GrpQuestFilters.Controls.Add(this.ChkQuestFilterUNRELEASED); - this.GrpQuestFilters.Controls.Add(this.ChkQuestFilterHIDDEN); - this.GrpQuestFilters.Name = "GrpQuestFilters"; - this.GrpQuestFilters.TabStop = false; - // - // ChkQuestFilterTEST - // - resources.ApplyResources(this.ChkQuestFilterTEST, "ChkQuestFilterTEST"); - this.ChkQuestFilterTEST.Name = "ChkQuestFilterTEST"; - this.ChkQuestFilterTEST.Tag = "(test)"; - this.ChkQuestFilterTEST.UseVisualStyleBackColor = true; - this.ChkQuestFilterTEST.CheckedChanged += new System.EventHandler(this.QuestFilterChanged); - // - // ChkQuestFilterUNRELEASED - // - resources.ApplyResources(this.ChkQuestFilterUNRELEASED, "ChkQuestFilterUNRELEASED"); - this.ChkQuestFilterUNRELEASED.Name = "ChkQuestFilterUNRELEASED"; - this.ChkQuestFilterUNRELEASED.Tag = "$UNRELEASED"; - this.ChkQuestFilterUNRELEASED.UseVisualStyleBackColor = true; - this.ChkQuestFilterUNRELEASED.CheckedChanged += new System.EventHandler(this.QuestFilterChanged); - // - // ChkQuestFilterHIDDEN - // - resources.ApplyResources(this.ChkQuestFilterHIDDEN, "ChkQuestFilterHIDDEN"); - this.ChkQuestFilterHIDDEN.Name = "ChkQuestFilterHIDDEN"; - this.ChkQuestFilterHIDDEN.Tag = "$HIDDEN"; - this.ChkQuestFilterHIDDEN.UseVisualStyleBackColor = true; - this.ChkQuestFilterHIDDEN.CheckedChanged += new System.EventHandler(this.QuestFilterChanged); - // - // BtnFinishQuest - // - resources.ApplyResources(this.BtnFinishQuest, "BtnFinishQuest"); - this.BtnFinishQuest.Name = "BtnFinishQuest"; - this.BtnFinishQuest.Tag = "finish"; - this.BtnFinishQuest.UseVisualStyleBackColor = true; - this.BtnFinishQuest.Click += new System.EventHandler(this.QuestButsClicked); - // - // BtnAddQuest - // - resources.ApplyResources(this.BtnAddQuest, "BtnAddQuest"); - this.BtnAddQuest.Name = "BtnAddQuest"; - this.BtnAddQuest.Tag = "add"; - this.BtnAddQuest.UseVisualStyleBackColor = true; - this.BtnAddQuest.Click += new System.EventHandler(this.QuestButsClicked); - // - // LblQuestDescription - // - resources.ApplyResources(this.LblQuestDescription, "LblQuestDescription"); - this.LblQuestDescription.Name = "LblQuestDescription"; - // - // TxtQuestFilter - // - resources.ApplyResources(this.TxtQuestFilter, "TxtQuestFilter"); - this.TxtQuestFilter.Name = "TxtQuestFilter"; - this.TxtQuestFilter.TextChanged += new System.EventHandler(this.QuestFilterChanged); - // - // ListQuest - // - resources.ApplyResources(this.ListQuest, "ListQuest"); - this.ListQuest.FormattingEnabled = true; - this.ListQuest.Name = "ListQuest"; - // - // TPArtifact - // - resources.ApplyResources(this.TPArtifact, "TPArtifact"); - this.TPArtifact.Controls.Add(this.LblArtifactLevelTip); - this.TPArtifact.Controls.Add(this.BtnAddSubAttr); - this.TPArtifact.Controls.Add(this.LblArtifactName); - this.TPArtifact.Controls.Add(this.LblArtifactPart); - this.TPArtifact.Controls.Add(this.CmbArtifactPart); - this.TPArtifact.Controls.Add(this.CmbArtifactSet); - this.TPArtifact.Controls.Add(this.LblArtifactSet); - this.TPArtifact.Controls.Add(this.NUDSubAttributionTimes); - this.TPArtifact.Controls.Add(this.CmbSubAttributionValue); - this.TPArtifact.Controls.Add(this.CmbSubAttribution); - this.TPArtifact.Controls.Add(this.LblClearSubAttrCheckedList); - this.TPArtifact.Controls.Add(this.ListSubAttributionChecked); - this.TPArtifact.Controls.Add(this.LblArtifactLevel); - this.TPArtifact.Controls.Add(this.LblSubAttribution); - this.TPArtifact.Controls.Add(this.CmbMainAttribution); - this.TPArtifact.Controls.Add(this.LblMainAttribution); - this.TPArtifact.Controls.Add(this.NUDArtifactLevel); - this.TPArtifact.Controls.Add(this.LblArtifactStars); - this.TPArtifact.Controls.Add(this.NUDArtifactStars); - this.TPArtifact.Name = "TPArtifact"; - this.TPArtifact.UseVisualStyleBackColor = true; - // - // LblArtifactLevelTip - // - resources.ApplyResources(this.LblArtifactLevelTip, "LblArtifactLevelTip"); - this.LblArtifactLevelTip.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.LblArtifactLevelTip.Name = "LblArtifactLevelTip"; - // - // BtnAddSubAttr - // - resources.ApplyResources(this.BtnAddSubAttr, "BtnAddSubAttr"); - this.BtnAddSubAttr.Name = "BtnAddSubAttr"; - this.BtnAddSubAttr.UseVisualStyleBackColor = true; - this.BtnAddSubAttr.Click += new System.EventHandler(this.BtnAddSubAttr_Click); - // - // LblArtifactName - // - resources.ApplyResources(this.LblArtifactName, "LblArtifactName"); - this.LblArtifactName.Name = "LblArtifactName"; - // - // LblArtifactPart - // - resources.ApplyResources(this.LblArtifactPart, "LblArtifactPart"); - this.LblArtifactPart.Name = "LblArtifactPart"; - // - // CmbArtifactPart - // - resources.ApplyResources(this.CmbArtifactPart, "CmbArtifactPart"); - this.CmbArtifactPart.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbArtifactPart.DropDownWidth = 125; - this.CmbArtifactPart.FormattingEnabled = true; - this.CmbArtifactPart.Name = "CmbArtifactPart"; - this.CmbArtifactPart.SelectedIndexChanged += new System.EventHandler(this.CmbArtifactPart_SelectedIndexChanged); - // - // CmbArtifactSet - // - resources.ApplyResources(this.CmbArtifactSet, "CmbArtifactSet"); - this.CmbArtifactSet.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CmbArtifactSet.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CmbArtifactSet.FormattingEnabled = true; - this.CmbArtifactSet.Name = "CmbArtifactSet"; - this.CmbArtifactSet.SelectedIndexChanged += new System.EventHandler(this.CmbArtifactSet_SelectedIndexChanged); - // - // LblArtifactSet - // - resources.ApplyResources(this.LblArtifactSet, "LblArtifactSet"); - this.LblArtifactSet.Name = "LblArtifactSet"; - // - // NUDSubAttributionTimes - // - resources.ApplyResources(this.NUDSubAttributionTimes, "NUDSubAttributionTimes"); - this.NUDSubAttributionTimes.Maximum = new decimal(new int[] { - 1000, - 0, - 0, - 0}); - this.NUDSubAttributionTimes.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDSubAttributionTimes.Name = "NUDSubAttributionTimes"; - this.NUDSubAttributionTimes.Value = new decimal(new int[] { - 1, - 0, - 0, - 0}); - // - // CmbSubAttributionValue - // - resources.ApplyResources(this.CmbSubAttributionValue, "CmbSubAttributionValue"); - this.CmbSubAttributionValue.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbSubAttributionValue.FormattingEnabled = true; - this.CmbSubAttributionValue.Name = "CmbSubAttributionValue"; - // - // CmbSubAttribution - // - resources.ApplyResources(this.CmbSubAttribution, "CmbSubAttribution"); - this.CmbSubAttribution.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbSubAttribution.FormattingEnabled = true; - this.CmbSubAttribution.Name = "CmbSubAttribution"; - this.CmbSubAttribution.SelectedIndexChanged += new System.EventHandler(this.CmbSubAttribution_SelectedIndexChanged); - // - // LblClearSubAttrCheckedList - // - resources.ApplyResources(this.LblClearSubAttrCheckedList, "LblClearSubAttrCheckedList"); - this.LblClearSubAttrCheckedList.Cursor = System.Windows.Forms.Cursors.Hand; - this.LblClearSubAttrCheckedList.Name = "LblClearSubAttrCheckedList"; - this.LblClearSubAttrCheckedList.Click += new System.EventHandler(this.LblClearSubAttrCheckedList_Click); - // - // ListSubAttributionChecked - // - resources.ApplyResources(this.ListSubAttributionChecked, "ListSubAttributionChecked"); - this.ListSubAttributionChecked.FormattingEnabled = true; - this.ListSubAttributionChecked.Name = "ListSubAttributionChecked"; - this.ListSubAttributionChecked.SelectedIndexChanged += new System.EventHandler(this.ListSubAttributionChecked_SelectedIndexChanged); - // - // LblArtifactLevel - // - resources.ApplyResources(this.LblArtifactLevel, "LblArtifactLevel"); - this.LblArtifactLevel.Name = "LblArtifactLevel"; - // - // LblSubAttribution - // - resources.ApplyResources(this.LblSubAttribution, "LblSubAttribution"); - this.LblSubAttribution.Name = "LblSubAttribution"; - // - // CmbMainAttribution - // - resources.ApplyResources(this.CmbMainAttribution, "CmbMainAttribution"); - this.CmbMainAttribution.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbMainAttribution.FormattingEnabled = true; - this.CmbMainAttribution.Name = "CmbMainAttribution"; - this.CmbMainAttribution.SelectedIndexChanged += new System.EventHandler(this.ArtifactInputChanged); - // - // LblMainAttribution - // - resources.ApplyResources(this.LblMainAttribution, "LblMainAttribution"); - this.LblMainAttribution.Name = "LblMainAttribution"; - // - // NUDArtifactLevel - // - resources.ApplyResources(this.NUDArtifactLevel, "NUDArtifactLevel"); - this.NUDArtifactLevel.Maximum = new decimal(new int[] { - 20, - 0, - 0, - 0}); - this.NUDArtifactLevel.Name = "NUDArtifactLevel"; - this.NUDArtifactLevel.Value = new decimal(new int[] { - 20, - 0, - 0, - 0}); - this.NUDArtifactLevel.ValueChanged += new System.EventHandler(this.ArtifactInputChanged); - // - // LblArtifactStars - // - resources.ApplyResources(this.LblArtifactStars, "LblArtifactStars"); - this.LblArtifactStars.Name = "LblArtifactStars"; - // - // NUDArtifactStars - // - resources.ApplyResources(this.NUDArtifactStars, "NUDArtifactStars"); - this.NUDArtifactStars.Maximum = new decimal(new int[] { - 5, - 0, - 0, - 0}); - this.NUDArtifactStars.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.NUDArtifactStars.Name = "NUDArtifactStars"; - this.NUDArtifactStars.Value = new decimal(new int[] { - 5, - 0, - 0, - 0}); - this.NUDArtifactStars.ValueChanged += new System.EventHandler(this.ArtifactInputChanged); - // - // TPCustom - // - resources.ApplyResources(this.TPCustom, "TPCustom"); - this.TPCustom.Controls.Add(this.BtnExportCustomCommands); - this.TPCustom.Controls.Add(this.BtnLoadCustomCommands); - this.TPCustom.Controls.Add(this.LblCustomName); - this.TPCustom.Controls.Add(this.groupBox1); - this.TPCustom.Controls.Add(this.BtnRemoveCustomCommand); - this.TPCustom.Controls.Add(this.BtnSaveCustomCommand); - this.TPCustom.Controls.Add(this.TxtCustomName); - this.TPCustom.Name = "TPCustom"; - this.TPCustom.UseVisualStyleBackColor = true; - // - // BtnExportCustomCommands - // - resources.ApplyResources(this.BtnExportCustomCommands, "BtnExportCustomCommands"); - this.BtnExportCustomCommands.Name = "BtnExportCustomCommands"; - this.BtnExportCustomCommands.UseVisualStyleBackColor = true; - this.BtnExportCustomCommands.Click += new System.EventHandler(this.BtnExport_Click); - // - // BtnLoadCustomCommands - // - resources.ApplyResources(this.BtnLoadCustomCommands, "BtnLoadCustomCommands"); - this.BtnLoadCustomCommands.Name = "BtnLoadCustomCommands"; - this.BtnLoadCustomCommands.UseVisualStyleBackColor = true; - this.BtnLoadCustomCommands.Click += new System.EventHandler(this.BtnImport_Click); - // - // LblCustomName - // - resources.ApplyResources(this.LblCustomName, "LblCustomName"); - this.LblCustomName.Name = "LblCustomName"; - // - // groupBox1 - // - resources.ApplyResources(this.groupBox1, "groupBox1"); - this.groupBox1.Controls.Add(this.LnkResetCustomCommands); - this.groupBox1.Controls.Add(this.FLPCustomCommands); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.TabStop = false; - // - // LnkResetCustomCommands - // - resources.ApplyResources(this.LnkResetCustomCommands, "LnkResetCustomCommands"); - this.LnkResetCustomCommands.Name = "LnkResetCustomCommands"; - this.LnkResetCustomCommands.TabStop = true; - this.LnkResetCustomCommands.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkResetCustomCommands_LinkClicked); - // - // FLPCustomCommands - // - resources.ApplyResources(this.FLPCustomCommands, "FLPCustomCommands"); - this.FLPCustomCommands.Name = "FLPCustomCommands"; - // - // BtnRemoveCustomCommand - // - resources.ApplyResources(this.BtnRemoveCustomCommand, "BtnRemoveCustomCommand"); - this.BtnRemoveCustomCommand.Name = "BtnRemoveCustomCommand"; - this.BtnRemoveCustomCommand.UseVisualStyleBackColor = true; - this.BtnRemoveCustomCommand.Click += new System.EventHandler(this.BtnRemoveCustomCommand_Click); - // - // BtnSaveCustomCommand - // - resources.ApplyResources(this.BtnSaveCustomCommand, "BtnSaveCustomCommand"); - this.BtnSaveCustomCommand.Name = "BtnSaveCustomCommand"; - this.BtnSaveCustomCommand.UseVisualStyleBackColor = true; - this.BtnSaveCustomCommand.Click += new System.EventHandler(this.BtnSaveCustomCommand_Click); - // - // TxtCustomName - // - resources.ApplyResources(this.TxtCustomName, "TxtCustomName"); - this.TxtCustomName.Name = "TxtCustomName"; - // - // TPHome - // - resources.ApplyResources(this.TPHome, "TPHome"); - this.TPHome.Controls.Add(this.LnkNewVersion); - this.TPHome.Controls.Add(this.LblAbout); - this.TPHome.Controls.Add(this.BtnOpenTextMap); - this.TPHome.Controls.Add(this.BtnOpenGachaBannerEditor); - this.TPHome.Controls.Add(this.GrasscutterToolsIcon); - this.TPHome.Controls.Add(this.GrpSettings); - this.TPHome.Name = "TPHome"; - this.TPHome.UseVisualStyleBackColor = true; - // - // LnkNewVersion - // - resources.ApplyResources(this.LnkNewVersion, "LnkNewVersion"); - this.LnkNewVersion.Name = "LnkNewVersion"; - this.LnkNewVersion.TabStop = true; - this.LnkNewVersion.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkNewVersion_LinkClicked); - // - // LblAbout - // - resources.ApplyResources(this.LblAbout, "LblAbout"); - this.LblAbout.Name = "LblAbout"; - // - // BtnOpenTextMap - // - resources.ApplyResources(this.BtnOpenTextMap, "BtnOpenTextMap"); - this.BtnOpenTextMap.Name = "BtnOpenTextMap"; - this.BtnOpenTextMap.UseVisualStyleBackColor = true; - this.BtnOpenTextMap.Click += new System.EventHandler(this.BtnOpenTextMap_Click); - // - // BtnOpenGachaBannerEditor - // - resources.ApplyResources(this.BtnOpenGachaBannerEditor, "BtnOpenGachaBannerEditor"); - this.BtnOpenGachaBannerEditor.Name = "BtnOpenGachaBannerEditor"; - this.BtnOpenGachaBannerEditor.UseVisualStyleBackColor = true; - this.BtnOpenGachaBannerEditor.Click += new System.EventHandler(this.BtnOpenGachaBannerEditor_Click); - // - // GrasscutterToolsIcon - // - resources.ApplyResources(this.GrasscutterToolsIcon, "GrasscutterToolsIcon"); - this.GrasscutterToolsIcon.Image = global::GrasscutterTools.Properties.Resources.ImgIconGrasscutter; - this.GrasscutterToolsIcon.Name = "GrasscutterToolsIcon"; - this.GrasscutterToolsIcon.TabStop = false; - // - // GrpSettings - // - resources.ApplyResources(this.GrpSettings, "GrpSettings"); - this.GrpSettings.Controls.Add(this.LblGCVersion); - this.GrpSettings.Controls.Add(this.CmbGcVersions); - this.GrpSettings.Controls.Add(this.ChkTopMost); - this.GrpSettings.Controls.Add(this.CmbLanguage); - this.GrpSettings.Controls.Add(this.LblLanguage); - this.GrpSettings.Controls.Add(this.NUDUid); - this.GrpSettings.Controls.Add(this.ChkIncludeUID); - this.GrpSettings.Controls.Add(this.LblDefaultUid); - this.GrpSettings.Name = "GrpSettings"; - this.GrpSettings.TabStop = false; - // - // LblGCVersion - // - resources.ApplyResources(this.LblGCVersion, "LblGCVersion"); - this.LblGCVersion.Name = "LblGCVersion"; - // - // CmbGcVersions - // - resources.ApplyResources(this.CmbGcVersions, "CmbGcVersions"); - this.CmbGcVersions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbGcVersions.FormattingEnabled = true; - this.CmbGcVersions.Name = "CmbGcVersions"; - // - // ChkTopMost - // - resources.ApplyResources(this.ChkTopMost, "ChkTopMost"); - this.ChkTopMost.Name = "ChkTopMost"; - this.ChkTopMost.UseVisualStyleBackColor = true; - // - // CmbLanguage - // - resources.ApplyResources(this.CmbLanguage, "CmbLanguage"); - this.CmbLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbLanguage.FormattingEnabled = true; - this.CmbLanguage.Name = "CmbLanguage"; - // - // LblLanguage - // - resources.ApplyResources(this.LblLanguage, "LblLanguage"); - this.LblLanguage.Name = "LblLanguage"; - // - // NUDUid - // - resources.ApplyResources(this.NUDUid, "NUDUid"); - this.NUDUid.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUDUid.Name = "NUDUid"; - this.NUDUid.Value = new decimal(new int[] { - 10001, - 0, - 0, - 0}); - // - // ChkIncludeUID - // - resources.ApplyResources(this.ChkIncludeUID, "ChkIncludeUID"); - this.ChkIncludeUID.Name = "ChkIncludeUID"; - this.ChkIncludeUID.UseVisualStyleBackColor = true; - // - // LblDefaultUid - // - resources.ApplyResources(this.LblDefaultUid, "LblDefaultUid"); - this.LblDefaultUid.Name = "LblDefaultUid"; - // - // TCMain - // - resources.ApplyResources(this.TCMain, "TCMain"); - this.TCMain.Controls.Add(this.TPHome); - this.TCMain.Controls.Add(this.TPCustom); - this.TCMain.Controls.Add(this.TPArtifact); - this.TCMain.Controls.Add(this.TPQuest); - this.TCMain.Controls.Add(this.TPSpawn); - this.TCMain.Controls.Add(this.TPAvatar); - this.TCMain.Controls.Add(this.TPStats); - this.TCMain.Controls.Add(this.TPWeapon); - this.TCMain.Controls.Add(this.TPItem); - this.TCMain.Controls.Add(this.TPScene); - this.TCMain.Controls.Add(this.TPManage); - this.TCMain.Controls.Add(this.TPAbout); - this.TCMain.Controls.Add(this.TPRemoteCall); - this.TCMain.Name = "TCMain"; - this.TCMain.SelectedIndex = 0; - // - // FormMain - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.TCMain); - this.Controls.Add(this.GrpCommand); - this.KeyPreview = true; - 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.TPRemoteCall.ResumeLayout(false); - this.TPRemoteCall.PerformLayout(); - this.GrpServerStatus.ResumeLayout(false); - this.GrpServerStatus.PerformLayout(); - this.GrpRemoteCommand.ResumeLayout(false); - this.TPOpenCommandCheck.ResumeLayout(false); - this.TPPlayerCheck.ResumeLayout(false); - this.TPPlayerCheck.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDRemotePlayerId)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDVerificationCode)).EndInit(); - this.TPConsoleCheck.ResumeLayout(false); - this.TPConsoleCheck.PerformLayout(); - this.TPAbout.ResumeLayout(false); - this.TPAbout.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.GrasscutterToolsSupport)).EndInit(); - this.TPManage.ResumeLayout(false); - this.GrpBanPlayer.ResumeLayout(false); - this.GrpBanPlayer.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBanUID)).EndInit(); - this.GrpAccount.ResumeLayout(false); - this.GrpAccount.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAccountUid)).EndInit(); - this.GrpPermission.ResumeLayout(false); - this.GrpPermission.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDPermUID)).EndInit(); - this.TPScene.ResumeLayout(false); - this.TPScene.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpZ)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpY)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTpX)).EndInit(); - this.TPItem.ResumeLayout(false); - this.TPItem.PerformLayout(); - this.GrpGiveItemRecord.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemAmout)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemLevel)).EndInit(); - this.TPWeapon.ResumeLayout(false); - this.TPWeapon.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDWeaponRefinement)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDWeaponAmout)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDWeaponLevel)).EndInit(); - this.TPStats.ResumeLayout(false); - this.TPStats.PerformLayout(); - this.GrpSetStats.ResumeLayout(false); - this.GrpSetStats.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDStat)).EndInit(); - this.GrpTalentLevel.ResumeLayout(false); - this.GrpTalentLevel.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDTalentLevel)).EndInit(); - this.TPAvatar.ResumeLayout(false); - this.TPAvatar.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarConstellation)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.ImgAvatar)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDAvatarLevel)).EndInit(); - this.TPSpawn.ResumeLayout(false); - this.TPSpawn.PerformLayout(); - this.GrpSpawnRecord.ResumeLayout(false); - this.GrpEntityType.ResumeLayout(false); - this.GrpEntityType.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEntityAmout)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEntityLevel)).EndInit(); - this.TPQuest.ResumeLayout(false); - this.TPQuest.PerformLayout(); - this.GrpQuestFilters.ResumeLayout(false); - this.GrpQuestFilters.PerformLayout(); - this.TPArtifact.ResumeLayout(false); - this.TPArtifact.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDSubAttributionTimes)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDArtifactLevel)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDArtifactStars)).EndInit(); - this.TPCustom.ResumeLayout(false); - this.TPCustom.PerformLayout(); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - this.TPHome.ResumeLayout(false); - this.TPHome.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.GrasscutterToolsIcon)).EndInit(); - this.GrpSettings.ResumeLayout(false); - this.GrpSettings.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDUid)).EndInit(); - this.TCMain.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.TextBox TxtCommand; - private System.Windows.Forms.Button BtnCopy; - private System.Windows.Forms.CheckBox ChkAutoCopy; - private System.Windows.Forms.GroupBox GrpCommand; - private System.Windows.Forms.Button BtnInvokeOpenCommand; - private System.Windows.Forms.TabPage TPRemoteCall; - private System.Windows.Forms.GroupBox GrpServerStatus; - private System.Windows.Forms.LinkLabel LnkOpenCommandLabel; - private System.Windows.Forms.Label LblOpenCommandSupport; - private System.Windows.Forms.Label LblServerVersion; - private System.Windows.Forms.Label LblPlayerCount; - private System.Windows.Forms.Label LblServerVersionLabel; - private System.Windows.Forms.Label LblPlayerCountLabel; - private System.Windows.Forms.GroupBox GrpRemoteCommand; - private System.Windows.Forms.TabControl TPOpenCommandCheck; - private System.Windows.Forms.TabPage TPPlayerCheck; - private System.Windows.Forms.LinkLabel LnkRCHelp; - private System.Windows.Forms.NumericUpDown NUDRemotePlayerId; - private System.Windows.Forms.Button BtnConnectOpenCommand; - private System.Windows.Forms.Label LblVerificationCode; - private System.Windows.Forms.Button BtnSendVerificationCode; - private System.Windows.Forms.NumericUpDown NUDVerificationCode; - private System.Windows.Forms.Label LblRemotePlayerId; - private System.Windows.Forms.TabPage TPConsoleCheck; - private System.Windows.Forms.Button BtnConsoleConnect; - private System.Windows.Forms.TextBox TxtToken; - private System.Windows.Forms.Label LblToken; - private System.Windows.Forms.Label LblConsoleTip; - private System.Windows.Forms.TextBox TxtHost; - private System.Windows.Forms.Button BtnQueryServerStatus; - private System.Windows.Forms.Label LblHost; - private System.Windows.Forms.TabPage TPAbout; - private System.Windows.Forms.PictureBox GrasscutterToolsSupport; - private System.Windows.Forms.LinkLabel LnkGithub; - private System.Windows.Forms.Label LblSupportDescription; - private System.Windows.Forms.TabPage TPManage; - private System.Windows.Forms.GroupBox GrpBanPlayer; - private System.Windows.Forms.DateTimePicker DTPBanEndTime; - private System.Windows.Forms.Button BtnUnban; - private System.Windows.Forms.Button BtnBan; - private Controls.TextBoxXP TxtBanReason; - private System.Windows.Forms.NumericUpDown NUDBanUID; - private System.Windows.Forms.Label LblBanUID; - private System.Windows.Forms.GroupBox GrpAccount; - private System.Windows.Forms.CheckBox ChkAccountSetUid; - private System.Windows.Forms.NumericUpDown NUDAccountUid; - private System.Windows.Forms.Button BtnDeleteAccount; - private System.Windows.Forms.Button BtnCreateAccount; - private System.Windows.Forms.Label LblAccountUserName; - private System.Windows.Forms.TextBox TxtAccountUserName; - private System.Windows.Forms.GroupBox GrpPermission; - private System.Windows.Forms.ComboBox CmbPerm; - private System.Windows.Forms.NumericUpDown NUDPermUID; - private System.Windows.Forms.Button BtmPermRemove; - private System.Windows.Forms.Button BtnPermAdd; - private System.Windows.Forms.Label LblPerm; - private System.Windows.Forms.Label LblPermUID; - private System.Windows.Forms.TabPage TPScene; - private System.Windows.Forms.TextBox TxtSceneFilter; - private System.Windows.Forms.CheckBox ChkIncludeSceneId; - private System.Windows.Forms.Label LblTp; - private System.Windows.Forms.Label LblTpZ; - private System.Windows.Forms.Label LblTpY; - private System.Windows.Forms.Button BtnTeleport; - private System.Windows.Forms.Label LblTpX; - private System.Windows.Forms.NumericUpDown NUDTpZ; - private System.Windows.Forms.NumericUpDown NUDTpY; - private System.Windows.Forms.NumericUpDown NUDTpX; - private System.Windows.Forms.ComboBox CmbClimateType; - private System.Windows.Forms.Label LblClimateType; - private System.Windows.Forms.Label LblSceneDescription; - private System.Windows.Forms.ListBox ListScenes; - private System.Windows.Forms.TabPage TPItem; - private System.Windows.Forms.Button BtnSaveGiveItemLog; - private System.Windows.Forms.Button BtnRemoveGiveItemLog; - private System.Windows.Forms.GroupBox GrpGiveItemRecord; - private System.Windows.Forms.ListBox ListGiveItemLogs; - private System.Windows.Forms.CheckBox ChkDrop; - private System.Windows.Forms.TextBox TxtGameItemFilter; - private System.Windows.Forms.ListBox ListGameItems; - private System.Windows.Forms.Label LblGameItemAmount; - private System.Windows.Forms.Label LblGameItemLevel; - private System.Windows.Forms.NumericUpDown NUDGameItemAmout; - private System.Windows.Forms.NumericUpDown NUDGameItemLevel; - private System.Windows.Forms.Label LblGiveCommandDescription; - private System.Windows.Forms.TabPage TPWeapon; - private System.Windows.Forms.TextBox TxtWeaponFilter; - private System.Windows.Forms.Label LblWeaponDescription; - private System.Windows.Forms.Label LblWeaponRefinement; - private System.Windows.Forms.Label LblWeaponAmount; - private System.Windows.Forms.Label LblWeaponLevel; - private System.Windows.Forms.NumericUpDown NUDWeaponRefinement; - private System.Windows.Forms.NumericUpDown NUDWeaponAmout; - private System.Windows.Forms.NumericUpDown NUDWeaponLevel; - private System.Windows.Forms.ListBox ListWeapons; - private System.Windows.Forms.TabPage TPStats; - private System.Windows.Forms.GroupBox GrpSetStats; - private System.Windows.Forms.Label LblStatTip; - private System.Windows.Forms.Label LblStatPercent; - private System.Windows.Forms.NumericUpDown NUDStat; - private System.Windows.Forms.ComboBox CmbStat; - private System.Windows.Forms.GroupBox GrpTalentLevel; - private System.Windows.Forms.LinkLabel LnkTalentE; - private System.Windows.Forms.LinkLabel LnkTalentQ; - private System.Windows.Forms.LinkLabel LnkTalentNormalATK; - private System.Windows.Forms.NumericUpDown NUDTalentLevel; - private System.Windows.Forms.Label LblStatsDescription; - private System.Windows.Forms.TabPage TPAvatar; - private System.Windows.Forms.PictureBox ImgAvatar; - private System.Windows.Forms.Label LblAvatar; - private System.Windows.Forms.Label LblAvatarLevel; - private System.Windows.Forms.NumericUpDown NUDAvatarLevel; - private System.Windows.Forms.ComboBox CmbAvatar; - private System.Windows.Forms.TabPage TPSpawn; - private System.Windows.Forms.Button BtnSaveSpawnLog; - private System.Windows.Forms.Button BtnRemoveSpawnLog; - private System.Windows.Forms.GroupBox GrpSpawnRecord; - private System.Windows.Forms.ListBox ListSpawnLogs; - private System.Windows.Forms.GroupBox GrpEntityType; - private System.Windows.Forms.RadioButton RbEntityAnimal; - private System.Windows.Forms.RadioButton RbEntityMonster; - private System.Windows.Forms.Label LblSpawnDescription; - private System.Windows.Forms.Label LblEntityAmount; - private System.Windows.Forms.Label LblEntityLevel; - private System.Windows.Forms.NumericUpDown NUDEntityAmout; - private System.Windows.Forms.NumericUpDown NUDEntityLevel; - private System.Windows.Forms.TextBox TxtEntityFilter; - private System.Windows.Forms.ListBox ListEntity; - private System.Windows.Forms.TabPage TPQuest; - private System.Windows.Forms.GroupBox GrpQuestFilters; - private System.Windows.Forms.CheckBox ChkQuestFilterTEST; - private System.Windows.Forms.CheckBox ChkQuestFilterUNRELEASED; - private System.Windows.Forms.CheckBox ChkQuestFilterHIDDEN; - private System.Windows.Forms.Button BtnFinishQuest; - private System.Windows.Forms.Button BtnAddQuest; - private System.Windows.Forms.Label LblQuestDescription; - private System.Windows.Forms.TextBox TxtQuestFilter; - private System.Windows.Forms.ListBox ListQuest; - private System.Windows.Forms.TabPage TPArtifact; - private System.Windows.Forms.Button BtnAddSubAttr; - private System.Windows.Forms.Label LblArtifactName; - private System.Windows.Forms.NumericUpDown NUDArtifactStars; - private System.Windows.Forms.Label LblArtifactStars; - private System.Windows.Forms.Label LblArtifactPart; - private System.Windows.Forms.ComboBox CmbArtifactPart; - private System.Windows.Forms.ComboBox CmbArtifactSet; - private System.Windows.Forms.Label LblArtifactSet; - private System.Windows.Forms.NumericUpDown NUDSubAttributionTimes; - private System.Windows.Forms.ComboBox CmbSubAttributionValue; - private System.Windows.Forms.ComboBox CmbSubAttribution; - private System.Windows.Forms.Label LblClearSubAttrCheckedList; - private System.Windows.Forms.ListBox ListSubAttributionChecked; - private System.Windows.Forms.NumericUpDown NUDArtifactLevel; - private System.Windows.Forms.Label LblArtifactLevel; - private System.Windows.Forms.Label LblSubAttribution; - private System.Windows.Forms.ComboBox CmbMainAttribution; - private System.Windows.Forms.Label LblMainAttribution; - private System.Windows.Forms.TabPage TPCustom; - private System.Windows.Forms.Button BtnExportCustomCommands; - private System.Windows.Forms.Button BtnLoadCustomCommands; - private System.Windows.Forms.Label LblCustomName; - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.LinkLabel LnkResetCustomCommands; - private System.Windows.Forms.FlowLayoutPanel FLPCustomCommands; - private System.Windows.Forms.Button BtnRemoveCustomCommand; - private System.Windows.Forms.Button BtnSaveCustomCommand; - private System.Windows.Forms.TextBox TxtCustomName; - private System.Windows.Forms.TabPage TPHome; - private System.Windows.Forms.Label LblAbout; - private System.Windows.Forms.Button BtnOpenTextMap; - private System.Windows.Forms.Button BtnOpenGachaBannerEditor; - private System.Windows.Forms.PictureBox GrasscutterToolsIcon; - private System.Windows.Forms.GroupBox GrpSettings; - private System.Windows.Forms.CheckBox ChkTopMost; - private System.Windows.Forms.ComboBox CmbLanguage; - private System.Windows.Forms.Label LblLanguage; - private System.Windows.Forms.NumericUpDown NUDUid; - private System.Windows.Forms.CheckBox ChkIncludeUID; - private System.Windows.Forms.Label LblDefaultUid; - private System.Windows.Forms.TabControl TCMain; - private System.Windows.Forms.Label LblArtifactLevelTip; - private System.Windows.Forms.Label LblClearSpawnLogs; - private System.Windows.Forms.Label LblClearGiveItemLogs; - private System.Windows.Forms.Label LblAvatarConstellation; - private System.Windows.Forms.NumericUpDown NUDAvatarConstellation; - private System.Windows.Forms.Button BtnGiveAllChar; - private System.Windows.Forms.Label LblHostTip; - private System.Windows.Forms.Button ButtonOpenGOODImport; - private System.Windows.Forms.LinkLabel LnkInventoryKamera; - private System.Windows.Forms.Label LblGOODHelp; - private System.Windows.Forms.LinkLabel LnkGOODHelp; - private System.Windows.Forms.LinkLabel LnkLinks; - private System.Windows.Forms.Button BtnUnlockStat; - private System.Windows.Forms.Button BtnLockStat; - private System.Windows.Forms.Label LblGCVersion; - private System.Windows.Forms.ComboBox CmbGcVersions; - private System.Windows.Forms.Button BtnPermClear; - private System.Windows.Forms.Button BtnPermList; - private System.Windows.Forms.LinkLabel LnkNewVersion; - private System.Windows.Forms.Button BtnGiveAllWeapons; - private System.Windows.Forms.CheckBox ChkInfiniteHP; - } -} diff --git a/Source/GrasscutterTools/Forms/FormMain.cs b/Source/GrasscutterTools/Forms/FormMain.cs deleted file mode 100644 index f1379bb..0000000 --- a/Source/GrasscutterTools/Forms/FormMain.cs +++ /dev/null @@ -1,2127 +0,0 @@ -/** - * Grasscutter Tools - * Copyright (C) 2022 jie65535 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - **/ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.IO; -using System.Linq; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Forms; - -using GrasscutterTools.DispatchServer; -using GrasscutterTools.Game; -using GrasscutterTools.GOOD; -using GrasscutterTools.OpenCommand; -using GrasscutterTools.Properties; -using GrasscutterTools.Utils; - -using Newtonsoft.Json; - -namespace GrasscutterTools.Forms -{ - public partial class FormMain : Form - { - #region - 初始化 Init - - - public FormMain() - { - InitializeComponent(); - Icon = Resources.IconGrasscutter; - - // 加载版本信息 - LoadVersion(); - - // 加载设置 - LoadSettings(); - -#if !DEBUG // 仅正式版 - // 检查更新,但不要弹窗 - Task.Run(async () => { try { await LoadUpdate(); } catch { /* 启动时检查更新,忽略异常 */ }}); -#endif - } - - private void FormMain_Load(object sender, EventArgs e) - { - Text += " - by jie65535 - v" + AppVersion.ToString(3); -#if DEBUG - Text += "-debug"; -#endif - - GameData.LoadResources(); - - LoadCustomCommands(); - InitArtifactList(); - InitGameItemList(); - InitWeapons(); - InitAvatars(); - InitEntityList(); - InitScenes(); - InitStatList(); - InitPermList(); - InitQuestList(); - - ChangeTPArtifact(); - } - - private void FormMain_FormClosed(object sender, FormClosedEventArgs e) - { - SaveSettings(); - } - - - /// - /// 应用版本 - /// - private Version AppVersion; - - /// - /// 加载应用版本 - /// - private void LoadVersion() - { - AppVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; - } - - /// - /// 载入设置 - /// - private void LoadSettings() - { - try - { - // 恢复自动复制选项状态 - ChkAutoCopy.Checked = Settings.Default.AutoCopy; - - // 初始化首页设置 - InitHomeSettings(); - - // 初始化获取物品记录 - InitGiveItemRecord(); - - // 初始化生成记录 - InitSpawnRecord(); - - // 初始化开放命令 - InitOpenCommand(); - } - catch (Exception ex) - { - MessageBox.Show(Resources.SettingLoadError + ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - /// - /// 保存设置 - /// - private void SaveSettings() - { - try - { - Settings.Default.AutoCopy = ChkAutoCopy.Checked; - SaveCustomCommands(); - SaveGiveItemRecord(); - SaveSpawnRecord(); - SaveOpenCommand(); - Settings.Default.Save(); - } - catch (Exception ex) - { - MessageBox.Show(Resources.SettingSaveError + ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - private ReleaseAPI.ReleaseInfo LastestInfo = null; - private Version lastestVersion = null; - - private async Task LoadUpdate() - { - var info = await ReleaseAPI.GetReleasesLastest("jie65535", "GrasscutterCommandGenerator"); - if (Version.TryParse(info.TagName.Substring(1), out lastestVersion) && AppVersion < lastestVersion) - { - if (!string.IsNullOrEmpty(Settings.Default.CheckedLastVersion) - && Version.TryParse(Settings.Default.CheckedLastVersion, out Version checkedVersion) - && checkedVersion >= lastestVersion) - return; - LastestInfo = info; - BeginInvoke(new Action(() => - { - LnkNewVersion.Visible = true; - LnkNewVersion.Text = Resources.CheckToNewVersion; - this.Text += " - " + Resources.CheckToNewVersion; - })); - } - } - - #endregion - 初始化 Init - - - #region - 主页 Home - - - /// - /// 命令版本 - /// - private CommandVersion CommandVersion; - - /// - /// 卡池编辑器窗口实例 - /// - private Form GachaBannerEditor; - - /// - /// 初始化首页设置 - /// - private void InitHomeSettings() - { - // 玩家UID - NUDUid.Value = Settings.Default.Uid; - NUDUid.ValueChanged += (o, e) => Settings.Default.Uid = NUDUid.Value; - - // 置顶 - ChkTopMost.Checked = Settings.Default.IsTopMost; - ChkTopMost.CheckedChanged += (o, e) => Settings.Default.IsTopMost = TopMost = ChkTopMost.Checked; - - // 命令版本初始化 - CommandVersion = Version.TryParse(Settings.Default.CommandVersion, out Version current) ? new CommandVersion(current) : CommandVersion.Latest(); - CmbGcVersions.DataSource = CommandVersion.List.Select(it => it.ToString(3)).ToList(); - CmbGcVersions.SelectedIndex = Array.IndexOf(CommandVersion.List, CommandVersion.Current); - CmbGcVersions.SelectedIndexChanged += (o, e) => CommandVersion.Current = CommandVersion.List[CmbGcVersions.SelectedIndex]; - CommandVersion.VersionChanged += OnCommandVersionChanged; - - - // 初始化多语言 - CmbLanguage.DataSource = MultiLanguage.LanguageNames; - if (string.IsNullOrEmpty(Settings.Default.DefaultLanguage)) - { - // 如果未选择语言,则默认载入本地语言 - var i = Array.IndexOf(MultiLanguage.Languages, Thread.CurrentThread.CurrentUICulture); - // 仅支持时切换,避免重复加载 - if (i > 0) CmbLanguage.SelectedIndex = i; - } - else - { - CmbLanguage.SelectedIndex = Array.IndexOf(MultiLanguage.Languages, Settings.Default.DefaultLanguage); - } - CmbLanguage.SelectedIndexChanged += CmbLanguage_SelectedIndexChanged; - } - - /// - /// 点击打开卡池编辑器时触发 - /// - private void BtnOpenGachaBannerEditor_Click(object sender, EventArgs e) - { - if (GachaBannerEditor == null || GachaBannerEditor.IsDisposed) - { - GachaBannerEditor = new FormGachaBannerEditor2(); - GachaBannerEditor.Show(); - } - else - { - GachaBannerEditor.TopMost = true; - GachaBannerEditor.TopMost = false; - } - } - - /// - /// 文本浏览器窗口实例 - /// - private FormTextMapBrowser TextMapBrowser; - - private void BtnOpenTextMap_Click(object sender, EventArgs e) - { - if (TextMapBrowser == null || TextMapBrowser.IsDisposed) - { - TextMapBrowser = new FormTextMapBrowser(); - TextMapBrowser.Show(); - } - else - { - TextMapBrowser.TopMost = true; - TextMapBrowser.TopMost = false; - } - } - - /// - /// 语言选中项改变时触发 - /// - private void CmbLanguage_SelectedIndexChanged(object sender, EventArgs e) - { - if (CmbLanguage.SelectedIndex < 0) return; - // 切换默认语言 - MultiLanguage.SetDefaultLanguage(MultiLanguage.Languages[CmbLanguage.SelectedIndex]); - // 动态更改语言 - MultiLanguage.LoadLanguage(this, typeof(FormMain)); - // 重新载入页面资源 - FormMain_Load(this, EventArgs.Empty); - } - - /// - /// 命令版本改变时触发 - /// - /// - /// - private void OnCommandVersionChanged(object sender, EventArgs e) - { - Settings.Default.CommandVersion = CommandVersion.Current.ToString(3); - ChangeTPArtifact(); - } - - - /// - /// 点击检查更新时触发 - /// - private void LnkNewVersion_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - if (LastestInfo != null) - { - var r = MessageBox.Show( - string.Format(Resources.NewVersionInfo, LastestInfo.Name, LastestInfo.CraeteTime.ToLocalTime(), LastestInfo.Body), - Resources.CheckToNewVersion, - MessageBoxButtons.YesNo, - MessageBoxIcon.Information); - if (r == DialogResult.Yes) - OpenURL(LastestInfo.Url); - else if (r == DialogResult.No) - Settings.Default.CheckedLastVersion = lastestVersion.ToString(); - } - else - { - // 没有更新,隐藏 - LnkNewVersion.Visible = false; - } - } - - #endregion - 主页 Home - - - #region - 自定义 Custom - - - /// - /// 自定义命令保存位置 - /// - private readonly string CustomCommandsFilePath = Path.Combine(Application.LocalUserAppDataPath, "CustomCommands.txt"); - - /// - /// 自定义命令是否存在更改 - /// - private bool CustomCommandsChanged; - - /// - /// 加载自定义命令 - /// - private void LoadCustomCommands() - { - if (File.Exists(CustomCommandsFilePath)) - LoadCustomCommandControls(File.ReadAllText(CustomCommandsFilePath)); - else - LoadCustomCommandControls(Resources.CustomCommands); - } - - /// - /// 加载自定义命令控件列表 - /// - /// 命令集(示例:"标签1\n命令1\n标签2\n命令2") - private void LoadCustomCommandControls(string commands) - { - FLPCustomCommands.Controls.Clear(); - var lines = commands.Split('\n'); - for (int i = 0; i < lines.Length - 1; i += 2) - AddCustomCommand(lines[i].Trim(), lines[i + 1].Trim()); - } - - /// - /// 保存自定义命令 - /// - private void SaveCustomCommands() - { - if (CustomCommandsChanged) - File.WriteAllText(CustomCommandsFilePath, SaveCustomCommandControls()); - } - - /// - /// 保存自定义命令控件列表 - /// - /// 命令集(示例:"标签1\n命令1\n标签2\n命令2") - private string SaveCustomCommandControls() - { - StringBuilder builder = new StringBuilder(); - foreach (LinkLabel lnk in FLPCustomCommands.Controls) - { - builder.AppendLine(lnk.Text); - builder.AppendLine(lnk.Tag as string); - } - return builder.ToString(); - } - - /// - /// 自定义命令点击时触发 - /// - private void CustomCommand_Click(object sender, LinkLabelLinkClickedEventArgs e) - { - if (sender is LinkLabel lnk && lnk.Tag is string command) - { - TxtCustomName.Text = lnk.Text; - SetCommand(command); - } - } - - /// - /// 点击保存自定义命令列表时触发 - /// - /// - /// - private async void BtnSaveCustomCommand_Click(object sender, EventArgs e) - { - if (string.IsNullOrWhiteSpace(TxtCustomName.Text)) - { - MessageBox.Show(Resources.CommandTagCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - if (string.IsNullOrWhiteSpace(TxtCommand.Text)) - { - MessageBox.Show(Resources.CommandContentCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - var name = TxtCustomName.Text.Trim(); - var command = TxtCommand.Text.Trim(); - - foreach (LinkLabel lnk in FLPCustomCommands.Controls) - { - if (lnk.Text == name) - { - lnk.Tag = command; - CustomCommandsChanged = true; - await ButtonComplete(BtnSaveCustomCommand); - return; - } - } - - CustomCommandsChanged = true; - AddCustomCommand(name, command); - await ButtonComplete(BtnSaveCustomCommand); - } - - /// - /// 添加自定义命令 - /// - /// 标签 - /// 命令 - private void AddCustomCommand(string name, string command) - { - var lnk = new LinkLabel - { - Text = name, - Tag = command, - AutoSize = true, - }; - lnk.LinkClicked += CustomCommand_Click; - FLPCustomCommands.Controls.Add(lnk); - } - - /// - /// 点击移除自定义命令按钮时触发 - /// - private async void BtnRemoveCustomCommand_Click(object sender, EventArgs e) - { - if (string.IsNullOrWhiteSpace(TxtCustomName.Text)) - { - MessageBox.Show(Resources.CommandTagCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - var name = TxtCustomName.Text.Trim(); - - foreach (LinkLabel lnk in FLPCustomCommands.Controls) - { - if (lnk.Text == name && MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - FLPCustomCommands.Controls.Remove(lnk); - CustomCommandsChanged = true; - //TxtCustomName.Text = ""; - //TxtCommand.Text = ""; - await ButtonComplete(BtnRemoveCustomCommand); - return; - } - } - - MessageBox.Show(Resources.CommandNotFound, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - - /// - /// 点击导入自定义命令时触发 - /// - private void BtnImport_Click(object sender, EventArgs e) - { - var dialog = new OpenFileDialog - { - Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" - }; - if (dialog.ShowDialog() == DialogResult.OK) - { - using (var stream = dialog.OpenFile()) - using (var reader = new StreamReader(stream)) - { - LoadCustomCommandControls(reader.ReadToEnd()); - CustomCommandsChanged = true; - } - } - } - - /// - /// 点击导出自定义命令时触发 - /// - /// - /// - private void BtnExport_Click(object sender, EventArgs e) - { - var dialog = new SaveFileDialog - { - FileName = "Commands.txt", - Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" - }; - if (dialog.ShowDialog() == DialogResult.OK) - { - using (var stream = dialog.OpenFile()) - using (var writer = new StreamWriter(stream)) - { - writer.Write(SaveCustomCommandControls()); - } - } - } - - /// - /// 点击重置链接按钮时触发 - /// - private void LnkResetCustomCommands_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - if (MessageBox.Show(Resources.RestoreCustomCommands, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) - { - if (File.Exists(CustomCommandsFilePath)) - File.Delete(CustomCommandsFilePath); - LoadCustomCommandControls(Resources.CustomCommands); - } - } - - #endregion - 自定义 Custom - - - #region - 圣遗物 Artifact - - - /// - /// 副词条集 - /// - private Dictionary>> subAttrs; - - /// - /// 部位标签集 - /// - private string[] ArtifactPartLabels; - - /// - /// 初始化圣遗物列表 - /// - private void InitArtifactList() - { - CmbArtifactSet.Items.Clear(); - CmbArtifactSet.Items.AddRange(GameData.ArtifactCats.Names); - CmbMainAttribution.Items.Clear(); - CmbMainAttribution.Items.AddRange(GameData.ArtifactMainAttribution.Lines); - - subAttrs = new Dictionary>>(); - for (int i = 0; i < GameData.ArtifactSubAttribution.Count; i++) - { - var name = GameData.ArtifactSubAttribution.Names[i]; - var pi = name.IndexOf('+'); - var prefix = name.Substring(0, pi); - var value = name.Substring(pi); - if (!subAttrs.TryGetValue(prefix, out List> list)) - { - list = new List>(); - subAttrs[prefix] = list; - } - list.Add(new KeyValuePair(GameData.ArtifactSubAttribution.Ids[i], value)); - } - CmbSubAttribution.Items.Clear(); - CmbSubAttribution.Items.AddRange(subAttrs.Keys.ToArray()); - - ArtifactPartLabels = Resources.ArtifactPartLabels.Split(','); - } - - /// - /// 福词条下拉框选中项改变时触发 - /// - private void CmbSubAttribution_SelectedIndexChanged(object sender, EventArgs e) - { - CmbSubAttributionValue.Items.Clear(); - if (CmbSubAttribution.SelectedIndex >= 0) - { - CmbSubAttributionValue.Items.AddRange(subAttrs[CmbSubAttribution.SelectedItem as string].Select(kv => kv.Value).ToArray()); - CmbSubAttributionValue.SelectedIndex = 0; - } - } - - /// - /// 点击添加副词条按钮时触发 - /// - private void BtnAddSubAttr_Click(object sender, EventArgs e) - { - if (CmbSubAttribution.SelectedIndex >= 0 && CmbSubAttributionValue.SelectedIndex >= 0) - { - var name = CmbSubAttribution.SelectedItem as string; - var kv = subAttrs[name][CmbSubAttributionValue.SelectedIndex]; - ListSubAttributionChecked.Items.Add($"{kv.Key}:{name}{kv.Value} x{NUDSubAttributionTimes.Value}"); - ArtifactInputChanged(null, EventArgs.Empty); - } - } - - /// - /// 圣遗物套装下拉框选中项改变时触发 - /// - private void CmbArtifactSet_SelectedIndexChanged(object sender, EventArgs e) - { - if (CmbArtifactSet.SelectedIndex < 0) - return; - var setId = GameData.ArtifactCats.Ids[CmbArtifactSet.SelectedIndex]; - var beginIndex = Array.FindIndex(GameData.Artifacts.Ids, id => id / 1000 == setId); - var endIndex = Array.FindLastIndex(GameData.Artifacts.Ids, id => id / 1000 == setId); - - // 限制星级输入范围 - NUDArtifactStars.Minimum = GameData.Artifacts.Ids[beginIndex] / 100 % 10; - NUDArtifactStars.Maximum = GameData.Artifacts.Ids[endIndex] / 100 % 10; - - var parts = GameData.Artifacts.Names.Skip(beginIndex).Take(endIndex - beginIndex + 1).Distinct().ToArray(); - var i = CmbArtifactPart.SelectedIndex; - CmbArtifactPart.Items.Clear(); - CmbArtifactPart.Items.AddRange(parts); - if (i < parts.Length) // 重新选中 - CmbArtifactPart.SelectedIndex = i; - - ArtifactInputChanged(sender, e); - } - - /// - /// 圣遗物部件选中项改变时触发 - /// - private void CmbArtifactPart_SelectedIndexChanged(object sender, EventArgs e) - { - if (CmbArtifactPart.SelectedIndex < 0) - { - LblArtifactName.Text = ""; - return; - } - var name = CmbArtifactPart.SelectedItem as string; - var id = GameData.Artifacts.Ids[Array.IndexOf(GameData.Artifacts.Names, name)]; - var pardIndex = id / 10 % 10 - 1; - if (pardIndex < ArtifactPartLabels?.Length) - LblArtifactName.Text = ArtifactPartLabels[pardIndex]; - else - LblArtifactName.Text = ""; - ArtifactInputChanged(sender, e); - } - - /// - /// 圣遗物页面输入改变时调用 - /// - private void ArtifactInputChanged(object sender, EventArgs e) - { - // 圣遗物ID五位数,ABCDE,其中AB是圣遗物类型(魔女/水/风套......) - // C是星级(5就是五星),D是圣遗物部位,E是初始词条数量 - if (CmbArtifactSet.SelectedIndex < 0 || CmbArtifactPart.SelectedIndex < 0) - return; - //var setId = GameData.ArtifactCats.Ids[CmbArtifactSet.SelectedIndex]; - //var part = CmbArtifactPart.SelectedIndex+1; - //var index = Array.FindLastIndex( - // GameData.Artifacts.Ids, - // it => it / 1000 == setId // 套装ID - // //&& it / 100 % 10 == NUDArtifactStars.Value // 星级 - // && it / 10 % 10 == part // 部位 - // ); - var name = CmbArtifactPart.SelectedItem as string; - var id = GameData.Artifacts.Ids[Array.LastIndexOf(GameData.Artifacts.Names, name)]; - id = id / 1000 * 1000 + (int)NUDArtifactStars.Value * 100 + id % 100; - if (CmbMainAttribution.SelectedIndex < 0) - { - if (Check(CommandVersion.V1_2_2)) - SetCommand("/give", $"{id} lv{NUDArtifactLevel.Value}"); - else - SetCommand("/giveart", $"{id} {NUDArtifactLevel.Value}"); - } - else - { - var t = CmbMainAttribution.SelectedItem as string; - var mainAttr = t.Substring(0, t.IndexOf(':')).Trim(); - - var subAttrs = ""; - if (ListSubAttributionChecked.Items.Count > 0) - { - var subAttrDir = new Dictionary(ListSubAttributionChecked.Items.Count); - foreach (string item in ListSubAttributionChecked.Items) - { - var subId = item.Substring(0, item.IndexOf(':')).Trim(); - var times = int.Parse(item.Substring(item.LastIndexOf('x') + 1)); - if (subAttrDir.ContainsKey(subId)) - subAttrDir[subId] += times; - else - subAttrDir[subId] = times; - } - - foreach (var kv in subAttrDir) - { - if (kv.Value > 1) - subAttrs += $"{kv.Key},{kv.Value} "; - else - subAttrs += $"{kv.Key} "; - } - } - if (Check(CommandVersion.V1_2_2)) - SetCommand("/give", $"{id} lv{NUDArtifactLevel.Value} {mainAttr} {subAttrs}"); - else - SetCommand("/giveart", $"{id} {mainAttr} {subAttrs}{NUDArtifactLevel.Value}"); - } - } - - /// - /// 已添加的副词条列表选中项改变时触发 - /// - private void ListSubAttributionChecked_SelectedIndexChanged(object sender, EventArgs e) - { - if (ListSubAttributionChecked.SelectedIndex >= 0) - { - ListSubAttributionChecked.Items.RemoveAt(ListSubAttributionChecked.SelectedIndex); - ListSubAttributionChecked.ClearSelected(); - ArtifactInputChanged(null, EventArgs.Empty); - } - } - - /// - /// 清除词条链接标签点击时触发 - /// - /// - /// - private void LblClearSubAttrCheckedList_Click(object sender, EventArgs e) - { - CmbMainAttribution.SelectedIndex = -1; - ListSubAttributionChecked.Items.Clear(); - ArtifactInputChanged(null, EventArgs.Empty); - } - - /// - /// 改变圣遗物等级输入范围(旧版本范围是1-21) - /// - private void ChangeTPArtifact() - { - if (Check(CommandVersion.V1_2_2)) - { - NUDArtifactLevel.Minimum = 0; - NUDArtifactLevel.Maximum = 20; - } - else - { - NUDArtifactLevel.Minimum = 1; - NUDArtifactLevel.Maximum = 21; - } - LblArtifactLevelTip.Text = $"[{NUDArtifactLevel.Minimum}-{NUDArtifactLevel.Maximum}]"; - } - - #endregion - 圣遗物 Artifact - - - #region - 武器 Weapons - - - /// - /// 初始化武器列表 - /// - private void InitWeapons() - { - ListWeapons.Items.Clear(); - ListWeapons.Items.AddRange(GameData.Weapons.Lines); - } - - /// - /// 武器列表过滤器文本改变时触发 - /// - private void TxtWeaponFilter_TextChanged(object sender, EventArgs e) - { - var filter = TxtWeaponFilter.Text.Trim(); - ListWeapons.BeginUpdate(); - ListWeapons.Items.Clear(); - ListWeapons.Items.AddRange(GameData.Weapons.Lines.Where(n => n.Contains(filter)).ToArray()); - ListWeapons.EndUpdate(); - } - - /// - /// 武器页面输入改变时触发 - /// - private void WeaponValueChanged(object sender, EventArgs e) - { - var name = ListWeapons.SelectedItem as string; - if (!string.IsNullOrEmpty(name)) - { - var id = name.Substring(0, name.IndexOf(':')).Trim(); - if (Check(CommandVersion.V1_2_2)) - SetCommand("/give", $"{id} x{NUDWeaponAmout.Value} lv{NUDWeaponLevel.Value} r{NUDWeaponRefinement.Value}"); - else - SetCommand("/give", $"{id} {NUDWeaponAmout.Value} {NUDWeaponLevel.Value} {NUDWeaponRefinement.Value}"); - } - } - - /// - /// 点击获取所有武器按钮时触发 - /// - private void BtnGiveAllWeapons_Click(object sender, EventArgs e) - { - SetCommand("/give", $"weapons x{NUDWeaponAmout.Value} lv{NUDWeaponLevel.Value} r{NUDWeaponRefinement.Value}"); - } - - #endregion - 武器 Weapons - - - #region - 物品 Items - - - /// - /// 初始化游戏物品列表 - /// - private void InitGameItemList() - { - ListGameItems.Items.Clear(); - ListGameItems.Items.AddRange(GameData.Items.Lines); - } - - /// - /// 物品列表过滤器文本改变时触发 - /// - private void TxtGameItemFilter_TextChanged(object sender, EventArgs e) - { - var filter = TxtGameItemFilter.Text.Trim(); - ListGameItems.BeginUpdate(); - ListGameItems.Items.Clear(); - ListGameItems.Items.AddRange(GameData.Items.Lines.Where(n => n.Contains(filter)).ToArray()); - ListGameItems.EndUpdate(); - } - - /// - /// 生成获取物品命令 - /// - /// 是否生成成功 - private bool GenGiveItemCommand() - { - var name = ListGameItems.SelectedItem as string; - if (!string.IsNullOrEmpty(name)) - { - var id = name.Substring(0, name.IndexOf(':')).Trim(); - - if (ChkDrop.Checked) - { - NUDGameItemLevel.Enabled = false; - SetCommand("/drop", $"{id} {NUDGameItemAmout.Value}"); - } - else - { - NUDGameItemLevel.Enabled = true; - if (Check(CommandVersion.V1_2_2)) - SetCommand("/give", $"{id} x{NUDGameItemAmout.Value} lv{NUDGameItemLevel.Value}"); - else - SetCommand("/give", $"{id} {NUDGameItemAmout.Value} {NUDGameItemLevel.Value}"); - } - return true; - } - return false; - } - - /// - /// 获取物品输入改变时触发 - /// - private void GiveItemsInputChanged(object sender, EventArgs e) - { - GenGiveItemCommand(); - } - - #region -- 物品记录 -- - - /// - /// 获取物品记录文件路径 - /// - private readonly string GiveItemCommandsRecordPath = Path.Combine(Application.LocalUserAppDataPath, "GiveItemCommands.txt"); - - /// - /// 获取物品记录 - /// - private List GiveItemCommands; - - /// - /// 初始化获取物品记录 - /// - private void InitGiveItemRecord() - { - if (File.Exists(GiveItemCommandsRecordPath)) - { - GiveItemCommands = GetCommands(File.ReadAllText(GiveItemCommandsRecordPath)); - ListGiveItemLogs.Items.AddRange(GiveItemCommands.Select(c => c.Name).ToArray()); - } - else - { - GiveItemCommands = new List(); - } - } - - /// - /// 保存获取物品记录 - /// - private void SaveGiveItemRecord() - { - File.WriteAllText(GiveItemCommandsRecordPath, GetCommandsText(GiveItemCommands)); - } - - /// - /// 获取物品记录列表选中项改变时触发 - /// - private void ListGiveItemLogs_SelectedIndexChanged(object sender, EventArgs e) - { - if (ListGiveItemLogs.SelectedIndex >= 0) - { - BtnRemoveGiveItemLog.Enabled = true; - SetCommand(GiveItemCommands[ListGiveItemLogs.SelectedIndex].Command); - } - else - { - BtnRemoveGiveItemLog.Enabled = false; - } - } - - /// - /// 点击保存记录按钮时触发 - /// - private void BtnSaveGiveItemLog_Click(object sender, EventArgs e) - { - if (GenGiveItemCommand()) - { - var cmd = new GameCommand($"{ListGameItems.SelectedItem} x{NUDGameItemAmout.Value}", TxtCommand.Text); - GiveItemCommands.Add(cmd); - ListGiveItemLogs.Items.Add(cmd.Name); - } - } - - /// - /// 点击移除获取物品记录时触发 - /// - private void BtnRemoveGiveItemLog_Click(object sender, EventArgs e) - { - if (ListGiveItemLogs.SelectedIndex >= 0) - { - GiveItemCommands.RemoveAt(ListGiveItemLogs.SelectedIndex); - ListGiveItemLogs.Items.RemoveAt(ListGiveItemLogs.SelectedIndex); - } - } - - /// - /// 点击清空获取物品记录时触发 - /// - private void LblClearGiveItemLogs_Click(object sender, EventArgs e) - { - if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - GiveItemCommands.Clear(); - ListGiveItemLogs.Items.Clear(); - } - } - - #endregion -- 物品记录 -- - - #endregion - 物品 Items - - - #region - 角色 Avatars - - - /// - /// 初始化角色列表 - /// - private void InitAvatars() - { - CmbAvatar.Items.Clear(); - CmbAvatar.Items.AddRange(GameData.Avatars.Names); - } - - /// - /// 角色下拉框选中项改变时触发 - /// - /// - /// - private void CmbAvatar_SelectedIndexChanged(object sender, EventArgs e) - { - // TODO: Load Avatar Image - AvatarInputChanged(); - } - - /// - /// 角色等级输入框数值改变时触发 - /// - private void NUDAvatarLevel_ValueChanged(object sender, EventArgs e) - { - AvatarInputChanged(); - } - - /// - /// 角色命座输入框数值改变时触发 - /// - private void NUDAvatarConstellation_ValueChanged(object sender, EventArgs e) - { - AvatarInputChanged(); - } - - /// - /// 角色页面输入改变时触发 - /// - private void AvatarInputChanged() - { - if (CmbAvatar.SelectedIndex >= 0) - GenAvatar((int)NUDAvatarLevel.Value, (int)NUDAvatarConstellation.Value); - } - - /// - /// 获取角色命令 - /// - /// 等级 - private void GenAvatar(int level, int constellation) - { - if (Check(CommandVersion.V1_2_2)) - { - int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex]; - SetCommand("/give", $"{avatarId} lv{level} c{constellation}"); - } - else - { - int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex] - 1000 + 10000000; - SetCommand("/givechar", $"{avatarId} {level}"); - } - } - - /// - /// 点击获取所有角色按钮时触发 - /// - /// - /// - private void BtnGiveAllChar_Click(object sender, EventArgs e) - { - var level = NUDAvatarLevel.Value; - var constellation = NUDAvatarConstellation.Value; - SetCommand("/give avatars", $"lv{level} c{constellation}"); - } - - #endregion - 角色 Avatars - - - #region - 生成 Spawns - - - /// - /// 初始化实体列表 - /// - private void InitEntityList() - { - RbEntityMonster.Tag = GameData.Monsters.Lines; - RbEntityAnimal.Tag = GameData.Animals.Lines; - RbEntityMonster.Checked = true; - LoadEntityList(); - } - - /// - /// 加载实体列表 - /// - private void LoadEntityList() - { - var rb = RbEntityAnimal.Checked ? RbEntityAnimal : RbEntityMonster; - if (rb.Checked) - { - ListEntity.BeginUpdate(); - ListEntity.Items.Clear(); - ListEntity.Items.AddRange(rb.Tag as string[]); - ListEntity.EndUpdate(); - } - } - - /// - /// 实体列表过滤器文本改变时触发 - /// - private void TxtEntityFilter_TextChanged(object sender, EventArgs e) - { - var filter = TxtEntityFilter.Text.Trim(); - var rb = RbEntityAnimal.Checked ? RbEntityAnimal : RbEntityMonster; - var data = rb.Tag as string[]; - ListEntity.BeginUpdate(); - ListEntity.Items.Clear(); - ListEntity.Items.AddRange(data.Where(n => n.Contains(filter)).ToArray()); - ListEntity.EndUpdate(); - } - - /// - /// 生成召唤实体命令 - /// - /// 是否生成成功 - private bool GenSpawnEntityCommand() - { - var selectedItem = ListEntity.SelectedItem as string; - if (!string.IsNullOrEmpty(selectedItem)) - { - var id = selectedItem.Substring(0, selectedItem.IndexOf(':')).Trim(); - if (Check(CommandVersion.V1_3_1)) - SetCommand("/spawn", $"{id} x{NUDEntityAmout.Value} lv{NUDEntityLevel.Value}" + (ChkInfiniteHP.Checked ? " hp0" : "")); - else - SetCommand("/spawn", $"{id} {NUDEntityAmout.Value} {NUDEntityLevel.Value}"); - return true; - } - return false; - } - - /// - /// 生成页面输入改变时触发 - /// - private void SpawnEntityInputChanged(object sender, EventArgs e) - { - GenSpawnEntityCommand(); - } - - /// - /// 列表过滤选项切换时触发 - /// - private void RbEntity_CheckedChanged(object sender, EventArgs e) - { - LoadEntityList(); - } - - #region -- 生成记录 -- - - /// - /// 生成命令记录文件路径 - /// - private readonly string SpawnCommandsRecordPath = Path.Combine(Application.LocalUserAppDataPath, "SpawnCommands.txt"); - - /// - /// 生成命令记录 - /// - private List SpawnCommands; - - /// - /// 初始化生成记录 - /// - private void InitSpawnRecord() - { - if (File.Exists(SpawnCommandsRecordPath)) - { - SpawnCommands = GetCommands(File.ReadAllText(SpawnCommandsRecordPath)); - ListSpawnLogs.Items.AddRange(SpawnCommands.Select(c => c.Name).ToArray()); - } - else - { - SpawnCommands = new List(); - } - } - - /// - /// 保存生成记录 - /// - private void SaveSpawnRecord() - { - File.WriteAllText(SpawnCommandsRecordPath, GetCommandsText(SpawnCommands)); - } - - /// - /// 生成记录列表选中项改变时触发 - /// - private void ListSpawnLogs_SelectedIndexChanged(object sender, EventArgs e) - { - if (ListSpawnLogs.SelectedIndex >= 0) - { - BtnRemoveSpawnLog.Enabled = true; - SetCommand(SpawnCommands[ListSpawnLogs.SelectedIndex].Command); - } - else - { - BtnRemoveSpawnLog.Enabled = false; - } - } - - /// - /// 点击保存生成记录按钮时触发 - /// - private void BtnSaveSpawnLog_Click(object sender, EventArgs e) - { - if (GenSpawnEntityCommand()) - { - var cmd = new GameCommand($"{ListEntity.SelectedItem} Lv{NUDEntityLevel.Value} x{NUDEntityAmout.Value}", TxtCommand.Text); - SpawnCommands.Add(cmd); - ListSpawnLogs.Items.Add(cmd.Name); - } - } - - /// - /// 点击移除生成记录按钮时触发 - /// - private void BtnRemoveSpawnLog_Click(object sender, EventArgs e) - { - if (ListSpawnLogs.SelectedIndex >= 0) - { - SpawnCommands.RemoveAt(ListSpawnLogs.SelectedIndex); - ListSpawnLogs.Items.RemoveAt(ListSpawnLogs.SelectedIndex); - } - } - - /// - /// 点击清空生成记录按钮时触发 - /// - private void LblClearSpawnLogs_Click(object sender, EventArgs e) - { - if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - SpawnCommands.Clear(); - ListSpawnLogs.Items.Clear(); - } - } - - #endregion -- 生成记录 -- - - #endregion - 生成 Spawns - - - #region - 场景 Scenes - - - /// - /// 初始化场景列表 - /// - private void InitScenes() - { - ListScenes.Items.Clear(); - ListScenes.Items.AddRange(GameData.Scenes.Lines); - - CmbClimateType.Items.Clear(); - CmbClimateType.Items.AddRange(Resources.ClimateType.Split(',')); - } - - /// - /// 场景列表过滤器输入项改变时触发 - /// - private void TxtSceneFilter_TextChanged(object sender, EventArgs e) - { - var filter = TxtSceneFilter.Text.Trim(); - ListScenes.BeginUpdate(); - ListScenes.Items.Clear(); - ListScenes.Items.AddRange(GameData.Scenes.Lines.Where(n => n.Contains(filter)).ToArray()); - ListScenes.EndUpdate(); - } - - /// - /// 场景列表选中项改变时触发 - /// - private void ListScenes_SelectedIndexChanged(object sender, EventArgs e) - { - if (ListScenes.SelectedIndex < 0) - { - ChkIncludeSceneId.Enabled = false; - return; - } - ChkIncludeSceneId.Enabled = true; - - // 可以直接弃用 scene 命令 - var name = ListScenes.SelectedItem as string; - var id = name.Substring(0, name.IndexOf(':')).Trim(); - if (Check(CommandVersion.V1_2_2)) - { - SetCommand("/scene", id.ToString()); - } - else - { - SetCommand("/tp ~ ~ ~", id.ToString()); - } - } - - /// - /// 气候类型列表 - /// - static readonly string[] climateTypes = { "none", "sunny", "cloudy", "rain", "thunderstorm", "snow", "mist" }; - - /// - /// 气候类型下拉框选中项改变时触发 - /// - private void CmbClimateType_SelectedIndexChanged(object sender, EventArgs e) - { - if (CmbClimateType.SelectedIndex < 0) - return; - if (Check(CommandVersion.V1_2_2)) - SetCommand("/weather", CmbClimateType.SelectedIndex < climateTypes.Length ? climateTypes[CmbClimateType.SelectedIndex] : "none"); - else - SetCommand("/weather", $"0 {CmbClimateType.SelectedIndex}"); - } - - /// - /// 点击传送按钮时触发 - /// - private void BtnTeleport_Click(object sender, EventArgs e) - { - string args = $"{NUDTpX.Value} {NUDTpY.Value} {NUDTpZ.Value}"; - if (ChkIncludeSceneId.Checked && ListScenes.SelectedIndex != -1) - args += $" {GameData.Scenes.Ids[ListScenes.SelectedIndex]}"; - SetCommand("/tp", args); - } - - #endregion - 场景 Scenes - - - #region - 数据 Stats - - - /// - /// 初始化数据列表 - /// - private void InitStatList() - { - LblStatTip.Text = ""; - SetStatsCommand.InitStats(); - CmbStat.Items.Clear(); - CmbStat.Items.AddRange(SetStatsCommand.Stats.Select(s => s.Name).ToArray()); - } - - /// - /// 数据页面输入改变时触发 - /// - private void SetStatsInputChanged(object sender, EventArgs e) - { - if (CmbStat.SelectedIndex < 0) - return; - else - BtnLockStat.Enabled = BtnUnlockStat.Enabled = true; - - var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex]; - LblStatPercent.Visible = stat.Percent; - LblStatTip.Text = stat.Tip; - - SetCommand("/setstats", $"{stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}"); - } - - /// - /// 点击锁定按钮时触发 - /// - private void BtnLockStat_Click(object sender, EventArgs e) - { - var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex]; - SetCommand("/setstats", $"lock {stat.ArgName} {NUDStat.Value}{(stat.Percent ? "%" : "")}"); - } - - /// - /// 点击解锁按钮时触发 - /// - private void BtnUnlockStat_Click(object sender, EventArgs e) - { - var stat = SetStatsCommand.Stats[CmbStat.SelectedIndex]; - SetCommand("/setstats", $"unlock {stat.ArgName}"); - } - - /// - /// 点击设置技能按钮时触发 - /// - private void LnkSetTalentClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - SetCommand("/talent", $"{(sender as LinkLabel).Tag} {NUDTalentLevel.Value}"); - } - - #endregion - 数据 Stats - - - #region - 管理 Management - - - /// - /// 初始化权限列表 - /// - private void InitPermList() - { - CmbPerm.Items.Clear(); - CmbPerm.Items.AddRange(Resources.Permissions.Split('\n').Select(l => l.Trim()).ToArray()); - } - - /// - /// 点击授权按钮时触发 - /// - private void BtnPermClick(object sender, EventArgs e) - { - var uid = NUDPermUID.Value; - var perm = CmbPerm.Text.Trim(); - var act = (sender as Button).Tag.ToString(); - if (act == "list" || act == "clear") - { - SetCommand($"/permission {act} @{uid}"); - } - else - { - if (string.IsNullOrEmpty(perm)) - { - MessageBox.Show(Resources.PermissionCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - SetCommand($"/permission {act} @{uid} {perm}"); - } - } - - /// - /// 账号相关按钮点击时触发,Tag包含子命令 - /// - private void AccountButtonClicked(object sender, EventArgs e) - { - var username = TxtAccountUserName.Text.Trim(); - if (string.IsNullOrEmpty(username)) - { - MessageBox.Show(Resources.UsernameCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - SetCommand($"/account {(sender as Button).Tag} {username} {(ChkAccountSetUid.Checked ? NUDAccountUid.Value.ToString() : "")}"); - } - - /// - /// 点击封禁按钮时触发 - /// - private void BtnBan_Click(object sender, EventArgs e) - { - var uid = NUDBanUID.Value; - var endTime = DTPBanEndTime.Value; - var command = $"/ban @{uid} {new DateTimeOffset(endTime).ToUnixTimeSeconds()}"; - var reaseon = Regex.Replace(TxtBanReason.Text.Trim(), @"\s+", "-"); - if (!string.IsNullOrEmpty(reaseon)) - command += $" {reaseon}"; - SetCommand(command); - } - - /// - /// 点击解封按钮时触发 - /// - private void BtnUnban_Click(object sender, EventArgs e) - { - SetCommand($"/unban @{NUDBanUID.Value}"); - } - - #endregion - 管理 Management - - - #region - 关于 About - - - /// - /// 点击Github链接时触发 - /// - private void LnkGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - OpenURL("https://github.com/jie65535/GrasscutterCommandGenerator"); - } - - #endregion - 关于 About - - - #region - 命令 Command - - - /// - /// 设置命令 - /// - /// 命令 - private void SetCommand(string command) - { - TxtCommand.Text = command; - if (ChkAutoCopy.Checked) - CopyCommand(); - if (ModifierKeys == Keys.Control) - OnOpenCommandInvoke(); - } - - /// - /// 设置带参数的命令 - /// - /// 命令 - /// 参数 - private void SetCommand(string command, string args) - { - if (ChkIncludeUID.Checked) - SetCommand($"{command} @{NUDUid.Value} {args.Trim()}"); - else - SetCommand($"{command} {args.Trim()}"); - } - - /// - /// 点击复制按钮时触发 - /// - private async void BtnCopy_Click(object sender, EventArgs e) - { - CopyCommand(); - await ButtonComplete(BtnCopy); - } - - /// - /// 复制命令 - /// - private void CopyCommand() - { - if (!string.IsNullOrEmpty(TxtCommand.Text)) - Clipboard.SetText(TxtCommand.Text); - } - - /// - /// 开放命令执行时触发 - /// - private void OnOpenCommandInvoke() - { - BtnInvokeOpenCommand_Click(BtnInvokeOpenCommand, EventArgs.Empty); - } - - /// - /// 点击执行开放命令按钮时触发 - /// - private async void BtnInvokeOpenCommand_Click(object sender, EventArgs e) - { - if (!BtnInvokeOpenCommand.Enabled) return; - if (TxtCommand.Text.Length < 2) - { - ShowTip(Resources.CommandContentCannotBeEmpty, TxtCommand); - return; - } - await RunCommands(TxtCommand.Text); - } - - /// - /// 运行命令 - /// - /// 命令列表 - /// 是否执行成功 - private async Task RunCommands(params string[] commands) - { - if (OC == null || !OC.CanInvoke) - { - ShowTip(Resources.RequireOpenCommandTip, BtnInvokeOpenCommand); - TCMain.SelectedTab = TPRemoteCall; - return false; - } - - ExpandCommandRunLog(); - try - { - BtnInvokeOpenCommand.Enabled = false; - BtnInvokeOpenCommand.Cursor = Cursors.WaitCursor; - int i = 0; - foreach (var command in commands) - { - TxtCommandRunLog.AppendText(">"); - TxtCommandRunLog.AppendText(command); - if (commands.Length > 1) - TxtCommandRunLog.AppendText($" ({++i}/{commands.Length})"); - TxtCommandRunLog.AppendText(Environment.NewLine); - var cmd = command.Substring(1); - try - { - var msg = await OC.Invoke(cmd); - TxtCommandRunLog.AppendText(string.IsNullOrEmpty(msg) ? "OK" : msg); - TxtCommandRunLog.AppendText(Environment.NewLine); - } - catch (Exception ex) - { - TxtCommandRunLog.AppendText("Error: "); - TxtCommandRunLog.AppendText(ex.Message); - TxtCommandRunLog.AppendText(Environment.NewLine); - MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return false; - } - TxtCommandRunLog.ScrollToCaret(); - } - } - finally - { - BtnInvokeOpenCommand.Cursor = Cursors.Default; - BtnInvokeOpenCommand.Enabled = true; - } - return true; - } - - /// - /// 命令日志最小高度 - /// - private const int TxtCommandRunLogMinHeight = 150; - - /// - /// 命令日志文本框 - /// - private TextBox TxtCommandRunLog; - - /// - /// 展开命令记录(可重入) - /// - private void ExpandCommandRunLog() - { - if (GrpCommand.Height < TxtCommandRunLogMinHeight) - { - if (WindowState == FormWindowState.Maximized) - WindowState = FormWindowState.Normal; - TCMain.Anchor &= ~AnchorStyles.Bottom; - GrpCommand.Anchor |= AnchorStyles.Top; - Size = new Size(Width, Height + TxtCommandRunLogMinHeight); - MinimumSize = new Size(MinimumSize.Width, MinimumSize.Height + TxtCommandRunLogMinHeight); - TCMain.Anchor |= AnchorStyles.Bottom; - GrpCommand.Anchor &= ~AnchorStyles.Top; - } - - if (TxtCommandRunLog == null) - { - TxtCommandRunLog = new TextBox - { - Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom, - Multiline = true, - Font = new Font("Consolas", 9F), - Location = new Point(BtnInvokeOpenCommand.Left, BtnInvokeOpenCommand.Bottom + 6), - Size = new Size(GrpCommand.Width - BtnInvokeOpenCommand.Left * 2, TxtCommandRunLogMinHeight), - ReadOnly = true, - BackColor = Color.White, - ScrollBars = ScrollBars.Vertical, - }; - GrpCommand.Controls.Add(TxtCommandRunLog); - } - } - - #endregion - 命令 Command - - - #region - 通用 General - - - /// - /// 播放按钮完成动画 - /// - /// - /// - private async Task ButtonComplete(Button btn) - { - var t = btn.Text; - btn.Text = "√"; - btn.Enabled = false; - await Task.Delay(300); - btn.Text = t; - btn.Enabled = true; - } - - /// - /// 窗口按键按下时触发 - /// - private void FormMain_KeyDown(object sender, KeyEventArgs e) - { - if (e.KeyCode == Keys.F5) - { - // F5 为执行命令 - OnOpenCommandInvoke(); - } - } - - /// - /// 提示气泡对象 - /// - private readonly ToolTip TTip = new ToolTip(); - - /// - /// 在指定控件上显示提示气泡 - /// - /// 消息 - /// 控件 - private void ShowTip(string message, Control control) - { - TTip.Show(message, control, 0, control.Size.Height, 3000); - } - - /// - /// 检查命令版本 - /// - /// 最低要求版本 - /// 当前版本是否满足 - private bool Check(Version version) => CommandVersion.Current >= version; - - #endregion - 通用 General - - - #region - 命令记录 Command Logs - - - /// - /// 获取命令记录 - /// (反序列化) - /// - /// 命令记录文本(示例:"标签1\n命令1\n标签2\n命令2...") - /// 命令列表 - private List GetCommands(string commandsText) - { - var lines = commandsText.Split('\n'); - List commands = new List(lines.Length / 2); - for (int i = 0; i < lines.Length - 1; i += 2) - commands.Add(new GameCommand(lines[i].Trim(), lines[i + 1].Trim())); - return commands; - } - - /// - /// 获取命令记录文本 - /// (序列化) - /// - /// 命令列表 - /// 命令记录文本(示例:"标签1\n命令1\n标签2\n命令2...") - private string GetCommandsText(List commands) - { - StringBuilder builder = new StringBuilder(); - foreach (var cmd in commands) - { - builder.AppendLine(cmd.Name); - builder.AppendLine(cmd.Command); - } - return builder.ToString(); - } - - #endregion - 命令记录 Command Logs - - - #region - 远程 Remote - - - /// - /// 开放命令接口 - /// - private OpenCommandAPI OC; - - /// - /// 进入远程页面时触发 - /// - private void TPRemoteCall_Enter(object sender, EventArgs e) - { -#if !DEBUG - if (string.IsNullOrEmpty(Settings.Default.Host) || string.IsNullOrEmpty(Settings.Default.TokenCache)) - { - // 自动尝试查询本地服务端地址,降低使用门槛 - Task.Run(async () => - { - var localhosts = new string[] { - "http://127.0.0.1:443", - "https://127.0.0.1", - "http://127.0.0.1", - "https://127.0.0.1:80", - "http://127.0.0.1:8080", - "https://127.0.0.1:8080", - }; - foreach (var host in localhosts) - { - try - { - await UpdateServerStatus(host); - // 自动填写本地服务端地址 - TxtHost.Text = host; - break; - } - catch (Exception) - { - // Ignore - } - } - }); - } -#endif - } - - /// - /// 初始化开放命令 - /// - private void InitOpenCommand() - { - NUDRemotePlayerId.Value = Settings.Default.RemoteUid; - TxtHost.Text = Settings.Default.Host; - if (!string.IsNullOrEmpty(Settings.Default.Host) && !string.IsNullOrEmpty(Settings.Default.TokenCache)) - { - OC = new OpenCommandAPI(Settings.Default.Host, Settings.Default.TokenCache); - TxtToken.Text = Settings.Default.TokenCache; - Task.Run(async () => - { - await Task.Delay(1000); - BeginInvoke(new Action(() => ShowTip(Resources.TokenRestoredFromCache, BtnInvokeOpenCommand))); - }); - } - } - - /// - /// 保存开放命令参数 - /// - private void SaveOpenCommand() - { - Settings.Default.RemoteUid = NUDRemotePlayerId.Value; - Settings.Default.Host = TxtHost.Text; - Settings.Default.TokenCache = OC?.Token; - } - - /// - /// 更新服务器状态 - /// - /// 主机地址 - private async Task UpdateServerStatus(string host) - { - // "http://127.0.0.1/" -> "http://127.0.0.1" - host = host.TrimEnd('/'); - var status = await DispatchServerAPI.QueryServerStatus(host); - LblServerVersion.Text = status.Version; - if (status.MaxPlayer >= 0) - LblPlayerCount.Text = $"{status.PlayerCount}/{status.MaxPlayer}"; - else - LblPlayerCount.Text = status.PlayerCount.ToString(); - } - - /// - /// 点击查询服务器状态按钮时触发 - /// - private async void BtnQueryServerStatus_Click(object sender, EventArgs e) - { - var btn = sender as Button; - btn.Enabled = false; - btn.Cursor = Cursors.WaitCursor; - try - { - try - { - await UpdateServerStatus(TxtHost.Text); - } - catch (Exception ex) - { - MessageBox.Show(Resources.QueryServerStatusFailed + ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - 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, Resources.Error, 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 = Resources.CodeSending; - 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 = string.Format(Resources.CodeResendTip, i); - await Task.Delay(1000); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, Resources.Error, 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(Resources.ConnectedTip, BtnInvokeOpenCommand); - ButtonOpenGOODImport.Enabled = true; - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - finally - { - btn.Cursor = Cursors.Default; - btn.Enabled = true; - } - } - - /// - /// 点击控制台连接按钮时触发 - /// - private void BtnConsoleConnect_Click(object sender, EventArgs e) - { - if (string.IsNullOrEmpty(TxtToken.Text)) - { - MessageBox.Show(Resources.TokenCannotBeEmpty, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - OC.Token = TxtToken.Text; - BtnConnectOpenCommand_Click(sender, e); - } - - /// - /// 点击开放命令标签时触发 - /// - private void LnkOpenCommandLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - OpenURL("https://github.com/jie65535/gc-opencommand-plugin"); - } - - /// - /// 点击帮助连接标签时触发 - /// - private void LnkRCHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - MessageBox.Show(Resources.OpenCommandHelp, Resources.Help, MessageBoxButtons.OK, MessageBoxIcon.Information); - } - - /// - /// 点击库存扫描链接标签时触发 - /// - private void LnkInventoryKamera_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - OpenURL("https://github.com/Andrewthe13th/Inventory_Kamera"); - } - - /// - /// 点击GOOD帮助链接标签时触发 - /// - private void LnkGOODHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - OpenURL("https://frzyc.github.io/genshin-optimizer/#/doc"); - } - - /// - /// 点击链接帮助标签时触发 - /// - private void LnkLinks_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - var links = new List - { - "https://frzyc.github.io/genshin-optimizer/", - "https://genshin.aspirine.su/", - "https://genshin.mingyulab.com/", - "https://genshin-center.com/", - "https://github.com/Andrewthe13th/Inventory_Kamera", - "https://github.com/daydreaming666/Amenoma", - "https://seelie.me/", - "https://www.mona-uranai.com/", - }; - MessageBox.Show(string.Join("\n", links), "Links", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - - /// - /// 使用浏览器打开网址 - /// - /// 网址 - private void OpenURL(string url) - { - try - { - System.Diagnostics.Process.Start(url); - } - catch (Exception) - { - MessageBox.Show(Resources.BrowserOpenFailedTip + "\n " + url, - Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Warning); - } - } - - #endregion - 远程 Remote - - - #region - GOOD - - - /// - /// 点击GOOD导入存档按钮时触发 - /// - async private void ButtonOpenGOODImport_Click(object sender, EventArgs e) - { - OpenFileDialog openFileDialog1 = new OpenFileDialog - { - Filter = "GOOD file (*.GOOD;*.json)|*.GOOD;*.json|All files (*.*)|*.*", - }; - if (openFileDialog1.ShowDialog() == DialogResult.OK) - { - if (DialogResult.Yes != MessageBox.Show(Resources.GOODImportText + openFileDialog1.FileName + "?", - Resources.GOODImportTitle, MessageBoxButtons.YesNo)) - return; - try - { - GOOD.GOOD good = JsonConvert.DeserializeObject(File.ReadAllText(openFileDialog1.FileName)); - var commands_list = new List(); - var missingItems = new List(); - - if (good.Characters != null) - { - foreach (var character in good.Characters) - { - if (character.Name != "Traveler") - { - if (GOODData.Avatars.TryGetValue(character.Name, out var character_id)) - commands_list.Add("/give " + character_id + " lv" + character.Level + "c" + character.Constellation); - else - missingItems.Add(character.Name); - // TODO: Implement command to set talent level when giving character in Grasscutter - } - } - } - - if (good.Weapons != null) - { - foreach (var weapon in good.Weapons) - { - if (GOODData.Weapons.TryGetValue(weapon.Name, out var weapon_id)) - commands_list.Add("/give " + weapon_id + " lv" + weapon.Level + "r" + weapon.RefinementLevel); - else - missingItems.Add(weapon.Name); - // TODO: Implement command to give weapon directly to character in Grasscutter - } - } - - if (good.Artifacts != null) - { - foreach (var artifact in good.Artifacts) - { - // Format: set rarity slot - if (!GOODData.ArtifactCats.TryGetValue(artifact.SetName, out var artifact_set_id)) - { - missingItems.Add(artifact.SetName); - continue; - } - var artifact_id = artifact_set_id.ToString() + artifact.Rarity.ToString() + GOODData.ArtifactSlotMap[artifact.GearSlot] + "4"; - var artifact_mainStat_id = GOODData.ArtifactMainAttribution[artifact.MainStat]; - var artifact_substats = ""; - var artifact_substat_prefix = artifact.Rarity + "0"; - int substat_count = 0; - foreach (var substat in artifact.SubStats) - { - if (substat.Value <= 0) - continue; - substat_count++; - var substat_key = substat.Stat; - var substat_key_id = GOODData.ArtifactSubAttribution[substat_key]; - var substat_indices = ArtifactUtils.SplitSubstats(substat_key, artifact.Rarity, substat.Value); - - foreach (int index in substat_indices) - { - artifact_substats += artifact_substat_prefix + substat_key_id + index.ToString() + " "; - } - } - - // HACK: Add def+2 substat to counteract Grasscutter automatically adding another substat - if (substat_count == 4) - artifact_substats += "101081 "; - commands_list.Add("/give " + artifact_id + " lv" + artifact.Level + " " + artifact_mainStat_id + " " + artifact_substats); - // TODO: Implement command to give artifact directly to character in Grasscutter - } - } - - // TODO: Materials - //if (good.Materials != null) - //{ - // foreach (var material in good.Materials) - // { - - // } - //} - - var msg = string.Format("Loaded {0} Characters\nLoaded {1} Weapons\nLoaded {2} Artifacts\n", - good.Characters?.Count ?? 0, - good.Weapons?.Count ?? 0, - good.Artifacts?.Count ?? 0 - ); - if (missingItems.Count > 0) - { - msg += string.Format("There are {0} pieces of data that cannot be parsed, including:\n{1}", - missingItems.Count, - string.Join("\n", missingItems.Take(10))); - if (missingItems.Count > 10) - msg += "......"; - } - msg += "Do you want to start?"; - - if (DialogResult.Yes != MessageBox.Show(msg, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Information)) - return; - - - if (await RunCommands(commands_list.ToArray())) - MessageBox.Show(Resources.GOODImportSuccess); - } - catch (Exception ex) - { - MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - } - - #endregion - - #region - 任务 Quests - - - /// - /// 初始化任务列表 - /// - private void InitQuestList() - { - QuestFilterChanged(null, EventArgs.Empty); - } - - /// - /// 任务列表过滤器文本改变时触发 - /// - private void QuestFilterChanged(object sender, EventArgs e) - { - ListQuest.BeginUpdate(); - ListQuest.Items.Clear(); - ListQuest.Items.AddRange(GameData.Quests.Lines.Where(l => - { - if (!ChkQuestFilterHIDDEN.Checked && l.Contains((string)ChkQuestFilterHIDDEN.Tag)) - return false; - if (!ChkQuestFilterUNRELEASED.Checked && l.Contains((string)ChkQuestFilterUNRELEASED.Tag)) - return false; - if (!ChkQuestFilterTEST.Checked && l.Contains((string)ChkQuestFilterTEST.Tag)) - return false; - if (!string.IsNullOrEmpty(TxtQuestFilter.Text)) - return l.Contains(TxtQuestFilter.Text); - return true; - }).ToArray()); - ListQuest.EndUpdate(); - } - - /// - /// 任务相关按钮点击时触发(Tag带子命令) - /// - private void QuestButsClicked(object sender, EventArgs e) - { - if (ListQuest.SelectedIndex == -1) - return; - var item = ListQuest.SelectedItem as string; - var id = item.Substring(0, item.IndexOf(':')).Trim(); - SetCommand("/quest", $"{(sender as Button).Tag} {id}"); - } - - #endregion - 任务 Quests - - } -} diff --git a/Source/GrasscutterTools/Forms/FormMain.en-us.resx b/Source/GrasscutterTools/Forms/FormMain.en-us.resx deleted file mode 100644 index 4256ab0..0000000 --- a/Source/GrasscutterTools/Forms/FormMain.en-us.resx +++ /dev/null @@ -1,873 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Copy - - - - 54, 21 - - - Auto - - - Command (Press and hold Ctrl to run automatically) - - - Run(F5) - - - Remote - - - InventoryKamera - - - Come and import your official server archive into GC! - - - Import GOOD - - - 108, 16 - - - 377, 17 - - - Please be sure https:// or http:// is included with the IP address - - - Server status - - - 13, 63 - - - 100, 17 - - - OpenCommand - - - 119, 63 - - - 119, 29 - - - 119, 46 - - - 25, 29 - - - 88, 17 - - - Game version - - - 34, 46 - - - 79, 17 - - - Player count - - - Remote Cell - - - Player - - - 35, 17 - - - Help - - - Connect - - - 39, 17 - - - Code - - - Send Code - - - Console - - - Connect - - - Note that normal commands in the console state must specify the target (set include UID) - - - 136, 36 - - - 175, 23 - - - 317, 36 - - - 65, 23 - - - Query - - - 60, 17 - - - Server IP - - - About - - - 387, 102 - - - Grasscutter Tools - -This is a free and open source project. -If you think this is helpful to you, you can give me a free Star. -If there is a problem with the command generation, -or there is a new feature request, you can file an issue on Github. - - - Manage - - - Ban - - - Unban - - - Ban - - - Reason - - - 30, 25 - - - 30, 17 - - - UID - - - Account - - - 49, 21 - - - UID - - - 270, 23 - - - 130, 23 - - - Delete - - - Create - - - 6, 25 - - - 67, 17 - - - Username - - - 79, 22 - - - 127, 23 - - - Permissions - - - 262, 21 - - - 138, 25 - - - Clear - - - Delete - - - List - - - Add - - - 44, 17 - - - Perms - - - 30, 25 - - - 30, 17 - - - UID - - - Scene - - - 91, 213 - - - 122, 21 - - - Include scene Id - - - 219, 184 - - - 113, 184 - - - 10, 211 - - - Teleport - - - 7, 184 - - - 239, 182 - - - 133, 182 - - - 27, 182 - - - 66, 61 - - - 6, 64 - - - 54, 17 - - - weather - - - - False - - - 287, 55 - - - Scene control -Tip: Most of the scenes have no effect and cannot be entered. - - - False - - - 6, 89 - - - 337, 90 - - - Teleporting -Tip: You can quickly teleport through the 'fishing hook' pin on the map in-game. -In the command, you can use ~ to indicate the current position, and ~N to indicate the relative current N - - - Items - - - 50, 17 - - - X Clear - - - √ Record - - - × Delete - - - Records - - - 278, 217 - - - 57, 21 - - - Drop - - - 53, 17 - - - Amount - - - 171, 218 - - - 37, 17 - - - Level - - - 65, 216 - - - 209, 216 - - - 118, 17 - - - Give item to player - - - Weapons - - - Give all Weapons - - - 86, 17 - - - Give Weapon - - - 203, 218 - - - 73, 17 - - - Refinement - - - 53, 17 - - - Amount - - - 121, 218 - - - 20, 17 - - - Lv - - - 282, 216 - - - 65, 216 - - - 147, 216 - - - Stats - - - Stats - - - Unlock - - - Lock - - - Tip - - - Talent Level - - - 283, 24 - - - 15, 17 - - - E - - - 259, 24 - - - 18, 17 - - - Q - - - 178, 24 - - - 75, 17 - - - NormalATK - - - 128, 23 - - - 179, 17 - - - Set current active Avatar data - - - Avatar - - - Give All Char - - - 44, 17 - - - Const. - - - 45, 17 - - - Avatar - - - 37, 17 - - - Level - - - Spawn - - - 202, 217 - - - 86, 21 - - - Infinite HP - - - 204, 25 - - - 50, 17 - - - X Clear - - - √ Record - - - × Delete - - - Records - - - Class - - - 65, 21 - - - Animal - - - 75, 21 - - - Monster - - - 81, 17 - - - Spawn entity - - - 53, 17 - - - Amount - - - 120, 218 - - - 20, 17 - - - Lv - - - 64, 216 - - - 146, 216 - - - Quest - - - List Filter - - - 51, 21 - - - Test - - - 93, 21 - - - Unreleased - - - 69, 21 - - - Hidden - - - Finish - - - Add - - - Add or Finish Quest -Tip: Many quest require server-side scripting support -Therefore, the quest can be added and finished, but not necessarily work. - - - Artifacts - - - + Add - - - 31, 17 - - - Part - - - 112, 11 - - - 49, 17 - - - Artifact - - - 50, 17 - - - X Clear - - - 124, 41 - - - 37, 17 - - - Level - - - 105, 102 - - - 56, 17 - - - Sub Stat - - - 98, 71 - - - 63, 17 - - - Main Stat - - - 37, 17 - - - Stars - - - Custom - - - 583, 216 - - - 60, 23 - - - Export - - - 517, 216 - - - 60, 23 - - - Load - - - 30, 17 - - - Tag - - - List - - - 581, -1 - - - 53, 17 - - - Restore - - - 443, 216 - - - 70, 23 - - - x Delete - - - 367, 216 - - - 70, 23 - - - √ Save - - - 317, 23 - - - Home - - - 74, 38 - - - 158, 24 - - - Have a nice time! - - - 120, 23 - - - TextMapBrowser - - - Banner Editor - - - Settings - - - 109, 21 - - - Always on top - - - 95, 21 - - - Include UID - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormMain.resx b/Source/GrasscutterTools/Forms/FormMain.resx deleted file mode 100644 index 251bd68..0000000 --- a/Source/GrasscutterTools/Forms/FormMain.resx +++ /dev/null @@ -1,5865 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - 3 - - - - 283, 39 - - - 174, 67 - - - 6, 218 - - - LblPlayerCountLabel - - - - Top - - - 70, 39 - - - 265, 77 - - - Bottom, Left - - - 391, 39 - - - 17 - - - TPArtifact - - - True - - - TPSpawn - - - Top - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 5 - - - 5 - - - Bottom, Left - - - TPConsoleCheck - - - NoControl - - - 6 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 2 - - - None - - - 133, 21 - - - 25, 45 - - - NUDAvatarLevel - - - 列表过滤 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 完成任务 - - - 3, 3, 3, 3 - - - 6 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - GrpSettings - - - 44, 17 - - - None - - - GrpSetStats - - - 66, 22 - - - 7 - - - 8 - - - 42, 17 - - - 连接 - - - NoControl - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 255, 217 - - - 5 - - - 11 - - - 407, 51 - - - 12 - - - 1 - - - 1 - - - 1 - - - 3 - - - 44, 22 - - - 设置当前活跃角色数据 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 5 - - - TPWeapon - - - 6 - - - True - - - NoControl - - - True - - - TPAvatar - - - TPAvatar - - - GOOD - - - 0 - - - NoControl - - - System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 1 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - 3 - - - 160, 156 - - - 99, 45 - - - 8 - - - 51, 23 - - - 6, 105 - - - 6 - - - NoControl - - - 99, 28 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - 9 - - - NoControl - - - TPPlayerCheck - - - True - - - 0 - - - 获得所有武器 - - - 37, 17 - - - LblStatPercent - - - GrpBanPlayer - - - NUDStat - - - 60, 23 - - - LblGiveCommandDescription - - - GrpTalentLevel - - - LblMainAttribution - - - TPScene - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 75, 23 - - - 9 - - - TPSpawn - - - GrpQuestFilters - - - BtnBan - - - BtnUnlockStat - - - 5 - - - 125, 25 - - - 210, 17 - - - 角色 - - - NoControl - - - 服务器状态 - - - NUDUid - - - GrpPermission - - - 8 - - - BtnRemoveSpawnLog - - - Top, Left, Right - - - 3 - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - BtnInvokeOpenCommand - - - 1 - - - 346, 31 - - - GrpPermission - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TxtBanReason - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 44, 17 - - - 300, 23 - - - BtnQueryServerStatus - - - 15 - - - 32, 17 - - - 4 - - - 10 - - - GrpCommand - - - 3, 3, 3, 3 - - - 存档扫描开源工具 - - - ButtonOpenGOODImport - - - 10 - - - NUDGameItemAmout - - - TPScene - - - TPWeapon - - - 主词条 - - - 设置天气 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 5 - - - 200, 153 - - - 语言/Language/язык - - - 20 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPSpawn - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 218, 161 - - - True - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 割草机工具箱 - -这是一个免费且开源的项目 -如果觉得这对你很有帮助,可以为我点一个免费的Star -如果愿意请我喝一杯奶茶,那就更好了 : ) -指令生成有问题,或者有新的功能请求,都可以来Github提出 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 50, 21 - - - GrasscutterToolsSupport - - - 13 - - - 60, 23 - - - 一键获得所有角色 - - - GrpTalentLevel - - - 10, 48 - - - GrpServerStatus - - - 24 - - - 含场景ID - - - 104, 17 - - - 16 - - - 189, 15 - - - NoControl - - - 660, 56 - - - 44, 17 - - - TPHome - - - 66, 22 - - - 652, 245 - - - 640, 204 - - - 121, 25 - - - 星级 - - - 设置 - - - 列出 - - - 3, 19 - - - 652, 245 - - - 添加或完成任务 -提示:许多任务需要服务端脚本支持 -因此任务可以接,可以完成,但是不一定可以做 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4, 26 - - - True - - - TxtHost - - - TPItem - - - NUDTpY - - - False - - - True - - - 50, 23 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpServerStatus - - - 16, 220 - - - NoControl - - - LblClearSpawnLogs - - - 掉落 - - - CmbClimateType - - - TPAbout - - - 0 - - - 10 - - - 260, 24 - - - NoControl - - - 1 - - - 44, 17 - - - 6, 161 - - - TPRemoteCall - - - 7, 24 - - - Right - - - 场景 - - - TxtCustomName - - - NUDWeaponLevel - - - TPHome - - - LnkLinks - - - 652, 245 - - - 11 - - - X 清空 - - - TCMain - - - True - - - 182, 23 - - - Top, Left, Right - - - $this - - - 9 - - - 445, 192 - - - NoControl - - - Bottom, Left - - - True - - - TPPlayerCheck - - - 87, 22 - - - 1 - - - 167, 68 - - - 2 - - - 0 - - - 100, 218 - - - True - - - CmbArtifactSet - - - 1 - - - Bottom, Right - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 128, 17 - - - NoControl - - - 10 - - - √ 记录 - - - 5 - - - 0 - - - GrpPermission - - - True - - - 3 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 2 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4 - - - LnkRCHelp - - - TPRemoteCall - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - 7 - - - GrpSpawnRecord - - - 命令(按住 Ctrl 自动执行) - - - TPAbout - - - 45 - - - GrpAccount - - - 2 - - - NoControl - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 298, 11 - - - 16, 25 - - - 1 - - - 358, 31 - - - 205, 58 - - - 446, 31 - - - 5 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 未发布的任务 - - - 6 - - - 65, 23 - - - True - - - 56, 72 - - - 99, 62 - - - 13 - - - 3, 3, 3, 3 - - - TPCustom - - - Bottom, Left - - - Bottom, Left - - - TPConsoleCheck - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 300, 208 - - - 1 - - - 2 - - - True - - - UID - - - GrpSettings - - - True - - - 358, 5 - - - Fill - - - 4, 26 - - - LblPerm - - - 54, 17 - - - 75, 23 - - - UID - - - 0 - - - 2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 51, 21 - - - Bottom, Left - - - NoControl - - - TPWeapon - - - LblQuestDescription - - - 3 - - - 265, 45 - - - 1 - - - Bottom, Left - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 1 - - - GrpBanPlayer - - - LblWeaponRefinement - - - NUDRemotePlayerId - - - 23, 17 - - - Bottom, Left - - - Bottom, Left - - - LblTpX - - - 6, 79 - - - TPScene - - - 14, 17 - - - 43 - - - Bottom, Left, Right - - - TPAvatar - - - TPCustom - - - 3 - - - LblGameItemAmount - - - TPPlayerCheck - - - NoControl - - - TPWeapon - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ListGameItems - - - Bottom, Left - - - NoControl - - - 服务器地址 - - - 238, 159 - - - 4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 29, 15 - - - GrpCommand - - - NoControl - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TxtWeaponFilter - - - 92, 82 - - - Bottom, Left - - - NoControl - - - True - - - TPOpenCommandCheck - - - Top, Bottom, Left, Right - - - 60, 23 - - - 7 - - - 8 - - - 1 - - - Top, Bottom, Left, Right - - - 场景控制 - -提示:大部分场景没有作用,无法进入。 - - - BtnGiveAllChar - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 3 - - - 标签 - - - BtnPermList - - - Top - - - GrpTalentLevel - - - 12 - - - Bottom, Right - - - 296, 111 - - - 11 - - - NoControl - - - 1 - - - 100, 23 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 9, 188 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpServerStatus - - - 3 - - - CmbMainAttribution - - - 2 - - - NoControl - - - 3 - - - 12 - - - True - - - True - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4 - - - 6 - - - 请注意,控制台状态下普通命令必须指定目标 -(即设置包含UID) - - - 1 - - - 3 - - - 32, 17 - - - 37 - - - 87, 87 - - - 动物 - - - 4 - - - True - - - 26, 159 - - - 封号 - - - 角色属性 - - - 9 - - - NoControl - - - 44, 216 - - - NoControl - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TxtQuestFilter - - - 288, 23 - - - LblDefaultUid - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 14 - - - 5 - - - 150, 24 - - - NUDTpX - - - 7 - - - LblToken - - - 167, 8 - - - 100, 23 - - - 44, 17 - - - 数量 - - - 0 - - - 200, 208 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 23, 17 - - - TPPlayerCheck - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - BtnSaveGiveItemLog - - - LblHost - - - 3, 19 - - - NoControl - - - GrpSetStats - - - 80, 23 - - - 1 - - - 玩家验证 - - - --- - - - 4 - - - Top, Bottom, Left, Right - - - TPArtifact - - - 182, 23 - - - False - - - 0 - - - None - - - 163, 25 - - - 700, 400 - - - 552, -1 - - - Bottom, Left - - - 6, 6 - - - 100, 23 - - - 26, 55 - - - x - - - Bottom, Left - - - ListSubAttributionChecked - - - 18 - - - Top, Bottom, Right - - - BtnRemoveGiveItemLog - - - True - - - 6 - - - 0 - - - GrpQuestFilters - - - NoControl - - - TPAvatar - - - TPItem - - - 8 - - - True - - - Bottom, Left - - - 288, 208 - - - 9 - - - 3, 3, 3, 3 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 286, 17 - - - 189, 42 - - - X 清空 - - - 13 - - - Links - - - 0 - - - 3 - - - 12 - - - Top, Bottom, Left, Right - - - BtmPermRemove - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6 - - - 125, 23 - - - 13 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpSetStats - - - 普通攻击 - - - 54, 17 - - - True - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - TPCustom - - - 32, 17 - - - 652, 245 - - - 99, 21 - - - True - - - TPAbout - - - TPManage - - - TPSpawn - - - 207, 37 - - - Bottom, Left - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - LblTpZ - - - 4 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 660, 275 - - - 2 - - - 473, 22 - - - 2 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Top, Bottom, Left - - - CmbPerm - - - 250, 184 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NUDSubAttributionTimes - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 304, 139 - - - Top, Right - - - 6 - - - 465, 100 - - - 236, 34 - - - 0 - - - Bottom, Left - - - 68, 69 - - - NoControl - - - NUDAccountUid - - - 2 - - - 294, 22 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - 1 - - - 0 - - - 3 - - - TPOpenCommandCheck - - - LblHostTip - - - False - - - 3, 3, 3, 3 - - - TPItem - - - 100, 23 - - - GrpQuestFilters - - - True - - - 0 - - - 6, 6 - - - 50, 23 - - - ListGiveItemLogs - - - 0 - - - TPWeapon - - - TPSpawn - - - 652, 245 - - - TCMain - - - NoControl - - - 56, 158 - - - NoControl - - - NoControl - - - TPCustom - - - + 添加 - - - 物品 - - - True - - - 353, 41 - - - LblConsoleTip - - - 2 - - - 0 - - - 39, 17 - - - 目标UID - - - 13, 62 - - - 11 - - - BtnFinishQuest - - - True - - - 17, 13 - - - 15 - - - 2 - - - 0 - - - 110, 23 - - - True - - - True - - - NoControl - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpQuestFilters - - - True - - - True - - - Top, Bottom, Left - - - 给玩家指定物品 -说明:可选择直接给到背包或者掉落到世界 - - - False - - - True - - - 358, 5 - - - 50, 23 - - - 远程 - - - 32, 17 - - - 6, 216 - - - ListSpawnLogs - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 8 - - - TPQuest - - - 144, 36 - - - 5 - - - 23, 17 - - - 2 - - - Right - - - 256, 216 - - - TPRemoteCall - - - Top, Bottom, Left, Right - - - 1 - - - 30, 17 - - - 4, 26 - - - LblSupportDescription - - - 解封 - - - 1 - - - GrpBanPlayer - - - 6, 72 - - - 1 - - - ListEntity - - - √ 记录 - - - TPScene - - - 权限管理 - - - LnkOpenCommandLabel - - - 8 - - - TPArtifact - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 289, 106 - - - Bottom, Left - - - 5 - - - 310, 161 - - - RbEntityMonster - - - FormMain - - - True - - - BtnRemoveCustomCommand - - - LblVerificationCode - - - $this - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveItemRecord - - - 导出 - - - 40, 16 - - - 44, 17 - - - LblTpY - - - TPSpawn - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 5 - - - 6 - - - 188, 216 - - - 652, 245 - - - TPQuest - - - 244, 162 - - - 在玩家附近召唤生物 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - BtnPermClear - - - 远程执行插件 - - - TPPlayerCheck - - - Fill - - - √ 保存 - - - 6 - - - ChkQuestFilterHIDDEN - - - Bottom, Left - - - 0 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Bottom, Left - - - 215, 23 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - Top, Right - - - TxtAccountUserName - - - 5, 218 - - - NoControl - - - 8 - - - 212, 25 - - - Top, Bottom, Left, Right - - - TPSpawn - - - 32, 17 - - - TPScene - - - 6, 6 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - 125, 23 - - - 17 - - - 6, 219 - - - True - - - ChkQuestFilterTEST - - - NoControl - - - GrpCommand - - - False - - - ChkInfiniteHP - - - 243, 140 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - 4, 26 - - - GrpAccount - - - 200, 100 - - - GrpBanPlayer - - - 关于 - - - LblAccountUserName - - - 44, 17 - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6, 6 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpServerStatus - - - 0 - - - TPSpawn - - - 0 - - - NoControl - - - 32, 17 - - - 50, 23 - - - 12 - - - TPSpawn - - - Top - - - TPItem - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 462, 11 - - - TPConsoleCheck - - - Microsoft YaHei UI, 10pt - - - 9 - - - BtnAddSubAttr - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - None - - - 32, 17 - - - 13 - - - 336, 8 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 346, 31 - - - Top - - - 473, 51 - - - 42 - - - Bottom, Left - - - 3, 3, 3, 3 - - - 0, 17 - - - 5 - - - 技能等级 - - - 265, 120 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - True - - - System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6, 22 - - - 0 - - - 6 - - - LblArtifactStars - - - TPScene - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6, 6 - - - 68, 17 - - - 等级 - - - TPConsoleCheck - - - GrpServerStatus - - - 488, 92 - - - TPOpenCommandCheck - - - 发送验证码 - - - True - - - Microsoft YaHei UI, 10pt - - - 17 - - - Top - - - 4, 26 - - - GrpBanPlayer - - - 465, 129 - - - FLPCustomCommands - - - 56, 17 - - - × 删除 - - - NoControl - - - 1 - - - 3, 3, 3, 3 - - - 0 - - - TPArtifact - - - True - - - TPSpawn - - - 99, 218 - - - 32, 17 - - - --- - - - 43, 36 - - - TPItem - - - NUDArtifactStars - - - 2 - - - NoControl - - - 用户名 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 圣遗物 - - - TPStats - - - GrpSetStats - - - True - - - TCMain - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 610, 275 - - - 3 - - - NoControl - - - 120, 25 - - - LblCustomName - - - TPWeapon - - - 2 - - - 4 - - - 150, 218 - - - 250, 22 - - - 0 - - - BtnCopy - - - 136, 24 - - - 150, 35 - - - 652, 245 - - - True - - - 3, 3, 3, 3 - - - TCMain - - - True - - - GrpAccount - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - None - - - Top, Bottom, Left, Right - - - 0 - - - 生成 - - - TPRemoteCall - - - NoControl - - - × 删除 - - - 等级 - - - GrpServerStatus - - - 6 - - - NoControl - - - Q技能 - - - 154, 22 - - - 56, 17 - - - 请确保地址中包含 http:// 或 https:// - - - 1 - - - 1 - - - NoControl - - - GrpAccount - - - Top - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - 当前玩家数 - - - 407, 22 - - - GrpEntityType - - - 301, 111 - - - 游戏版本 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - TPAvatar - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - LblWeaponLevel - - - 3 - - - TPSpawn - - - 2 - - - BtnOpenGachaBannerEditor - - - 92, 82 - - - LblEntityLevel - - - 17 - - - 41, 22 - - - 4, 26 - - - LblArtifactLevel - - - LblGameItemLevel - - - 88, 36 - - - 8 - - - 137, 216 - - - 12 - - - 11 - - - 16, 23 - - - 权限 - - - TPRemoteCall - - - NoControl - - - 14, 17 - - - 管理 - - - 12 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NUDTpZ - - - + 添加 - - - TCMain - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 50, 23 - - - 150, 35 - - - 文本浏览器 - - - 2 - - - 75, 21 - - - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Bottom, Left - - - 1 - - - BtnPermAdd - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - New Version Tip - - - 75, 23 - - - 1 - - - 4 - - - NoControl - - - 429, 94 - - - 4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - NoControl - - - NoControl - - - 60, 23 - - - 14 - - - Top, Left, Right - - - None - - - 32, 17 - - - 等级 - - - LblSubAttribution - - - BtnSendVerificationCode - - - 65, 13 - - - ChkDrop - - - GrpSettings - - - 7 - - - 167, 39 - - - 3 - - - 117, 71 - - - 147, 82 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 列表分类 - - - 100, 23 - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Right - - - LblClearSubAttrCheckedList - - - RbEntityAnimal - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 13 - - - 37, 28 - - - True - - - 封禁理由 - - - LblGOODHelp - - - 60, 23 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NUDAvatarConstellation - - - 60, 23 - - - 11 - - - 4 - - - NUDVerificationCode - - - X 清空 - - - 87, 21 - - - 0, 0, 0, 0 - - - 14, 17 - - - 167, 99 - - - TPCustom - - - TPSpawn - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - TPArtifact - - - TPItem - - - True - - - 6 - - - NoControl - - - 506, 97 - - - 2 - - - 1 - - - False - - - 167, 129 - - - None - - - NoControl - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 5 - - - LblClimateType - - - NUDBanUID - - - 3 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 652, 245 - - - × 删除 - - - 75, 23 - - - TPItem - - - ChkQuestFilterUNRELEASED - - - 3, 19 - - - True - - - 46, 17 - - - 锁定 - - - GrasscutterTools - - - TCMain - - - 6 - - - ImgAvatar - - - 5 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Microsoft YaHei UI, 13pt - - - 116, 17 - - - LnkGithub - - - GrpSettings - - - 65, 42 - - - 3 - - - 0 - - - 1 - - - E技能 - - - NoControl - - - 358, 31 - - - Bottom, Left - - - 5 - - - 32, 17 - - - NoControl - - - 7 - - - GrpPermission - - - 3, 3, 3, 3 - - - 武器 - - - 7 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Bottom, Right - - - 5 - - - TPScene - - - TPPlayerCheck - - - NUDEntityLevel - - - 56, 17 - - - 652, 245 - - - 6 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 11 - - - 378, 219 - - - 2 - - - 280, 280 - - - Top, Left, Right - - - True - - - 9 - - - TPScene - - - 主页 - - - 3, 3, 3, 3 - - - 1 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPScene - - - 5 - - - TPWeapon - - - BtnExportCustomCommands - - - Bottom, Left - - - True - - - 1 - - - 4, 26 - - - 1 - - - 0 - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 2 - - - 4 - - - 置顶 - - - Bottom, Left, Right - - - Bottom, Left - - - TPStats - - - 4 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 289, 25 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 1 - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 8 - - - 150, 25 - - - True - - - 2 - - - 75, 23 - - - 执行(F5) - - - NoControl - - - 9 - - - 6 - - - 44, 216 - - - Github - - - 生成记录本 - - - TPArtifact - - - TPArtifact - - - ChkIncludeSceneId - - - 265, 79 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - BtnLoadCustomCommands - - - 610, 56 - - - Bottom, Left - - - NoControl - - - TPSpawn - - - 15, 16 - - - 100, 23 - - - 75, 23 - - - Top - - - 17 - - - 51, 21 - - - 118, 23 - - - 212, 24 - - - 65, 13 - - - 50, 23 - - - TPRemoteCall - - - Top, Bottom, Left, Right - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - 0 - - - 43, 67 - - - 140, 140 - - - 223, 41 - - - 6 - - - True - - - GrpCommand - - - NoControl - - - 0 - - - LnkTalentNormalATK - - - True - - - 2 - - - 5 - - - 6 - - - 4 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 73, 21 - - - GrpSettings - - - NoControl - - - NoControl - - - 4 - - - 1 - - - Bottom, Left - - - Top, Bottom, Left - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 添加任务 - - - 8 - - - TCMain - - - 4 - - - CmbAvatar - - - 0 - - - 封禁管理 - - - GrpAccount - - - TPScene - - - 41, 80 - - - True - - - NoControl - - - ListQuest - - - 0 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 14 - - - TPItem - - - 2 - - - 7 - - - 命座 - - - TxtEntityFilter - - - LblArtifactSet - - - GrpTalentLevel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - None - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4, 26 - - - LnkTalentQ - - - 60, 23 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Top - - - TPRemoteCall - - - 生成的命令包含UID - - - 5 - - - 5 - - - LblWeaponAmount - - - 目标UID - - - Bottom, Left - - - 471, 216 - - - TPHome - - - 4 - - - GrpAccount - - - 332, 57 - - - 50, 23 - - - 3, 3, 3, 3 - - - 140, 23 - - - NoControl - - - NoControl - - - 50, 23 - - - --- - - - TPWeapon - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Bottom, Right - - - 6 - - - 4, 26 - - - 4 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 11 - - - 4, 26 - - - NoControl - - - 0 - - - 56, 17 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4 - - - 3 - - - 11 - - - 4 - - - 6, 218 - - - TCMain - - - 6, 128 - - - 11 - - - GrpCommand - - - TPArtifact - - - False - - - 6 - - - TxtSceneFilter - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 46, 17 - - - LblArtifactName - - - Top - - - 388, 36 - - - 14 - - - 102, 216 - - - 套装 - - - 13 - - - DTPBanEndTime - - - 8 - - - Bottom, Right - - - 0 - - - TCMain - - - LblAvatarConstellation - - - 传送 - - - 407, 22 - - - TPQuest - - - NoControl - - - True - - - 12 - - - Bottom, Left - - - 2 - - - 50, 23 - - - LnkInventoryKamera - - - True - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 7 - - - BtnGiveAllWeapons - - - 346, 5 - - - TPPlayerCheck - - - GrpPermission - - - LblAvatarLevel - - - 249, 162 - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 2 - - - 0 - - - 6, 22 - - - 精炼等级 - - - NoControl - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 90, 23 - - - 4 - - - TCMain - - - None - - - LblArtifactLevelTip - - - 7 - - - Top - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - LblPermUID - - - 488, 139 - - - TPStats - - - 查询 - - - x 清空 - - - 0 - - - NoControl - - - 8 - - - 4, 26 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 473, 22 - - - Right - - - 488, 44 - - - 2 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - 68, 17 - - - Bottom, Left - - - TPSpawn - - - GrpRemoteCommand - - - 652, 245 - - - 332, 96 - - - 60, 23 - - - NUDWeaponAmout - - - 物品记录本 - - - 60, 23 - - - 32, 17 - - - GrasscutterToolsIcon - - - 数量 - - - z - - - NoControl - - - 10 - - - Microsoft YaHei UI, 9pt - - - None - - - Fill - - - TPRemoteCall - - - 6 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPArtifact - - - LblArtifactPart - - - 7 - - - 9 - - - 1 - - - 5 - - - 128, 17 - - - True - - - 19, 17 - - - 载入 - - - test - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 3 - - - NoControl - - - 429, 141 - - - LblServerVersionLabel - - - 5 - - - 10 - - - 0 - - - 296, 109 - - - 6, 25 - - - 4 - - - 3 - - - 10 - - - False - - - 25, 17 - - - 129, 41 - - - NoControl - - - 118, 23 - - - NoControl - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Bottom, Left - - - 72, 65 - - - Bottom, Left - - - 652, 245 - - - 10 - - - BtnUnban - - - GrpRemoteCommand - - - TCMain - - - ChkAccountSetUid - - - 150, 23 - - - TPArtifact - - - TPArtifact - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 2 - - - 652, 245 - - - NoControl - - - ListWeapons - - - 1 - - - Bottom, Left - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Bottom, Left - - - 43, 216 - - - 15, 39 - - - 0 - - - 32, 17 - - - groupBox1 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Top - - - TPItem - - - 5 - - - BtnLockStat - - - True - - - 3 - - - 2 - - - 15, 44 - - - 107, 17 - - - GrpEntityType - - - 110, 25 - - - System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6 - - - 537, 216 - - - TPAbout - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Top, Bottom - - - 4 - - - TPCustom - - - 7 - - - 3 - - - 10 - - - 9 - - - 4 - - - NoControl - - - NoControl - - - 17 - - - NoControl - - - NoControl - - - NoControl - - - 验证码 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - [0-20] - - - TPPlayerCheck - - - 346, 100 - - - NoControl - - - 6 - - - 120, 25 - - - y - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 66, 22 - - - 540, 60 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - LblClearGiveItemLogs - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 26, 82 - - - 1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GC - - - 2 - - - True - - - ChkAutoCopy - - - 18 - - - True - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 15 - - - BtnTeleport - - - Zoom - - - 50, 21 - - - TPArtifact - - - 2 - - - NoControl - - - NoControl - - - GrpSetStats - - - NoControl - - - Bottom, Left - - - 112, 161 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 462, 218 - - - TPStats - - - 7 - - - Bottom, Left - - - None - - - BtnAddQuest - - - 0 - - - 1 - - - 110, 23 - - - NoControl - - - 300, 208 - - - True - - - 4 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 1 - - - 9 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 10 - - - 262, 193 - - - 32, 17 - - - True - - - 3, 3, 3, 3 - - - 70, 23 - - - Top - - - TPQuest - - - True - - - CmbSubAttribution - - - TCMain - - - 提示 - - - 3 - - - GrpBanPlayer - - - NoControl - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Bottom, Right - - - TxtCommand - - - 543, 22 - - - 32, 17 - - - None - - - 4 - - - 隐藏的任务 - - - NoControl - - - TPQuest - - - TPHome - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 38 - - - 5 - - - 593, 216 - - - False - - - 150, 130 - - - 0 - - - NoControl - - - LblBanUID - - - 2 - - - 部位 - - - None - - - 等级 - - - 7, 17 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPRemoteCall - - - 12, 293 - - - 3 - - - 7 - - - 334, 102 - - - NoControl - - - BtnSaveCustomCommand - - - TCMain - - - 4, 26 - - - 7 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - BtnOpenTextMap - - - 140, 23 - - - 账号管理 - - - 41, 51 - - - NoControl - - - 200, 23 - - - NoControl - - - LblEntityAmount - - - 11 - - - 208, 25 - - - 角色 - - - Top, Bottom, Left, Right - - - True - - - TPArtifact - - - 106, 23 - - - 147, 54 - - - 75, 23 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - LnkGOODHelp - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 7 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - 446, 5 - - - NoControl - - - 4 - - - 祝你玩得愉快! - - - 13 - - - 14 - - - 60, 23 - - - 16 - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpGiveItemRecord - - - GrasscutterTools.Controls.TextBoxXP, GrasscutterTools, Version=1.6.6.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 - - - TPAvatar - - - 测试任务 - - - 10 - - - 复制 - - - True - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 486, 183 - - - LnkResetCustomCommands - - - NoControl - - - 3 - - - 获取武器 - -说明:设置等级会自动设置突破等级 ->20级 突破1 ->40级 突破2 ->50级 突破3 ->60级 突破4 ->70级 突破5 ->80级 突破6 - - - 6, 25 - - - 3 - - - 导入GOOD存档 - - - NoControl - - - 3, 19 - - - GrpPermission - - - 10 - - - 9, 175 - - - GrpTalentLevel - - - 3 - - - 9 - - - LblTp - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - 16 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - LblStatsDescription - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpPermission - - - 5 - - - True - - - NoControl - - - 10 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - Bottom, Left - - - 自定义 - - - 副词条 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NUDEntityAmout - - - NoControl - - - 44, 17 - - - TPArtifact - - - 332, 36 - - - 6, 6 - - - 3, 3, 3, 3 - - - 90, 23 - - - TCMain - - - 3 - - - BtnSaveSpawnLog - - - Bottom, Right - - - 17 - - - TPHome - - - CmbGcVersions - - - 2 - - - 3 - - - 76, 21 - - - TPCustom - - - 2 - - - 473, 22 - - - True - - - Top - - - 300, 23 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPWeapon - - - TPItem - - - 15 - - - BtnCreateAccount - - - GrpSettings - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 远程执行 - - - TPQuest - - - Top - - - TPScene - - - 8 - - - NoControl - - - 1 - - - 42, 17 - - - True - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 8 - - - 23 - - - 250, 21 - - - 奖池编辑器 - - - 1 - - - 8 - - - 1 - - - 0 - - - NoControl - - - 无限血 - - - 80, 23 - - - 444, 206 - - - 2 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 2 - - - NoControl - - - 重置 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6, 99 - - - 3, 3, 3, 3 - - - Zoom - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ChkTopMost - - - 1 - - - 等级 - - - 224, 51 - - - ChkIncludeUID - - - 3, 3, 3, 3 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 202, 109 - - - 5 - - - 1 - - - 429, 47 - - - 列表 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 解锁 - - - NUDPermUID - - - 7 - - - 4, 26 - - - 1 - - - 540, 80 - - - 2 - - - Top - - - 坐标传送 -提示:游戏内可以通过小地图的'鱼钩'标记来快捷传送 -命令中可以用~表示当前位置,~100表示相对当前100 - - - 4 - - - NoControl - - - Microsoft YaHei UI, 9pt, style=Italic - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 80, 23 - - - 5 - - - LblGCVersion - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - BtnConsoleConnect - - - 3 - - - 3, 4, 3, 4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPAvatar - - - 3 - - - 484, 203 - - - TPRemoteCall - - - LblSceneDescription - - - 1 - - - LblLanguage - - - False - - - 3 - - - 392, 206 - - - LnkTalentE - - - 2 - - - NUDArtifactLevel - - - NUDGameItemLevel - - - 2 - - - Top, Right - - - Top, Bottom, Left, Right - - - 50, 23 - - - NoControl - - - 4 - - - TPItem - - - LblAvatar - - - 100, 25 - - - NUDWeaponRefinement - - - Right - - - TPManage - - - 6 - - - TPQuest - - - LblRemotePlayerId - - - NoControl - - - 4, 26 - - - NoControl - - - 3 - - - TxtGameItemFilter - - - 405, 216 - - - None - - - 388, 139 - - - GrpSettings - - - 5 - - - NoControl - - - 控制台 - - - 275, 40 - - - LblServerVersion - - - 12 - - - NoControl - - - GrpAccount - - - 7 - - - NoControl - - - 0 - - - Top, Left, Right - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 90, 23 - - - 1 - - - 63, 21 - - - 32, 17 - - - 288, 23 - - - 6 - - - GrpSettings - - - Token - - - 12, 12 - - - groupBox1 - - - 30, 17 - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 2 - - - TPScene - - - 634, 182 - - - 0 - - - 7, 83 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - 296, 51 - - - TPManage - - - 4 - - - True - - - 6 - - - ListScenes - - - BtnDeleteAccount - - - 4 - - - 32, 17 - - - 100, 23 - - - 快来将你的官服存档导入GC吧! - - - False - - - NoControl - - - LblAbout - - - 50, 23 - - - NoControl - - - CmbStat - - - 194, 218 - - - 7 - - - 333, 233 - - - CmbLanguage - - - 自动 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - 17 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6 - - - groupBox1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17 - - - TPWeapon - - - 407, 22 - - - 44, 216 - - - 0 - - - 3 - - - NoControl - - - LblWeaponDescription - - - 599, 24 - - - 数据 - - - 5 - - - 6, 49 - - - 265, 48 - - - TPArtifact - - - TPWeapon - - - 0 - - - TPHome - - - 任务 - - - 1 - - - 3 - - - 147, 23 - - - NoControl - - - LblStatTip - - - 3 - - - 2 - - - GrpSettings - - - TPArtifact - - - None - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 684, 361 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - % - - - GrpServerStatus - - - 288, 208 - - - 12 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - True - - - TPConsoleCheck - - - TPManage - - - LblSpawnDescription - - - 指定UID - - - 13 - - - 3 - - - 336, 98 - - - 5 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4 - - - GrpBanPlayer - - - 9, 26 - - - 51, 21 - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - 7 - - - GrpSetStats - - - 5 - - - Left - - - TPScene - - - 6 - - - NoControl - - - 112, 99 - - - LblOpenCommandSupport - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 9 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - 删除 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 7 - - - CmbArtifactPart - - - NoControl - - - NoControl - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 158, 25 - - - 26, 28 - - - 193, 217 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - TPItem - - - 313, 6 - - - 1 - - - LblPlayerCount - - - NoControl - - - 82, 23 - - - 怪物 - - - Top - - - Right - - - TPArtifact - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 5 - - - LnkNewVersion - - - 1 - - - True - - - 9 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 355, 23 - - - 138, 216 - - - 0 - - - GrpSpawnRecord - - - GrpPermission - - - 4 - - - 4 - - - 11 - - - 540, 60 - - - GrpEntityType - - - TPCustom - - - 160, 54 - - - True - - - None - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 100, 25 - - - 90, 190 - - - 141, 16 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 346, 5 - - - TPScene - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 1 - - - 14 - - - Bottom, Left - - - 4, 26 - - - 6 - - - 117, 102 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - CmbSubAttributionValue - - - TPRemoteCall - - - 80, 17 - - - 连接 - - - 56, 6 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6, 6 - - - True - - - 0 - - - 10 - - - NoControl - - - 450, 23 - - - 132, 159 - - - TxtToken - - - 5 - - - Top - - - CenterImage - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 104, 23 - - - 32, 17 - - - NUDTalentLevel - - - TPHome - - - 4 - - - NoControl - - - CenterScreen - - - 100, 23 - - - System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 652, 245 - - - + 创建 - - - Fill - - - - 移除 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 帮助 - - - 7 - - - BtnConnectOpenCommand - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 7 - - - 2 - - - TPArtifact - - - 9 - - - 129, 11 - - - TPRemoteCall - - - 3 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 5 - - - GrpSetStats - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 数量 - - - True - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx b/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx deleted file mode 100644 index f69acf9..0000000 --- a/Source/GrasscutterTools/Forms/FormMain.ru-ru.resx +++ /dev/null @@ -1,1089 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - 132, 22 - - - 359, 23 - - - 497, 22 - - - 92, 23 - - - Копировать - - - 595, 24 - - - 55, 21 - - - Авто - - - Команда (нажмите и удерживайте Ctrl для автоматического запуска) - - - 120, 23 - - - Выполнить (F5) - - - Подключение к OpenCommand - - - InventoryKamera - - - Приходите и импортируйте свой официальный архив сервера в GC! - - - Импортировать GOOD - - - 83, 16 - - - 346, 17 - - - Убедитесь, что https:// или http:// включены в IP-адрес. - - - Состояние сервера - - - 13, 63 - - - 100, 17 - - - OpenCommand - - - 119, 63 - - - 119, 29 - - - 119, 46 - - - 27, 29 - - - 86, 17 - - - Версия игры - - - 7, 46 - - - 106, 17 - - - Кол-во игроков - - - Удалить ячейку - - - Игрок - - - 176, 15 - - - 60, 17 - - - Помощь - - - 52, 13 - - - 93, 81 - - - 110, 23 - - - Подключиться - - - 31, 17 - - - Код - - - 176, 42 - - - 110, 23 - - - Отправить код - - - 52, 42 - - - 16, 15 - - - Консоль - - - Подключиться (консоль) - - - Microsoft YaHei UI, 8pt, style=Italic - - - 15, 34 - - - 275, 48 - - - Обратите внимание, что обычные команды в состоянии консоли должны указывать цель -(установите галочку галочку "Включить UID") - - - 111, 36 - - - 204, 23 - - - 317, 36 - - - 65, 23 - - - Запрос - - - 35, 17 - - - Хост - - - Справка - - - 552, 170 - - - Grasscutter Tools - основной перевод Юрий Дворецкий (с исправлениями от EgorBron) - -Это бесплатный проект с открытым исходным кодом. -Если вы считаете, что это полезно для вас, - вы можете дать мне звезду на Github. -Если возникла проблема с генерацией команды или - есть запрос на новую функцию, - вы можете написать в Issues на Github. - - Спасибо: Dhar_Jinxed - - - - Аккаунты - - - Управление банами - - - 453, 22 - - - 80, 23 - - - Разбанить - - - 367, 22 - - - 80, 23 - - - Забанить - - - 111, 23 - - - Причина - - - 42, 22 - - - 106, 23 - - - 30, 17 - - - UID - - - Управление аккаунтом - - - 49, 21 - - - UID - - - 270, 23 - - - 463, 21 - - - 70, 23 - - - Удалить - - - 387, 21 - - - 70, 23 - - - Создать - - - 6, 25 - - - 81, 17 - - - Имя игрока - - - 93, 22 - - - 113, 23 - - - Управление правами - - - 212, 21 - - - 149, 25 - - - 42, 23 - - - 106, 23 - - - 454, 48 - - - 80, 23 - - - Очистить - - - 453, 21 - - - 80, 23 - - - Удалить - - - 353, 48 - - - 95, 23 - - - Список прав - - - 367, 21 - - - 80, 23 - - - Добавить - - - 160, 25 - - - 46, 17 - - - Права - - - 30, 17 - - - UID - - - Сцена - - - 91, 213 - - - 228, 21 - - - Включить идентификатор сцены - - - 219, 184 - - - 113, 184 - - - 10, 211 - - - Телепорт - - - 7, 184 - - - 239, 182 - - - 133, 182 - - - 27, 182 - - - 66, 61 - - - 6, 64 - - - 52, 17 - - - Погода - - - - False - - - 287, 55 - - - Управление сценами. -Подсказка: большинство сцен не имеют видимого эффекта и не могут быть введены здесь. - - - False - - - Microsoft YaHei UI, 8pt - - - 6, 84 - - - 337, 100 - - - Телепортация -Подсказка: вы можете быстро телепортироваться через отметку «рыболовный крючок» на миникарте в игре. -В команде вы можете использовать ~, чтобы указать текущую позицию, и ~N, чтобы указать смещение на N относительно текущей позиции - - - Предметы - - - 76, 17 - - - X Очистить - - - 260, 48 - - - 80, 23 - - - √ Сохр. - - - 260, 77 - - - 80, 23 - - - × Удалить - - - 244, 162 - - - Список предметов - - - 238, 140 - - - 278, 217 - - - 60, 21 - - - Дроп - - - 51, 17 - - - Кол-во - - - 143, 218 - - - 60, 17 - - - Уровень - - - 63, 216 - - - 73, 23 - - - 209, 215 - - - 137, 17 - - - Дать предмет игроку - - - Оружие - - - Дать всё оружие - - - 89, 17 - - - Дать Оружие - - - 207, 218 - - - 75, 17 - - - Ур. пробуждения - - - 51, 17 - - - Кол-во - - - 119, 218 - - - 26, 17 - - - Ур. - - - 323, 216 - - - 63, 216 - - - 151, 216 - - - Статы - - - Статистика - - - 140, 23 - - - Разморозить статы - - - Заморозить статы - - - Подсказка - - - Уровень таланта - - - 309, 24 - - - 15, 17 - - - E - - - 285, 24 - - - 18, 17 - - - Q - - - 178, 24 - - - 101, 17 - - - Обычная атака - - - 128, 23 - - - 316, 17 - - - Установите текущие активные данные персонажа - - - Персонаж - - - 425, 182 - - - 200, 33 - - - Дать всех персонажей - - - 428, 125 - - - 72, 17 - - - Созвездия - - - 503, 122 - - - 115, 23 - - - 428, 31 - - - 71, 17 - - - Персонаж - - - 428, 78 - - - 60, 17 - - - Уровень - - - 503, 75 - - - 115, 23 - - - 503, 28 - - - 115, 25 - - - Спавн - - - 186, 217 - - - 128, 21 - - - Бесконечное HP - - - 168, 25 - - - 76, 17 - - - X Очистить - - - 266, 31 - - - 80, 23 - - - √ Сохр. - - - 266, 62 - - - 80, 23 - - - × Удалить - - - 240, 184 - - - Список мобов - - - 234, 162 - - - 256, 94 - - - 97, 117 - - - Класс - - - 89, 21 - - - Животные - - - 82, 21 - - - Монстры - - - 105, 17 - - - Спавн существа - - - 34, 17 - - - Кол. - - - 26, 17 - - - Ур. - - - 129, 216 - - - Квест - - - Фильтр списка - - - 52, 21 - - - Тест - - - 102, 21 - - - Неизданное - - - 81, 21 - - - Скрытый - - - Завершить - - - Добавить - - - Добавить или завершить задание. -Внимание: для многих квестов требуются скрипты таковых на стороне сервера. -Поэтому квест может быть добавлен или отозван через консоль, но завершён игроком - вряд ли. - - - Артефакт - - - 100, 23 - - - + Добавить - - - 306, 11 - - - 42, 17 - - - Часть - - - 349, 8 - - - 107, 25 - - - 97, 11 - - - 64, 17 - - - Артефакт - - - 76, 17 - - - X Очистить - - - 101, 41 - - - 60, 17 - - - Уровень - - - 96, 101 - - - 65, 17 - - - Всп. Стат. - - - 79, 71 - - - 82, 17 - - - Основ. Стат. - - - 333, 41 - - - 51, 17 - - - Звезды - - - Кастомное - - - 536, 216 - - - 70, 23 - - - Экспорт - - - 450, 216 - - - 80, 23 - - - Загрузить - - - 46, 17 - - - Имя - - - Список - - - 535, -1 - - - 97, 17 - - - Сбросить - - - 369, 216 - - - 75, 23 - - - x Удалить - - - 268, 216 - - - 95, 23 - - - √ Сохранить - - - 58, 216 - - - 204, 23 - - - Главная - - - 12, 41 - - - 314, 24 - - - Желаем приятно провести время! - - - 152, 99 - - - 120, 23 - - - Браузер карт - - - 140, 23 - - - Редактор баннеров - - - Настройки - - - 140, 21 - - - Последняя версия - - - 113, 21 - - - Включить UID - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx b/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx deleted file mode 100644 index 316da6c..0000000 --- a/Source/GrasscutterTools/Forms/FormMain.zh-TW.resx +++ /dev/null @@ -1,434 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 複製 - - - 自動 - - - 命令(按住 Ctrl 自動執行) - - - 執行(F5) - - - 遠程 - - - 存檔掃描開源工具 - - - 快來把你的官服存檔導入GC吧! - - - 導入GOOD檔案 - - - - 206, 17 - - - 請確保地址中包含 http:// 或 https:// - - - 伺服器狀態 - - - 遠程執行插件 - - - 遊戲版本 - - - 當前玩家數 - - - 遠程執行 - - - 玩家驗證 - - - 幫助 - - - 連接 - - - 驗證碼 - - - 發送驗證碼 - - - 連接 - - - 請注意,控制台狀態下普通命令必須指定目標 -(即設置包含UID) - - - 查詢 - - - 伺服器地址 - - - 關於 - - - 割草機工具箱 - -這是一個免費且開源的項目 -如果覺得這對你很有幫助,可以為我點一個免費的Star -如果願意請我喝一杯奶茶,那就更好了 : ) -指令生成有問題,或者有新的功能請求,都可以來Github提出 - - - 封號 - - - 目標UID - - - 賬號管理 - - - - 刪除 - - - + 創建 - - - 用戶名 - - - 權限管理 - - - 權限 - - - 目標UID - - - 場景 - - - 含場景ID - - - 傳送 - - - 設置天氣 - - - 場景控制 - -提示:大部分場景沒有作用,無法進入。 - - - 座標傳送 -提示:遊戲內可以通過小地圖的'魚鉤'標記來快捷傳送 -命令中可以用~表示當前位置,~N 表示相對當前N - - - √ 記錄 - - - × 刪除 - - - 物品記錄本 - - - 數量 - - - 等級 - - - 給玩家指定物品 -說明:可選擇直接給到背包或者掉落到世界 - - - 獲得所有武器 - - - 獲取武器 - -說明:設定等級會自動設定突破等級 ->20級突破1 ->40級突破2 ->50級突破3 ->60級突破4 ->70級突破5 ->80級突破6 - - - 精煉等級 - - - 數量 - - - 等級 - - - 數據 - - - 角色屬性 - - - 解鎖 - - - 鎖定 - - - 技能等級 - - - 普通攻擊 - - - 設置當前活躍角色數據 - - - 一鍵獲得所有角色 - - - 等級 - - - 無限血 - - - √ 記錄 - - - × 刪除 - - - 生成記錄本 - - - 列表分類 - - - 62, 21 - - - 生物誌 - - - 74, 21 - - - 討伐對象 - - - 在玩家附近召喚生物 - - - 數量 - - - 等級 - - - 任務 - - - 列表過濾 - - - 測試任務 - - - 未發佈的任務 - - - 隱藏的任務 - - - 完成任務 - - - 添加任務 - - - 添加或完成任務 -提示:許多任務需要服務端腳本支持 -囙此任務可以接,可以完成,但是不一定可以做 - - - 聖遺物 - - - 套裝 - - - 等級 - - - 副詞條 - - - 主詞條 - - - 星級 - - - 自定義 - - - 導出 - - - 載入 - - - 標籤 - - - × 刪除 - - - 主頁 - - - 文本瀏覽器 - - - 獎池編輯器 - - - 置頂 - - - - NoControl - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormTextMapBrowser.Designer.cs b/Source/GrasscutterTools/Forms/FormTextMapBrowser.Designer.cs deleted file mode 100644 index f3a563c..0000000 --- a/Source/GrasscutterTools/Forms/FormTextMapBrowser.Designer.cs +++ /dev/null @@ -1,158 +0,0 @@ -namespace GrasscutterTools.Forms -{ - partial class FormTextMapBrowser - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormTextMapBrowser)); - this.TxtTextMapFilter = new System.Windows.Forms.TextBox(); - this.BtnSelectRecoursePath = new System.Windows.Forms.Button(); - this.CmbLanguage = new System.Windows.Forms.ComboBox(); - this.LblLanguage = new System.Windows.Forms.Label(); - this.ChkTopMost = new System.Windows.Forms.CheckBox(); - this.LblResourcesPath = new System.Windows.Forms.Label(); - this.BtnSearch = new System.Windows.Forms.Button(); - this.DGVTextMap = new System.Windows.Forms.DataGridView(); - this.ColumnHash = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColumnID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColumnText = new System.Windows.Forms.DataGridViewTextBoxColumn(); - ((System.ComponentModel.ISupportInitialize)(this.DGVTextMap)).BeginInit(); - this.SuspendLayout(); - // - // TxtTextMapFilter - // - resources.ApplyResources(this.TxtTextMapFilter, "TxtTextMapFilter"); - this.TxtTextMapFilter.Name = "TxtTextMapFilter"; - this.TxtTextMapFilter.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TxtTextMapFilter_KeyDown); - // - // BtnSelectRecoursePath - // - resources.ApplyResources(this.BtnSelectRecoursePath, "BtnSelectRecoursePath"); - this.BtnSelectRecoursePath.Name = "BtnSelectRecoursePath"; - this.BtnSelectRecoursePath.UseVisualStyleBackColor = true; - this.BtnSelectRecoursePath.Click += new System.EventHandler(this.BtnSelectRecoursePath_Click); - // - // CmbLanguage - // - resources.ApplyResources(this.CmbLanguage, "CmbLanguage"); - this.CmbLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CmbLanguage.FormattingEnabled = true; - this.CmbLanguage.Name = "CmbLanguage"; - this.CmbLanguage.SelectedIndexChanged += new System.EventHandler(this.CmbLanguage_SelectedIndexChanged); - // - // LblLanguage - // - resources.ApplyResources(this.LblLanguage, "LblLanguage"); - this.LblLanguage.Name = "LblLanguage"; - // - // ChkTopMost - // - resources.ApplyResources(this.ChkTopMost, "ChkTopMost"); - this.ChkTopMost.Name = "ChkTopMost"; - this.ChkTopMost.UseVisualStyleBackColor = true; - this.ChkTopMost.CheckedChanged += new System.EventHandler(this.ChkTopMost_CheckedChanged); - // - // LblResourcesPath - // - resources.ApplyResources(this.LblResourcesPath, "LblResourcesPath"); - this.LblResourcesPath.Name = "LblResourcesPath"; - // - // BtnSearch - // - resources.ApplyResources(this.BtnSearch, "BtnSearch"); - this.BtnSearch.Name = "BtnSearch"; - this.BtnSearch.UseVisualStyleBackColor = true; - this.BtnSearch.Click += new System.EventHandler(this.BtnSearch_Click); - // - // DGVTextMap - // - resources.ApplyResources(this.DGVTextMap, "DGVTextMap"); - this.DGVTextMap.AllowUserToAddRows = false; - this.DGVTextMap.AllowUserToDeleteRows = false; - this.DGVTextMap.AllowUserToResizeRows = false; - this.DGVTextMap.BackgroundColor = System.Drawing.Color.White; - this.DGVTextMap.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.DGVTextMap.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { - this.ColumnHash, - this.ColumnID, - this.ColumnText}); - this.DGVTextMap.Name = "DGVTextMap"; - this.DGVTextMap.ReadOnly = true; - this.DGVTextMap.RowTemplate.Height = 23; - // - // ColumnHash - // - resources.ApplyResources(this.ColumnHash, "ColumnHash"); - this.ColumnHash.Name = "ColumnHash"; - this.ColumnHash.ReadOnly = true; - // - // ColumnID - // - resources.ApplyResources(this.ColumnID, "ColumnID"); - this.ColumnID.Name = "ColumnID"; - this.ColumnID.ReadOnly = true; - // - // ColumnText - // - resources.ApplyResources(this.ColumnText, "ColumnText"); - this.ColumnText.Name = "ColumnText"; - this.ColumnText.ReadOnly = true; - // - // FormTextMapBrowser - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.DGVTextMap); - this.Controls.Add(this.BtnSearch); - this.Controls.Add(this.ChkTopMost); - this.Controls.Add(this.LblLanguage); - this.Controls.Add(this.CmbLanguage); - this.Controls.Add(this.LblResourcesPath); - this.Controls.Add(this.BtnSelectRecoursePath); - this.Controls.Add(this.TxtTextMapFilter); - this.Name = "FormTextMapBrowser"; - this.Load += new System.EventHandler(this.FormTextMapBrowser_Load); - ((System.ComponentModel.ISupportInitialize)(this.DGVTextMap)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - private System.Windows.Forms.TextBox TxtTextMapFilter; - private System.Windows.Forms.Button BtnSelectRecoursePath; - private System.Windows.Forms.ComboBox CmbLanguage; - private System.Windows.Forms.Label LblLanguage; - private System.Windows.Forms.CheckBox ChkTopMost; - private System.Windows.Forms.Label LblResourcesPath; - private System.Windows.Forms.Button BtnSearch; - private System.Windows.Forms.DataGridView DGVTextMap; - private System.Windows.Forms.DataGridViewTextBoxColumn ColumnHash; - private System.Windows.Forms.DataGridViewTextBoxColumn ColumnID; - private System.Windows.Forms.DataGridViewTextBoxColumn ColumnText; - } -} \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormTextMapBrowser.cs b/Source/GrasscutterTools/Forms/FormTextMapBrowser.cs deleted file mode 100644 index 45ea14f..0000000 --- a/Source/GrasscutterTools/Forms/FormTextMapBrowser.cs +++ /dev/null @@ -1,200 +0,0 @@ -/** - * Grasscutter Tools - * Copyright (C) 2022 jie65535 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - **/ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text.RegularExpressions; -using System.Windows.Forms; - -using GrasscutterTools.Game; -using GrasscutterTools.Properties; - -namespace GrasscutterTools.Forms -{ - public partial class FormTextMapBrowser : Form - { - public FormTextMapBrowser() - { - InitializeComponent(); - Icon = Resources.IconGrasscutter; - } - - private void FormTextMapBrowser_Load(object sender, EventArgs e) - { - if (!string.IsNullOrEmpty(Settings.Default.ResourcesDirPath)) - { - LoadResources(Settings.Default.ResourcesDirPath); - } - } - - private TextMapData data; - - private void LoadResources(string resourcesDirPath) - { - try - { - Cursor = Cursors.WaitCursor; - Application.DoEvents(); - - data = new TextMapData(resourcesDirPath); - LblResourcesPath.Text = resourcesDirPath; - if (Settings.Default.ResourcesDirPath != resourcesDirPath) - { - Settings.Default.ResourcesDirPath = resourcesDirPath; - Settings.Default.Save(); - } - - CmbLanguage.Items.Clear(); - CmbLanguage.Items.AddRange(data.TextMapFiles); - if (!string.IsNullOrEmpty(Settings.Default.TextMapFileName)) - { - var i = CmbLanguage.Items.IndexOf(Settings.Default.TextMapFileName); - if (i != -1) - CmbLanguage.SelectedIndex = i; - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - finally - { - Cursor = Cursors.Default; - } - } - - private void BtnSelectRecoursePath_Click(object sender, EventArgs e) - { - var dir = new FolderBrowserDialog() - { - ShowNewFolderButton = false, - Description = "./Gasscutter/resources", - }; - if (dir.ShowDialog() == DialogResult.OK) - { - LoadResources(dir.SelectedPath); - } - } - - private void CmbLanguage_SelectedIndexChanged(object sender, EventArgs e) - { - if (CmbLanguage.SelectedIndex == -1 || data == null) - return; - try - { - Cursor = Cursors.WaitCursor; - Application.DoEvents(); - data.LoadTextMap(data.TextMapFilePaths[CmbLanguage.SelectedIndex]); - - GenLines(); - Settings.Default.TextMapFileName = CmbLanguage.Text; - Settings.Default.Save(); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - } - finally - { - Cursor = Cursors.Default; - } - } - - private List Items; - - private void GenLines() - { - List items = new List(data.TextMap.Count); - foreach (var kv in data.TextMap) - { - if (data.ManualTextMap.TryGetValue(kv.Key, out string id)) - items.Add(new ListViewItem(new string[] { kv.Key, id, kv.Value })); - else - items.Add(new ListViewItem(new string[] { kv.Key, "", kv.Value })); - } - Items = items; - } - - private void ChkTopMost_CheckedChanged(object sender, EventArgs e) - { - TopMost = ChkTopMost.Checked; - } - - private void BtnSearch_Click(object sender, EventArgs e) - { - if (Items == null) - { - MessageBox.Show("请先选择资源目录,并选择对应语言文件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - var filter = TxtTextMapFilter.Text.Trim(); - if (string.IsNullOrEmpty(filter)) - return; - Regex r; - try - { - r = new Regex(filter, RegexOptions.IgnoreCase); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - - try - { - Cursor = Cursors.WaitCursor; - Application.DoEvents(); - - var result = data.ManualTextMap.Where(kv => r.Match(kv.Value).Success) - .Select(kv => new { Hash = kv.Key, Id = kv.Value, Text = data.TextMap[kv.Key] }) - .Concat( - data.TextMap.Where(kv => r.Match(kv.Key).Success || r.Match(kv.Value).Success) - .Select(kv => new - { - Hash = kv.Key, - Id = data.ManualTextMap.TryGetValue(kv.Key, out string id) ? id : "", - Text = kv.Value - }) - ).ToList(); - - DGVTextMap.SuspendLayout(); - DGVTextMap.Rows.Clear(); - for (int i = 0; i < result.Count; i++) - { - DGVTextMap.Rows.Add(); - DGVTextMap.Rows[i].Cells[0].Value = result[i].Hash; - DGVTextMap.Rows[i].Cells[1].Value = result[i].Id; - DGVTextMap.Rows[i].Cells[2].Value = result[i].Text; - } - DGVTextMap.ResumeLayout(); - } - finally - { - Cursor = Cursors.Default; - } - } - - private void TxtTextMapFilter_KeyDown(object sender, KeyEventArgs e) - { - if (e.KeyCode == Keys.Enter) - BtnSearch_Click(sender, e); - } - } -} \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormTextMapBrowser.resx b/Source/GrasscutterTools/Forms/FormTextMapBrowser.resx deleted file mode 100644 index ab7f65d..0000000 --- a/Source/GrasscutterTools/Forms/FormTextMapBrowser.resx +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - BtnSelectRecoursePath - - - - Top, Right - - - - 3 - - - - 177, 15 - - - System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - BtnSearch - - - LblLanguage - - - Text - - - 8 - - - True - - - 12, 41 - - - System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 3 - - - 96, 12 - - - 80 - - - Top, Bottom, Left, Right - - - CenterScreen - - - 240 - - - 请选择Resources路径 - - - $this - - - 32, 17 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 327, 17 - - - 555, 23 - - - 文本映射表浏览器 - - - 4, 4, 4, 4 - - - 636, 379 - - - $this - - - 5 - - - Top, Right - - - True - - - LblResourcesPath - - - 7 - - - 1 - - - System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Hash - - - 250 - - - 548, 12 - - - $this - - - 0 - - - 6 - - - 100, 25 - - - 搜索 - - - 4 - - - DGVTextMap - - - Top, Left, Right - - - ColumnHash - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 9 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 浏览 - - - 510, 15 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4 - - - ChkTopMost - - - 微软雅黑, 9pt - - - 660, 461 - - - CmbLanguage - - - 7, 17 - - - 1 - - - ColumnID - - - Top, Left, Right - - - 2 - - - 5 - - - ID - - - Top, Right - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ColumnText - - - FormTextMapBrowser - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 573, 41 - - - $this - - - $this - - - System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 7 - - - TxtTextMapFilter - - - 12, 70 - - - $this - - - 语言 - - - 51, 21 - - - 2 - - - $this - - - 置顶 - - - 75, 23 - - - System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 75, 23 - - - 600, 400 - - - 12, 14 - - - True - - - True - - - True - - - True - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormTextMapBrowser.ru-ru.resx b/Source/GrasscutterTools/Forms/FormTextMapBrowser.ru-ru.resx deleted file mode 100644 index 4425e0a..0000000 --- a/Source/GrasscutterTools/Forms/FormTextMapBrowser.ru-ru.resx +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Обзор - - - - 477, 15 - - - 38, 17 - - - Язык - - - 79, 21 - - - верхний - - - 294, 17 - - - Пожалуйста, выберите каталог ресурсов - - - Поиск - - - Браузер карт - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormTextMapBrowser.zh-TW.resx b/Source/GrasscutterTools/Forms/FormTextMapBrowser.zh-TW.resx deleted file mode 100644 index 83912f8..0000000 --- a/Source/GrasscutterTools/Forms/FormTextMapBrowser.zh-TW.resx +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 瀏覽 - - - 語言 - - - 置頂 - - - 請選擇Resources路徑 - - - 文本映射表瀏覽器 - - \ No newline at end of file diff --git a/Source/GrasscutterTools/Game/CommandGenerator.cs b/Source/GrasscutterTools/Game/CommandGenerator.cs new file mode 100644 index 0000000..f87ee29 --- /dev/null +++ b/Source/GrasscutterTools/Game/CommandGenerator.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GrasscutterTools.Game +{ + public class CommandGenerator + { + + } +} diff --git a/Source/GrasscutterTools/Game/GameData.cs b/Source/GrasscutterTools/Game/GameData.cs index 30de535..7f258df 100644 --- a/Source/GrasscutterTools/Game/GameData.cs +++ b/Source/GrasscutterTools/Game/GameData.cs @@ -17,6 +17,7 @@ * **/ using GrasscutterTools.Properties; +using GrasscutterTools.Utils; namespace GrasscutterTools.Game { @@ -24,49 +25,43 @@ namespace GrasscutterTools.Game { public static void LoadResources() { - Animals = new ItemMap(Resources.Animal); - Artifacts = new ItemMap(Resources.Artifact); - ArtifactCats = new ItemMap(Resources.ArtifactCat); + //SparseSet illegalWeaponIds = new SparseSet( + // "10000-10008, 11411, 11506-11508, 12505, 12506, 12508, 12509," + + // "13503, 13506, 14411, 14503, 14505, 14508, 15504-15506"); + + + //SparseSet illegalRelicIds = new SparseSet( + // "20001, 23300-23340, 23383-23385, 78310-78554, 99310-99554" + // ); + + //SparseSet illegalItemIds = new SparseSet( + // "100086, 100087, 100100-101000, 101106-101110, 101306, 101500-104000," + + // "105001, 105004, 106000-107000, 107011, 108000, 109000-110000," + + // "115000-130000, 200200-200899, 220050, 220054" + // ); + + ArtifactSets = new ItemMap(Resources.ArtifactSets); ArtifactMainAttribution = new ItemMap(Resources.ArtifactMainAttribution); ArtifactSubAttribution = new ItemMap(Resources.ArtifactSubAttribution); - Avatars = new ItemMap(Resources.Avatar); - AvatarColors = new ItemMap(Resources.AvatarColor); - Items = new ItemMap(Resources.Item); - Monsters = new ItemMap(Resources.Monster); - //NPCs = new ItemMap(Resources.NPC); - Scenes = new ItemMap(Resources.Scene); - Weapons = new ItemMap(Resources.Weapon); - WeaponColors = new ItemMap(Resources.WeaponColor); + Items = new ItemMap(Resources.Items); + Monsters = new ItemMap(Resources.Monsters); + Scenes = new ItemMap(Resources.Scenes); GachaBannerPrefabs = new ItemMap(Resources.GachaBennerPrefab); - Quests = new ItemMap(Resources.Quest); + Quests = new ItemMap(Resources.Quests); } - public static ItemMap Animals { get; private set; } - - public static ItemMap Artifacts { get; private set; } - - public static ItemMap ArtifactCats { get; private set; } + public static ItemMap ArtifactSets { get; private set; } public static ItemMap ArtifactMainAttribution { get; private set; } public static ItemMap ArtifactSubAttribution { get; private set; } - public static ItemMap Avatars { get; private set; } - - public static ItemMap AvatarColors { get; private set; } - public static ItemMap Items { get; private set; } public static ItemMap Monsters { get; private set; } - //public static ItemMap NPCs { get; private set; } - public static ItemMap Scenes { get; private set; } - public static ItemMap Weapons { get; private set; } - - public static ItemMap WeaponColors { get; private set; } - public static ItemMap GachaBannerPrefabs { get; private set; } public static ItemMap Quests { get; private set; } diff --git a/Source/GrasscutterTools/Game/ItemMap.cs b/Source/GrasscutterTools/Game/ItemMap.cs index 9e25bfc..598c30d 100644 --- a/Source/GrasscutterTools/Game/ItemMap.cs +++ b/Source/GrasscutterTools/Game/ItemMap.cs @@ -19,11 +19,13 @@ using System; using System.Collections.Generic; +using GrasscutterTools.Utils; + namespace GrasscutterTools.Game { public class ItemMap { - public ItemMap(string idNamePairs) + public ItemMap(string idNamePairs, SparseSet exclusions = null) { var lines = idNamePairs.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); var capacity = lines.Length; @@ -41,6 +43,8 @@ namespace GrasscutterTools.Game var name = line.Substring(si + 1).Trim(); if (!string.IsNullOrEmpty(name) && name != "null") { + if (exclusions?.Contains(id) == true) + continue; //IdMap[id] = name; //NameMap[name] = id; IdList.Add(id); diff --git a/Source/GrasscutterTools/GrasscutterTools.csproj b/Source/GrasscutterTools/GrasscutterTools.csproj index 1b7f8bd..228b544 100644 --- a/Source/GrasscutterTools/GrasscutterTools.csproj +++ b/Source/GrasscutterTools/GrasscutterTools.csproj @@ -4,32 +4,17 @@ Debug AnyCPU - {B26333FF-5560-4CBA-AF3C-4B80DB6F8025} + {5E0D32CF-AF0D-4D51-B477-5131E2C87002} WinExe GrasscutterTools GrasscutterTools + en-US v4.8 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 true true - - - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true AnyCPU @@ -53,275 +38,223 @@ Resources\IconGrasscutter.ico - - - - LocalIntranet - - - false - - - - true - - - GrasscutterTools.snk - - - - False - Resources\Newtonsoft.Json.dll - False - False - - - - + + + + + + + 4.0 + + + + - - Component - - + + MSBuild:Compile + Designer + - - Form - - - FormGachaBannerEditor2.cs - - - Form - - - FormGachaBannerEditor.cs - - - Form - - - FormMain.cs - - - Form - - - FormTextMapBrowser.cs - + + + - - + + - + + + + + - - - - - Resources.zh-TW.resx + + PageGive.xaml + + + PageTools.xaml + + + PageHome.xaml + + True True + Resources.resx - - FormGachaBannerEditor2.cs - - - FormGachaBannerEditor2.cs + Designer - - - FormGachaBannerEditor2.cs + MSBuild:Compile + + + MSBuild:Compile Designer - - - FormGachaBannerEditor.cs - - - FormGachaBannerEditor.cs - - - FormGachaBannerEditor.cs - - - FormGachaBannerEditor2.cs - - - FormMain.cs + + Designer - - - FormMain.cs + MSBuild:Compile + + Designer - - - FormMain.cs + MSBuild:Compile + + Designer - - - FormMain.cs + MSBuild:Compile + + + MSBuild:Compile Designer - - - FormTextMapBrowser.cs - - - FormTextMapBrowser.cs - - - FormTextMapBrowser.cs - - - FormTextMapBrowser.cs - - - ResXFileCodeGenerator - Resources.zh-TW.Designer.cs + + + MSBuild:Compile Designer - - - ResXFileCodeGenerator - Resources.en-us.Designer.cs - Designer - - - ResXFileCodeGenerator - Resources.ru-ru.Designer.cs - Designer - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - Resources.en-us.resx - True - True + + + App.xaml + Code - - Resources.ru-ru.resx - True - True + + + + MainWindow.xaml + Code - - True - Resources.resx - True + + + + Code - - - SettingsSingleFileGenerator - Settings.Designer.cs - True Settings.settings True + + PublicResXFileCodeGenerator + Resources.Designer.cs + + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - False - Microsoft .NET Framework 4.8 %28x86 和 x64%29 - true - - - False - .NET Framework 3.5 SP1 - false - - - - - 2.2.0 + + 13.0.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/GrasscutterTools/GrasscutterTools.sln b/Source/GrasscutterTools/GrasscutterTools.sln new file mode 100644 index 0000000..c5b4c5e --- /dev/null +++ b/Source/GrasscutterTools/GrasscutterTools.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32819.101 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GrasscutterTools", "GrasscutterTools.csproj", "{5E0D32CF-AF0D-4D51-B477-5131E2C87002}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5E0D32CF-AF0D-4D51-B477-5131E2C87002}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5E0D32CF-AF0D-4D51-B477-5131E2C87002}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5E0D32CF-AF0D-4D51-B477-5131E2C87002}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5E0D32CF-AF0D-4D51-B477-5131E2C87002}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + RESX_MoveToResources = {"Items":[{"Extensions":".cs,.vb","Patterns":"$Namespace.$File.$Key|$File.$Key|StringResourceKey.$Key|$Namespace.StringResourceKey.$Key|nameof($File.$Key), ResourceType = typeof($File)|ErrorMessageResourceType = typeof($File), ErrorMessageResourceName = nameof($File.$Key)"},{"Extensions":".cshtml,.vbhtml","Patterns":"@$Namespace.$File.$Key|@$File.$Key|@StringResourceKey.$Key|@$Namespace.StringResourceKey.$Key"},{"Extensions":".cpp,.c,.hxx,.h","Patterns":"$File::$Key"},{"Extensions":".aspx,.ascx","Patterns":"<%$ Resources:$File,$Key %>|<%= $File.$Key %>|<%= $Namespace.$File.$Key %>"},{"Extensions":".xaml","Patterns":"\"{x:Static p:$File.$Key}\""},{"Extensions":".ts","Patterns":"resources.$Key"},{"Extensions":".html","Patterns":"{{ resources.$Key }}"}]} + SolutionGuid = {77A77EB7-D47B-4EEE-934C-A820C8744334} + EndGlobalSection +EndGlobal diff --git a/Source/GrasscutterTools/GrasscutterTools.snk b/Source/GrasscutterTools/GrasscutterTools.snk deleted file mode 100644 index 566cce3..0000000 Binary files a/Source/GrasscutterTools/GrasscutterTools.snk and /dev/null differ diff --git a/Source/GrasscutterTools/Interfaces/IPageCommand.cs b/Source/GrasscutterTools/Interfaces/IPageCommand.cs new file mode 100644 index 0000000..4888df3 --- /dev/null +++ b/Source/GrasscutterTools/Interfaces/IPageCommand.cs @@ -0,0 +1,11 @@ +using System; + +using GrasscutterTools.Events; + +namespace GrasscutterTools.Interfaces +{ + public interface IPageCommand + { + event EventHandler CommandGenerated; + } +} diff --git a/Source/GrasscutterTools/Interfaces/IPageListProvider.cs b/Source/GrasscutterTools/Interfaces/IPageListProvider.cs new file mode 100644 index 0000000..5855987 --- /dev/null +++ b/Source/GrasscutterTools/Interfaces/IPageListProvider.cs @@ -0,0 +1,31 @@ +using GrasscutterTools.Models; + +namespace GrasscutterTools.Interfaces +{ + /// + /// 带列表的页面接口 + /// + public interface IPageListProvider + { + /// + /// 列表项选中时触发 + /// + /// 列表项 + void OnListItemSelected(GameItem item); + + /// + /// 列表源 + /// + GameItems ListSource { get; } + + /// + /// 是否可以分组 + /// + bool CanGroup { get; } + + /// + /// 类别 + /// + string[] Categories { get; } + } +} diff --git a/Source/GrasscutterTools/Models/GameItem.cs b/Source/GrasscutterTools/Models/GameItem.cs new file mode 100644 index 0000000..58e101e --- /dev/null +++ b/Source/GrasscutterTools/Models/GameItem.cs @@ -0,0 +1,16 @@ +namespace GrasscutterTools.Models +{ + public class GameItem + { + public int Id { get; set; } + + public string Name { get; set; } + + public string Category { get; set; } + + public override string ToString() + { + return $"{Id} : {Name}"; + } + } +} diff --git a/Source/GrasscutterTools/Models/GameItems.cs b/Source/GrasscutterTools/Models/GameItems.cs new file mode 100644 index 0000000..41c881f --- /dev/null +++ b/Source/GrasscutterTools/Models/GameItems.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.ObjectModel; + +namespace GrasscutterTools.Models +{ + public class GameItems : Collection + { + public GameItems(string sources) + { + var lines = sources.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); + var category = string.Empty; + foreach (var line in lines) + { + if (line.StartsWith("//")) + { + category = line.Substring(2).Trim().Replace('_', ' ').ToLowerInvariant(); + category = char.ToUpperInvariant(category[0]) + category.Substring(1); + } + else + { + var sp = line.IndexOf(':'); + if (sp >= 0) + { + Items.Add(new GameItem + { + Id = int.Parse(line.Substring(0, sp).Trim()), + Name = line.Substring(sp + 1).Trim(), + Category = category + }); + } + } + } + } + } +} diff --git a/Source/GrasscutterTools/MultiLanguage.cs b/Source/GrasscutterTools/MultiLanguage.cs deleted file mode 100644 index 49ca45e..0000000 --- a/Source/GrasscutterTools/MultiLanguage.cs +++ /dev/null @@ -1,105 +0,0 @@ -/** - * Grasscutter Tools - * Copyright (C) 2022 jie65535 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - **/ -using System; -using System.Windows.Forms; - -namespace GrasscutterTools -{ - internal static class MultiLanguage - { - /// - /// 语言名称列表 - /// - public static readonly string[] LanguageNames = new string[] { "简体中文", "繁體中文", "English", "Русский" }; - - /// - /// 语言代码列表 - /// - public static readonly string[] Languages = new string[] { "zh-CN", "zh-TW", "en-US", "ru-RU" }; - - public static void SetDefaultLanguage(string lang) - { - System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(lang); - Properties.Settings.Default.DefaultLanguage = lang; - } - - /// - /// 加载语言 - /// - /// 加载语言的窗口 - /// 窗口的类型 - public static void LoadLanguage(Form form, Type formType) - { - if (form != null) - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(formType); - resources.ApplyResources(form, "$this"); - Loading(form, resources); - } - } - - /// - /// 加载语言 - /// - /// 控件 - /// 语言资源 - private static void Loading(Control control, System.ComponentModel.ComponentResourceManager resources) - { - if (control is MenuStrip strip) - { - //将资源与控件对应 - resources.ApplyResources(control, control.Name); - if (strip.Items.Count > 0) - { - foreach (ToolStripMenuItem c in strip.Items) - { - //遍历菜单 - Loading(c, resources); - } - } - } - - foreach (Control c in control.Controls) - { - resources.ApplyResources(c, c.Name); - Loading(c, resources); - } - } - - /// - /// 遍历菜单 - /// - /// 菜单项 - /// 语言资源 - private static void Loading(ToolStripMenuItem item, System.ComponentModel.ComponentResourceManager resources) - { - if (item is ToolStripMenuItem tsmi) - { - resources.ApplyResources(item, item.Name); - if (tsmi.DropDownItems.Count > 0) - { - foreach (ToolStripMenuItem c in tsmi.DropDownItems) - { - Loading(c, resources); - } - } - } - } - } -} \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageGive.xaml b/Source/GrasscutterTools/Pages/PageGive.xaml new file mode 100644 index 0000000..c52b6a2 --- /dev/null +++ b/Source/GrasscutterTools/Pages/PageGive.xaml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +