Update All Gadgets

Update Spawn filter
This commit is contained in:
2023-08-24 19:41:30 +08:00
parent dcbd946407
commit 738a755353
18 changed files with 44755 additions and 32211 deletions

View File

@@ -90,7 +90,7 @@
this.ListEntity = new System.Windows.Forms.ListBox();
this.PanelEntityFilterBar = new System.Windows.Forms.Panel();
this.TxtEntityFilter = new System.Windows.Forms.TextBox();
this.BtnFilterEntity = new System.Windows.Forms.Button();
this.CmbFilterEntity = new System.Windows.Forms.ComboBox();
this.TPSpawnRecords = new System.Windows.Forms.TabPage();
this.ListSpawnLogs = new System.Windows.Forms.ListBox();
this.FLPSpawnRecordControls = new System.Windows.Forms.FlowLayoutPanel();
@@ -707,7 +707,7 @@
// PanelEntityFilterBar
//
this.PanelEntityFilterBar.Controls.Add(this.TxtEntityFilter);
this.PanelEntityFilterBar.Controls.Add(this.BtnFilterEntity);
this.PanelEntityFilterBar.Controls.Add(this.CmbFilterEntity);
resources.ApplyResources(this.PanelEntityFilterBar, "PanelEntityFilterBar");
this.PanelEntityFilterBar.Name = "PanelEntityFilterBar";
//
@@ -717,12 +717,12 @@
this.TxtEntityFilter.Name = "TxtEntityFilter";
this.TxtEntityFilter.TextChanged += new System.EventHandler(this.TxtEntityFilter_TextChanged);
//
// BtnFilterEntity
// CmbFilterEntity
//
resources.ApplyResources(this.BtnFilterEntity, "BtnFilterEntity");
this.BtnFilterEntity.Name = "BtnFilterEntity";
this.BtnFilterEntity.UseVisualStyleBackColor = true;
this.BtnFilterEntity.Click += new System.EventHandler(this.BtnFilterEntity_Click);
this.CmbFilterEntity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
resources.ApplyResources(this.CmbFilterEntity, "CmbFilterEntity");
this.CmbFilterEntity.Name = "CmbFilterEntity";
this.CmbFilterEntity.SelectedIndexChanged += new System.EventHandler(this.CmbFilterEntity_SelectedIndexChanged);
//
// TPSpawnRecords
//
@@ -879,7 +879,7 @@
private System.Windows.Forms.ListBox ListEntity;
private System.Windows.Forms.Panel PanelEntityFilterBar;
private System.Windows.Forms.TextBox TxtEntityFilter;
private System.Windows.Forms.Button BtnFilterEntity;
private System.Windows.Forms.ComboBox CmbFilterEntity;
private System.Windows.Forms.TabPage TPSpawnRecords;
private System.Windows.Forms.ListBox ListSpawnLogs;
private System.Windows.Forms.FlowLayoutPanel FLPSpawnRecordControls;

View File

@@ -52,44 +52,64 @@ namespace GrasscutterTools.Pages
#region -- --
private List<string[]> EntityList;
/// <summary>
/// 初始化实体列表
/// </summary>
private void InitEntityList()
{
// 初始化列表类型过滤器
MenuSpawnEntityFilter.SuspendLayout();
MenuSpawnEntityFilter.Items.Clear();
BtnFilterEntity.Text = Resources.All;
var types = new List<string>();
var entityList = new List<string[]>();
types.Add(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();
entityList.Add(SelectedEntityTypeLines);
types.AddRange(GameData.Monsters.Select(it => it.Key));
entityList.AddRange(GameData.Monsters.Select(it => it.Value.Lines));
types.AddRange(GameData.Gadgets.Select(it => it.Key));
entityList.AddRange(GameData.Gadgets.Select(it => it.Value.Lines));
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));
LoadEntityList();
}
@@ -98,14 +118,26 @@ 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>
/// 实体类型过滤器类型选中时触发
/// 类别选中时触发
/// </summary>
private void OnEntityTypeFilterClick(object sender, EventArgs e)
private void CmbFilterEntity_SelectedIndexChanged(object sender, EventArgs e)
{
var btn = sender as ToolStripMenuItem;
BtnFilterEntity.Text = btn.Text;
SelectedEntityTypeLines = btn.Tag as string[];
if (CmbFilterEntity.SelectedIndex < 0 || EntityList == null) return;
var lines = EntityList[CmbFilterEntity.SelectedIndex];
if (SelectedEntityTypeLines == lines) return;
SelectedEntityTypeLines = lines;
LoadEntityList();
}
@@ -130,7 +162,7 @@ namespace GrasscutterTools.Pages
/// </summary>
private void BtnFilterEntity_Click(object sender, EventArgs e)
{
MenuSpawnEntityFilter.Show(BtnFilterEntity, 0, BtnFilterEntity.Height);
MenuSpawnEntityFilter.Show(CmbFilterEntity, CmbFilterEntity.Width, CmbFilterEntity.Height);
}
/// <summary>
@@ -389,5 +421,6 @@ namespace GrasscutterTools.Pages
}
#endregion -- --
}
}

View File

@@ -1594,10 +1594,10 @@
<value>Top, Left, Right</value>
</data>
<data name="TxtEntityFilter.Location" type="System.Drawing.Point, System.Drawing">
<value>103, 3</value>
<value>153, 3</value>
</data>
<data name="TxtEntityFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 23</value>
<value>118, 23</value>
</data>
<data name="TxtEntityFilter.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -1614,31 +1614,28 @@
<data name="&gt;&gt;TxtEntityFilter.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="BtnFilterEntity.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<data name="CmbFilterEntity.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="BtnFilterEntity.Location" type="System.Drawing.Point, System.Drawing">
<data name="CmbFilterEntity.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 2</value>
</data>
<data name="BtnFilterEntity.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 25</value>
<data name="CmbFilterEntity.Size" type="System.Drawing.Size, System.Drawing">
<value>150, 25</value>
</data>
<data name="BtnFilterEntity.TabIndex" type="System.Int32, mscorlib">
<data name="CmbFilterEntity.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="BtnFilterEntity.Text" xml:space="preserve">
<value>全部</value>
<data name="&gt;&gt;CmbFilterEntity.Name" xml:space="preserve">
<value>CmbFilterEntity</value>
</data>
<data name="&gt;&gt;BtnFilterEntity.Name" xml:space="preserve">
<value>BtnFilterEntity</value>
<data name="&gt;&gt;CmbFilterEntity.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;BtnFilterEntity.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;BtnFilterEntity.Parent" xml:space="preserve">
<data name="&gt;&gt;CmbFilterEntity.Parent" xml:space="preserve">
<value>PanelEntityFilterBar</value>
</data>
<data name="&gt;&gt;BtnFilterEntity.ZOrder" xml:space="preserve">
<data name="&gt;&gt;CmbFilterEntity.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="PanelEntityFilterBar.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">