diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs b/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs index 44ca154..6d61d80 100644 --- a/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs +++ b/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageGiveItem)); this.LblClearGiveItemLogs = new System.Windows.Forms.Label(); this.BtnSaveGiveItemLog = new System.Windows.Forms.Button(); @@ -42,6 +43,8 @@ this.NUDGameItemAmout = new System.Windows.Forms.NumericUpDown(); this.NUDGameItemLevel = new System.Windows.Forms.NumericUpDown(); this.LblGiveCommandDescription = new System.Windows.Forms.Label(); + this.BtnFilterItem = new System.Windows.Forms.Button(); + this.MenuItemFilter = new System.Windows.Forms.ContextMenuStrip(this.components); this.GrpGiveItemRecord.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemAmout)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.NUDGameItemLevel)).BeginInit(); @@ -159,10 +162,23 @@ resources.ApplyResources(this.LblGiveCommandDescription, "LblGiveCommandDescription"); this.LblGiveCommandDescription.Name = "LblGiveCommandDescription"; // + // BtnFilterItem + // + resources.ApplyResources(this.BtnFilterItem, "BtnFilterItem"); + this.BtnFilterItem.Name = "BtnFilterItem"; + this.BtnFilterItem.UseVisualStyleBackColor = true; + this.BtnFilterItem.Click += new System.EventHandler(this.BtnFilterItem_Click); + // + // MenuItemFilter + // + this.MenuItemFilter.Name = "MenuSpawnEntityFilter"; + resources.ApplyResources(this.MenuItemFilter, "MenuItemFilter"); + // // PageGiveItem // resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.BtnFilterItem); this.Controls.Add(this.LblClearGiveItemLogs); this.Controls.Add(this.BtnSaveGiveItemLog); this.Controls.Add(this.BtnRemoveGiveItemLog); @@ -199,5 +215,7 @@ private System.Windows.Forms.NumericUpDown NUDGameItemAmout; private System.Windows.Forms.NumericUpDown NUDGameItemLevel; private System.Windows.Forms.Label LblGiveCommandDescription; + private System.Windows.Forms.Button BtnFilterItem; + private System.Windows.Forms.ContextMenuStrip MenuItemFilter; } } diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.cs b/Source/GrasscutterTools/Pages/PageGiveItem.cs index 2b7bd64..ddcc34f 100644 --- a/Source/GrasscutterTools/Pages/PageGiveItem.cs +++ b/Source/GrasscutterTools/Pages/PageGiveItem.cs @@ -46,8 +46,52 @@ namespace GrasscutterTools.Pages /// public override void OnLoad() { - ListGameItems.Items.Clear(); - ListGameItems.Items.AddRange(GameData.Items.Lines); + MenuItemFilter.SuspendLayout(); + MenuItemFilter.Items.Clear(); + SelectedItemTypeLines = GameData.Items.Lines; + var all = new ToolStripMenuItem + { + Text = Resources.All, + Tag = SelectedItemTypeLines, + }; + all.Click += OnItemFilterClick; + MenuItemFilter.Items.Add(all); + foreach (var kv in GameData.Items) + { + var item = new ToolStripMenuItem + { + Text = kv.Key, + Tag = kv.Value.Lines, + }; + item.Click += OnItemFilterClick; + MenuItemFilter.Items.Add(item); + } + MenuItemFilter.ResumeLayout(); + + LoadItemList(); + } + + /// + /// 当前选中的物品类型行 + /// + private string[] SelectedItemTypeLines; + + /// + /// 物品类型过滤器类型选中时触发 + /// + private void OnItemFilterClick(object sender, EventArgs e) + { + var btn = sender as ToolStripMenuItem; + SelectedItemTypeLines = btn.Tag as string[]; + LoadItemList(); + } + + /// + /// 加载物品列表 + /// + private void LoadItemList() + { + UIUtil.ListBoxFilter(ListGameItems, SelectedItemTypeLines, TxtGameItemFilter.Text); } /// @@ -55,7 +99,7 @@ namespace GrasscutterTools.Pages /// private void TxtGameItemFilter_TextChanged(object sender, EventArgs e) { - UIUtil.ListBoxFilter(ListGameItems, GameData.Items.Lines, TxtGameItemFilter.Text); + LoadItemList(); } /// @@ -95,6 +139,14 @@ namespace GrasscutterTools.Pages GenGiveItemCommand(); } + /// + /// 点击过滤物品按钮时触发 + /// + private void BtnFilterItem_Click(object sender, EventArgs e) + { + MenuItemFilter.Show(BtnFilterItem, 0, BtnFilterItem.Height); + } + #region -- 物品记录 -- /// diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.resx b/Source/GrasscutterTools/Pages/PageGiveItem.resx index f9aa7bd..d89a6e7 100644 --- a/Source/GrasscutterTools/Pages/PageGiveItem.resx +++ b/Source/GrasscutterTools/Pages/PageGiveItem.resx @@ -151,7 +151,7 @@ $this - 0 + 2 NoControl @@ -178,7 +178,7 @@ $this - 1 + 3 False @@ -208,7 +208,7 @@ $this - 2 + 4 Top, Bottom, Left @@ -262,7 +262,7 @@ $this - 3 + 5 Bottom, Left @@ -295,7 +295,7 @@ $this - 4 + 6 Top, Left, Right @@ -304,7 +304,7 @@ 343, 3 - 300, 23 + 268, 23 9 @@ -319,7 +319,7 @@ $this - 5 + 7 Top, Bottom, Left, Right @@ -334,7 +334,7 @@ 300, 208 - 10 + 11 ListGameItems @@ -346,7 +346,7 @@ $this - 6 + 8 Bottom, Left @@ -379,7 +379,7 @@ $this - 7 + 9 Bottom, Left @@ -412,7 +412,7 @@ $this - 8 + 10 Bottom, Left @@ -436,7 +436,7 @@ $this - 9 + 11 Bottom, Left @@ -460,7 +460,7 @@ $this - 10 + 12 True @@ -491,7 +491,49 @@ $this - 11 + 13 + + + Top, Right + + + NoControl + + + 617, 3 + + + 26, 24 + + + 10 + + + + + + BtnFilterItem + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 17, 17 + + + 61, 4 + + + MenuItemFilter + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 True @@ -503,6 +545,6 @@ PageGiveItem - GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 + GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.6.0, Culture=neutral, PublicKeyToken=de2b1c089621e923 \ No newline at end of file diff --git a/Source/GrasscutterTools/Pages/PageSpawn.cs b/Source/GrasscutterTools/Pages/PageSpawn.cs index e6ddec8..f178354 100644 --- a/Source/GrasscutterTools/Pages/PageSpawn.cs +++ b/Source/GrasscutterTools/Pages/PageSpawn.cs @@ -60,6 +60,15 @@ namespace GrasscutterTools.Pages // 初始化列表类型过滤器 MenuSpawnEntityFilter.SuspendLayout(); MenuSpawnEntityFilter.Items.Clear(); + // 默认显示所有 + SelectedEntityTypeLines = GameData.Monsters.AllLines.Concat(GameData.Gadgets.AllLines).ToArray(); + var all = new ToolStripMenuItem + { + Text = Resources.All, + Tag = SelectedEntityTypeLines, + }; + all.Click += OnEntityTypeFilterClick; + MenuSpawnEntityFilter.Items.Add(all); void AddTypes(ItemMapGroup group) { foreach (var kv in group) @@ -80,8 +89,6 @@ namespace GrasscutterTools.Pages AddTypes(GameData.Gadgets); MenuSpawnEntityFilter.ResumeLayout(); - // 默认显示所有 - SelectedEntityTypeLines = GameData.Monsters.AllLines.Concat(GameData.Gadgets.AllLines).ToArray(); LoadEntityList(); } diff --git a/Source/GrasscutterTools/Properties/Resources.Designer.cs b/Source/GrasscutterTools/Properties/Resources.Designer.cs index 749d4ef..7566e81 100644 --- a/Source/GrasscutterTools/Properties/Resources.Designer.cs +++ b/Source/GrasscutterTools/Properties/Resources.Designer.cs @@ -60,6 +60,15 @@ namespace GrasscutterTools.Properties { } } + /// + /// 查找类似 全部 的本地化字符串。 + /// + internal static string All { + get { + return ResourceManager.GetString("All", resourceCulture); + } + } + /// /// 查找类似 20412:迷误者之灯 ///20413:迷误者之灯 @@ -820,10 +829,12 @@ namespace GrasscutterTools.Properties { } /// - /// 查找类似 101:角色经验 + /// 查找类似 // Items + /// + /// + ///// ITEM_VIRTUAL + ///101:角色经验 ///102:冒险阅历 - ///103:星尘 - ///104:星辉 ///105:好感经验 ///106:原粹树脂 ///107:传说钥匙 @@ -865,12 +876,10 @@ namespace GrasscutterTools.Properties { ///143:巧思手记 ///144:随想草稿 ///145:古铁钱 + ///146:牌手经验 ///147:节庆热度 ///148:营业收入 - ///149:可用资金 - ///150:巧策灵感 - ///151:蘑菇宝钱 - ///1 [字符串的其余部分被截断]"; 的本地化字符串。 + ///149:可用 [字符串的其余部分被截断]"; 的本地化字符串。 /// internal static string Item { get { @@ -1250,13 +1259,12 @@ namespace GrasscutterTools.Properties { ///11419:「一心传」名刀 ///11420:「一心传」名刀 ///11421:「一心传」名刀 + ///11422:东花坊时雨 ///11501:风鹰剑 ///11502:天空之刃 ///11503:苍古自由之誓 ///11504:斫峰之刃 ///11505:磐岩结绿 - ///11506:磐岩结绿 - ///11507:凭虚 ///11509:雾切之回光 ///11510:波乱月白经津 ///11511:圣显之钥 @@ -1264,7 +1272,8 @@ namespace GrasscutterTools.Properties { ///12201:佣兵重剑 ///12301:铁影阔剑 ///12302:沐浴龙血的剑 - ///12303 [字符串的其余部分被截断]"; 的本地化字符串。 + ///12303:白铁大剑 + ///12 [字符串的其余部分被截断]"; 的本地化字符串。 /// internal static string Weapon { get { diff --git a/Source/GrasscutterTools/Properties/Resources.en-us.resx b/Source/GrasscutterTools/Properties/Resources.en-us.resx index 93b05d7..87c8189 100644 --- a/Source/GrasscutterTools/Properties/Resources.en-us.resx +++ b/Source/GrasscutterTools/Properties/Resources.en-us.resx @@ -291,4 +291,7 @@ Improvement suggestions have been submitted, please use caution to send emails t ..\Resources\en-us\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + + All + \ No newline at end of file diff --git a/Source/GrasscutterTools/Properties/Resources.resx b/Source/GrasscutterTools/Properties/Resources.resx index f638492..456bd3d 100644 --- a/Source/GrasscutterTools/Properties/Resources.resx +++ b/Source/GrasscutterTools/Properties/Resources.resx @@ -303,4 +303,7 @@ ..\Resources\zh-cn\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + + 全部 + \ No newline at end of file diff --git a/Source/GrasscutterTools/Properties/Resources.ru-ru.resx b/Source/GrasscutterTools/Properties/Resources.ru-ru.resx index d06c46f..498c8ef 100644 --- a/Source/GrasscutterTools/Properties/Resources.ru-ru.resx +++ b/Source/GrasscutterTools/Properties/Resources.ru-ru.resx @@ -279,4 +279,7 @@ ..\Resources\ru-ru\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + + Все + \ No newline at end of file diff --git a/Source/GrasscutterTools/Properties/Resources.zh-TW.resx b/Source/GrasscutterTools/Properties/Resources.zh-TW.resx index 045f96c..38507c4 100644 --- a/Source/GrasscutterTools/Properties/Resources.zh-TW.resx +++ b/Source/GrasscutterTools/Properties/Resources.zh-TW.resx @@ -285,4 +285,7 @@ ..\Resources\zh-tw\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + + 全部 + \ No newline at end of file