Update Items filter

This commit is contained in:
2023-08-24 19:51:30 +08:00
parent 738a755353
commit c2ca091662
5 changed files with 43 additions and 107 deletions

View File

@ -489,6 +489,7 @@
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageGiveItem.resx">
<DependentUpon>PageGiveItem.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Pages\PageGiveItem.ru-RU.resx">
<DependentUpon>PageGiveItem.cs</DependentUpon>

View File

@ -43,7 +43,7 @@
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.CmbFilterItem = new System.Windows.Forms.ComboBox();
this.MenuItemFilter = new System.Windows.Forms.ContextMenuStrip(this.components);
this.GrpGiveItemRecord.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NUDGameItemAmout)).BeginInit();
@ -162,12 +162,12 @@
resources.ApplyResources(this.LblGiveCommandDescription, "LblGiveCommandDescription");
this.LblGiveCommandDescription.Name = "LblGiveCommandDescription";
//
// BtnFilterItem
// CmbFilterItem
//
resources.ApplyResources(this.BtnFilterItem, "BtnFilterItem");
this.BtnFilterItem.Name = "BtnFilterItem";
this.BtnFilterItem.UseVisualStyleBackColor = true;
this.BtnFilterItem.Click += new System.EventHandler(this.BtnFilterItem_Click);
this.CmbFilterItem.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
resources.ApplyResources(this.CmbFilterItem, "CmbFilterItem");
this.CmbFilterItem.Name = "CmbFilterItem";
this.CmbFilterItem.SelectedIndexChanged += new System.EventHandler(this.CmbFilterItem_SelectedIndexChanged);
//
// MenuItemFilter
//
@ -178,7 +178,7 @@
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.BtnFilterItem);
this.Controls.Add(this.CmbFilterItem);
this.Controls.Add(this.LblClearGiveItemLogs);
this.Controls.Add(this.BtnSaveGiveItemLog);
this.Controls.Add(this.BtnRemoveGiveItemLog);
@ -215,7 +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.ComboBox CmbFilterItem;
private System.Windows.Forms.ContextMenuStrip MenuItemFilter;
}
}

View File

@ -41,33 +41,27 @@ namespace GrasscutterTools.Pages
InitGiveItemRecord();
}
private List<string[]> ItemList;
/// <summary>
/// 初始化游戏物品列表
/// </summary>
public override void OnLoad()
{
MenuItemFilter.SuspendLayout();
MenuItemFilter.Items.Clear();
var types = new List<string>();
var itemList = new List<string[]>();
types.Add(Resources.All);
SelectedItemTypeLines = GameData.Items.Lines;
BtnFilterItem.Text = Resources.All;
var all = new ToolStripMenuItem
{
Text = Resources.All,
Tag = SelectedItemTypeLines,
};
all.Click += OnItemFilterClick;
MenuItemFilter.Items.Add(all);
itemList.Add(SelectedItemTypeLines);
foreach (var kv in GameData.Items)
{
var item = new ToolStripMenuItem
{
Text = kv.Key,
Tag = kv.Value.Lines,
};
item.Click += OnItemFilterClick;
MenuItemFilter.Items.Add(item);
types.Add(kv.Key);
itemList.Add(kv.Value.Lines);
}
MenuItemFilter.ResumeLayout();
CmbFilterItem.DataSource = types;
ItemList = itemList;
LoadItemList();
}
@ -78,13 +72,14 @@ namespace GrasscutterTools.Pages
private string[] SelectedItemTypeLines;
/// <summary>
/// 物品类型过滤器类型选中时触发
/// 点击过滤物品按钮时触发
/// </summary>
private void OnItemFilterClick(object sender, EventArgs e)
private void CmbFilterItem_SelectedIndexChanged(object sender, EventArgs e)
{
var btn = sender as ToolStripMenuItem;
BtnFilterItem.Text = btn.Text;
SelectedItemTypeLines = btn.Tag as string[];
if (CmbFilterItem.SelectedIndex < 0 || ItemList == null) return;
var lines = ItemList[CmbFilterItem.SelectedIndex];
if (SelectedItemTypeLines == lines) return;
SelectedItemTypeLines = lines;
LoadItemList();
}
@ -152,13 +147,6 @@ namespace GrasscutterTools.Pages
GenGiveItemCommand();
}
/// <summary>
/// 点击过滤物品按钮时触发
/// </summary>
private void BtnFilterItem_Click(object sender, EventArgs e)
{
MenuItemFilter.Show(BtnFilterItem, BtnFilterItem.Width, BtnFilterItem.Height);
}
#region -- --

View File

@ -301,10 +301,10 @@
<value>Top, Left, Right</value>
</data>
<data name="TxtGameItemFilter.Location" type="System.Drawing.Point, System.Drawing">
<value>448, 3</value>
<value>498, 3</value>
</data>
<data name="TxtGameItemFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 23</value>
<value>145, 23</value>
</data>
<data name="TxtGameItemFilter.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@ -493,32 +493,29 @@
<data name="&gt;&gt;LblGiveCommandDescription.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<data name="BtnFilterItem.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<data name="CmbFilterItem.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="BtnFilterItem.Location" type="System.Drawing.Point, System.Drawing">
<data name="CmbFilterItem.Location" type="System.Drawing.Point, System.Drawing">
<value>342, 2</value>
</data>
<data name="BtnFilterItem.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 25</value>
<data name="CmbFilterItem.Size" type="System.Drawing.Size, System.Drawing">
<value>150, 25</value>
</data>
<data name="BtnFilterItem.TabIndex" type="System.Int32, mscorlib">
<data name="CmbFilterItem.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="BtnFilterItem.Text" xml:space="preserve">
<value>全部</value>
<data name="&gt;&gt;CmbFilterItem.Name" xml:space="preserve">
<value>CmbFilterItem</value>
</data>
<data name="&gt;&gt;BtnFilterItem.Name" xml:space="preserve">
<value>BtnFilterItem</value>
<data name="&gt;&gt;CmbFilterItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</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">
<data name="&gt;&gt;CmbFilterItem.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;BtnFilterItem.ZOrder" xml:space="preserve">
<value>1</value>
<data name="&gt;&gt;CmbFilterItem.ZOrder" xml:space="preserve">
<value>0</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>

View File

@ -74,39 +74,6 @@ namespace GrasscutterTools.Pages
CmbFilterEntity.DataSource = types;
EntityList = entityList;
//// 初始化列表类型过滤器
//MenuSpawnEntityFilter.SuspendLayout();
//MenuSpawnEntityFilter.Items.Clear();
//CmbFilterEntity.Text = Resources.All;
//// 默认显示所有
//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)
// {
// var item = new ToolStripMenuItem
// {
// Text = kv.Key,
// Tag = kv.Value.Lines,
// };
// item.Click += OnEntityTypeFilterClick;
// MenuSpawnEntityFilter.Items.Add(item);
// }
//}
////MenuSpawnEntityFilter.Items.Add(new ToolStripLabel("Monsters"));
//AddTypes(GameData.Monsters);
//MenuSpawnEntityFilter.Items.Add(new ToolStripSeparator());
////MenuSpawnEntityFilter.Items.Add(new ToolStripLabel("Gadgets"));
//AddTypes(GameData.Gadgets);
//MenuSpawnEntityFilter.ResumeLayout();
//Console.WriteLine(string.Join("\n", GameData.Gadgets.Keys));
@ -118,16 +85,6 @@ namespace GrasscutterTools.Pages
/// </summary>
private string[] SelectedEntityTypeLines;
///// <summary>
///// 实体类型过滤器类型选中时触发
///// </summary>
//private void OnEntityTypeFilterClick(object sender, EventArgs e)
//{
// var btn = sender as ToolStripMenuItem;
// CmbFilterEntity.Text = btn.Text;
// SelectedEntityTypeLines = btn.Tag as string[];
// LoadEntityList();
//}
/// <summary>
/// 类别选中时触发
@ -157,13 +114,6 @@ namespace GrasscutterTools.Pages
LoadEntityList();
}
/// <summary>
/// 实体列表类型过滤按钮点击时触发
/// </summary>
private void BtnFilterEntity_Click(object sender, EventArgs e)
{
MenuSpawnEntityFilter.Show(CmbFilterEntity, CmbFilterEntity.Width, CmbFilterEntity.Height);
}
/// <summary>
/// 实体列表选中项改变时触发