mirror of
https://github.com/jie65535/GrasscutterCommandGenerator.git
synced 2025-12-16 10:32:58 +08:00
Update banner titles to 4.6
Fix benner editor format Add banner title update tool
This commit is contained in:
@@ -50,8 +50,11 @@ namespace GrasscutterTools.Forms
|
||||
|
||||
private void InitBannerPrefab()
|
||||
{
|
||||
CmbPrefab.Items.Clear();
|
||||
CmbPrefab.Items.AddRange(GameData.GachaBannerPrefabs.Names);
|
||||
CmbPrefab.DisplayMember = "Value";
|
||||
CmbPrefab.DataSource = GameData.GachaBannerPrefabs;
|
||||
|
||||
//CmbPrefab.Items.Clear();
|
||||
//CmbPrefab.Items.AddRange(GameData.GachaBannerPrefabs.Names);
|
||||
}
|
||||
|
||||
private void LnkWeightHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
@@ -206,6 +209,10 @@ namespace GrasscutterTools.Forms
|
||||
|
||||
#region - 序列化 -
|
||||
|
||||
private static string TrimPrefixAndSuffix(string text, int prefixLength, int suffixLength)
|
||||
{
|
||||
return text.Substring(prefixLength, text.Length - prefixLength - suffixLength);
|
||||
}
|
||||
private void ShowBanner(GachaBanner2 banner)
|
||||
{
|
||||
try
|
||||
@@ -213,10 +220,17 @@ namespace GrasscutterTools.Forms
|
||||
NUDGachaType.Value = banner.GachaType;
|
||||
NUDScheduleId.Value = banner.ScheduleId;
|
||||
CmbBannerType.SelectedIndex = (int)banner.BannerType;
|
||||
if (string.IsNullOrEmpty(banner.TitlePath) || !int.TryParse(banner.TitlePath.Substring("UI_GACHA_SHOW_PANEL_A".Length, 3), out int prefabId))
|
||||
const string titlePrefix = "UI_GACHA_SHOW_PANEL_";
|
||||
const string suffix = "_TITLE";
|
||||
if (string.IsNullOrEmpty(banner.TitlePath) || banner.TitlePath.Length <= titlePrefix.Length + suffix.Length)
|
||||
{
|
||||
CmbPrefab.SelectedIndex = -1;
|
||||
}
|
||||
else
|
||||
CmbPrefab.SelectedIndex = Array.IndexOf(GameData.GachaBannerPrefabs.Ids, prefabId);
|
||||
{
|
||||
var titleKey = TrimPrefixAndSuffix(banner.TitlePath, titlePrefix.Length, suffix.Length);
|
||||
CmbPrefab.SelectedIndex = GameData.GachaBannerTitles.FindIndex(it => it.Key == titleKey);
|
||||
}
|
||||
RbCostItem224.Checked = banner.CostItem == 224;
|
||||
RbCostItem223.Checked = banner.CostItem == 223;
|
||||
DTPBeginTime.Value = DateTimeOffset.FromUnixTimeSeconds(banner.BeginTime).DateTime;
|
||||
@@ -248,16 +262,16 @@ namespace GrasscutterTools.Forms
|
||||
MessageBox.Show("请选择奖池预制", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return null;
|
||||
}
|
||||
|
||||
var prefabId = GameData.GachaBannerPrefabs.Ids[CmbPrefab.SelectedIndex];
|
||||
|
||||
var prefabId = GameData.GachaBannerPrefabs[CmbPrefab.SelectedIndex].Key;
|
||||
var banner = new GachaBanner2
|
||||
{
|
||||
GachaType = (int)NUDGachaType.Value,
|
||||
ScheduleId = (int)NUDScheduleId.Value,
|
||||
BannerType = (BannerType)CmbBannerType.SelectedIndex,
|
||||
PrefabPath = $"GachaShowPanel_A{prefabId:000}",
|
||||
PreviewPrefabPath = $"UI_Tab_GachaShowPanel_A{prefabId:000}",
|
||||
TitlePath = $"UI_GACHA_SHOW_PANEL_A{prefabId:000}_TITLE",
|
||||
PrefabPath = $"GachaShowPanel_{prefabId}",
|
||||
PreviewPrefabPath = $"UI_Tab_GachaShowPanel_{prefabId}",
|
||||
TitlePath = $"UI_GACHA_SHOW_PANEL_{prefabId}_TITLE",
|
||||
CostItem = RbCostItem224.Checked ? 224 : 223,
|
||||
BeginTime = (int)new DateTimeOffset(DTPBeginTime.Value, TimeSpan.Zero).ToUnixTimeSeconds(),
|
||||
EndTime = (int)new DateTimeOffset(DTPEndTime.Value, TimeSpan.Zero).ToUnixTimeSeconds(),
|
||||
|
||||
Reference in New Issue
Block a user