mirror of
https://github.com/waynebian01/Shigure.git
synced 2026-09-03 07:15:24 +08:00
feat: 更新条件编辑器和状态表单,添加单元格格式化功能并调整导航项名称
This commit is contained in:
@@ -609,6 +609,7 @@ public sealed class ConditionEditorForm : Form
|
||||
};
|
||||
_conditionsGrid.CellValueChanged += OnGridCellValueChanged;
|
||||
_conditionsGrid.CellEndEdit += (_, _) => UpdatePreview();
|
||||
_conditionsGrid.CellFormatting += OnConditionsGridCellFormatting;
|
||||
_conditionsGrid.CellClick += OnConditionsGridCellClick;
|
||||
_conditionsGrid.CellPainting += OnConditionsGridCellPainting;
|
||||
_conditionsGrid.KeyDown += OnConditionsGridKeyDown;
|
||||
@@ -625,6 +626,45 @@ public sealed class ConditionEditorForm : Form
|
||||
UiTheme.CacheDataGridViewColumnWidths(_conditionsGrid, "condition-editor");
|
||||
}
|
||||
|
||||
private void OnConditionsGridCellFormatting(object? sender, DataGridViewCellFormattingEventArgs e)
|
||||
{
|
||||
if (e.RowIndex < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var cell = _conditionsGrid.Rows[e.RowIndex].Cells[e.ColumnIndex];
|
||||
if (e.ColumnIndex == _conditionsGrid.Columns[FieldColumn]!.Index)
|
||||
{
|
||||
cell.ToolTipText = cell.Value?.ToString() switch
|
||||
{
|
||||
"一键辅助" => "一键辅助, 数值参考技能列表",
|
||||
"插入法术" => "插入法术, 数值参考技能列表",
|
||||
_ => e.Value?.ToString() ?? string.Empty
|
||||
};
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.ColumnIndex == _conditionsGrid.Columns[ValueColumn]!.Index
|
||||
&& IsCastOrChannelTimeField(SelectedField(_conditionsGrid.Rows[e.RowIndex]))
|
||||
&& decimal.TryParse(
|
||||
e.Value?.ToString(),
|
||||
NumberStyles.Number,
|
||||
CultureInfo.InvariantCulture,
|
||||
out var value))
|
||||
{
|
||||
cell.ToolTipText = $"约{(value / 10m).ToString("0.#", CultureInfo.InvariantCulture)}秒";
|
||||
}
|
||||
}
|
||||
|
||||
private static bool IsCastOrChannelTimeField(FieldItem? field)
|
||||
{
|
||||
var name = field?.Name;
|
||||
return name?.EndsWith("施法(正计时)", StringComparison.Ordinal) == true
|
||||
|| name?.EndsWith("施法(倒计时)", StringComparison.Ordinal) == true
|
||||
|| name?.EndsWith("引导", StringComparison.Ordinal) == true;
|
||||
}
|
||||
|
||||
private static DataGridViewComboBoxColumn CreateComboColumn(
|
||||
string name,
|
||||
string headerText,
|
||||
|
||||
@@ -282,7 +282,7 @@ public sealed class StatusForm : Form
|
||||
Size = new Size(1280, 800);
|
||||
BackColor = UiTheme.Background;
|
||||
ForeColor = UiTheme.Text;
|
||||
ShowInTaskbar = false;
|
||||
ShowInTaskbar = true;
|
||||
TopMost = false;
|
||||
Font = new Font("Microsoft YaHei UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
AutoScaleMode = AutoScaleMode.Dpi;
|
||||
@@ -364,8 +364,8 @@ public sealed class StatusForm : Form
|
||||
AddNavItem(nav, SettingsPage.Logic, SettingsNavIcon.Logic, "逻辑", CreatePageShell("逻辑", "运行时推荐目标与调试值", BuildSection("逻辑信息", _unitInfoList, "当前模块的决策输出")));
|
||||
AddNavItem(nav, SettingsPage.Logs, SettingsNavIcon.Logs, "日志", CreatePageShell("日志", "运行、模块匹配与施放记录", BuildLogPage()));
|
||||
AddNavGroup(nav, "说明");
|
||||
AddNavItem(nav, SettingsPage.BossNumbers, SettingsNavIcon.BossNumbers, "首领编号", CreatePageShell("首领编号", "副本首领的序号、名称与扫描编号", BuildBossNumbersPage()));
|
||||
AddNavItem(nav, SettingsPage.CommonFields, SettingsNavIcon.CommonFields, "常用字段", CreatePageShell("常用字段", "模块条件可用的状态字段参考", BuildCommonFieldsPanel()));
|
||||
AddNavItem(nav, SettingsPage.BossNumbers, SettingsNavIcon.BossNumbers, "首领", CreatePageShell("首领编号", "副本首领的序号、名称与扫描编号", BuildBossNumbersPage()));
|
||||
AddNavItem(nav, SettingsPage.CommonFields, SettingsNavIcon.CommonFields, "字段", CreatePageShell("常用字段", "模块条件可用的状态字段参考", BuildCommonFieldsPanel()));
|
||||
AddNavGroup(nav, "系统");
|
||||
AddNavItem(nav, SettingsPage.About, SettingsNavIcon.About, "关于", CreatePageShell("关于", "应用信息", _aboutHost));
|
||||
_aboutHost.Controls.Add(BuildAboutPanel());
|
||||
|
||||
Reference in New Issue
Block a user