Add categories to item page

This commit is contained in:
2022-12-10 14:39:16 +08:00
parent 72351ba60f
commit 7eb2ff1624
9 changed files with 170 additions and 30 deletions

View File

@ -28,6 +28,7 @@
/// </summary>
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;
}
}

View File

@ -46,8 +46,52 @@ namespace GrasscutterTools.Pages
/// </summary>
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();
}
/// <summary>
/// 当前选中的物品类型行
/// </summary>
private string[] SelectedItemTypeLines;
/// <summary>
/// 物品类型过滤器类型选中时触发
/// </summary>
private void OnItemFilterClick(object sender, EventArgs e)
{
var btn = sender as ToolStripMenuItem;
SelectedItemTypeLines = btn.Tag as string[];
LoadItemList();
}
/// <summary>
/// 加载物品列表
/// </summary>
private void LoadItemList()
{
UIUtil.ListBoxFilter(ListGameItems, SelectedItemTypeLines, TxtGameItemFilter.Text);
}
/// <summary>
@ -55,7 +99,7 @@ namespace GrasscutterTools.Pages
/// </summary>
private void TxtGameItemFilter_TextChanged(object sender, EventArgs e)
{
UIUtil.ListBoxFilter(ListGameItems, GameData.Items.Lines, TxtGameItemFilter.Text);
LoadItemList();
}
/// <summary>
@ -95,6 +139,14 @@ namespace GrasscutterTools.Pages
GenGiveItemCommand();
}
/// <summary>
/// 点击过滤物品按钮时触发
/// </summary>
private void BtnFilterItem_Click(object sender, EventArgs e)
{
MenuItemFilter.Show(BtnFilterItem, 0, BtnFilterItem.Height);
}
#region -- --
/// <summary>

View File

@ -151,7 +151,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;LblClearGiveItemLogs.ZOrder" xml:space="preserve">
<value>0</value>
<value>2</value>
</data>
<data name="BtnSaveGiveItemLog.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@ -178,7 +178,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;BtnSaveGiveItemLog.ZOrder" xml:space="preserve">
<value>1</value>
<value>3</value>
</data>
<data name="BtnRemoveGiveItemLog.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
@ -208,7 +208,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;BtnRemoveGiveItemLog.ZOrder" xml:space="preserve">
<value>2</value>
<value>4</value>
</data>
<data name="GrpGiveItemRecord.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left</value>
@ -262,7 +262,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;GrpGiveItemRecord.ZOrder" xml:space="preserve">
<value>3</value>
<value>5</value>
</data>
<data name="ChkDrop.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@ -295,7 +295,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;ChkDrop.ZOrder" xml:space="preserve">
<value>4</value>
<value>6</value>
</data>
<data name="TxtGameItemFilter.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@ -304,7 +304,7 @@
<value>343, 3</value>
</data>
<data name="TxtGameItemFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value>
<value>268, 23</value>
</data>
<data name="TxtGameItemFilter.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@ -319,7 +319,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;TxtGameItemFilter.ZOrder" xml:space="preserve">
<value>5</value>
<value>7</value>
</data>
<data name="ListGameItems.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
@ -334,7 +334,7 @@
<value>300, 208</value>
</data>
<data name="ListGameItems.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
<value>11</value>
</data>
<data name="&gt;&gt;ListGameItems.Name" xml:space="preserve">
<value>ListGameItems</value>
@ -346,7 +346,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;ListGameItems.ZOrder" xml:space="preserve">
<value>6</value>
<value>8</value>
</data>
<data name="LblGameItemAmount.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@ -379,7 +379,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;LblGameItemAmount.ZOrder" xml:space="preserve">
<value>7</value>
<value>9</value>
</data>
<data name="LblGameItemLevel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@ -412,7 +412,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;LblGameItemLevel.ZOrder" xml:space="preserve">
<value>8</value>
<value>10</value>
</data>
<data name="NUDGameItemAmout.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@ -436,7 +436,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;NUDGameItemAmout.ZOrder" xml:space="preserve">
<value>9</value>
<value>11</value>
</data>
<data name="NUDGameItemLevel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
@ -460,7 +460,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;NUDGameItemLevel.ZOrder" xml:space="preserve">
<value>10</value>
<value>12</value>
</data>
<data name="LblGiveCommandDescription.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -491,7 +491,49 @@
<value>$this</value>
</data>
<data name="&gt;&gt;LblGiveCommandDescription.ZOrder" xml:space="preserve">
<value>11</value>
<value>13</value>
</data>
<data name="BtnFilterItem.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="BtnFilterItem.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="BtnFilterItem.Location" type="System.Drawing.Point, System.Drawing">
<value>617, 3</value>
</data>
<data name="BtnFilterItem.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 24</value>
</data>
<data name="BtnFilterItem.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="BtnFilterItem.Text" xml:space="preserve">
<value>三</value>
</data>
<data name="&gt;&gt;BtnFilterItem.Name" xml:space="preserve">
<value>BtnFilterItem</value>
</data>
<data name="&gt;&gt;BtnFilterItem.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;BtnFilterItem.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnFilterItem.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="MenuItemFilter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="MenuItemFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 4</value>
</data>
<data name="&gt;&gt;MenuItemFilter.Name" xml:space="preserve">
<value>MenuItemFilter</value>
</data>
<data name="&gt;&gt;MenuItemFilter.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
@ -503,6 +545,6 @@
<value>PageGiveItem</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.4.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
<value>GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.7.6.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
</data>
</root>

View File

@ -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();
}

View File

@ -60,6 +60,15 @@ namespace GrasscutterTools.Properties {
}
}
/// <summary>
/// 查找类似 全部 的本地化字符串。
/// </summary>
internal static string All {
get {
return ResourceManager.GetString("All", resourceCulture);
}
}
/// <summary>
/// 查找类似 20412:迷误者之灯
///20413:迷误者之灯
@ -820,10 +829,12 @@ namespace GrasscutterTools.Properties {
}
/// <summary>
/// 查找类似 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 [字符串的其余部分被截断]&quot;; 的本地化字符串。
///149:可用 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary>
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 [字符串的其余部分被截断]&quot;; 的本地化字符串。
///12303:白铁大剑
///12 [字符串的其余部分被截断]&quot;; 的本地化字符串。
/// </summary>
internal static string Weapon {
get {

View File

@ -291,4 +291,7 @@ Improvement suggestions have been submitted, please use caution to send emails t
<data name="Dungeon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\en-us\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="All" xml:space="preserve">
<value>All</value>
</data>
</root>

View File

@ -303,4 +303,7 @@
<data name="Dungeon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zh-cn\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="All" xml:space="preserve">
<value>全部</value>
</data>
</root>

View File

@ -279,4 +279,7 @@
<data name="Dungeon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ru-ru\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="All" xml:space="preserve">
<value>Все</value>
</data>
</root>

View File

@ -285,4 +285,7 @@
<data name="Dungeon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zh-tw\Dungeon.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="All" xml:space="preserve">
<value>全部</value>
</data>
</root>