From c94bb216ac6de8384a95f64a4f00b608b34f9658 Mon Sep 17 00:00:00 2001 From: jie65535 Date: Fri, 20 May 2022 16:47:10 +0800 Subject: [PATCH] Show Items --- .../Forms/FormGachaBannerEditor2.Designer.cs | 239 ++--- .../Forms/FormGachaBannerEditor2.cs | 125 ++- .../Forms/FormGachaBannerEditor2.resx | 960 ++++++------------ .../Game/Gacha/GachaBanner2.cs | 36 +- 4 files changed, 523 insertions(+), 837 deletions(-) diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.Designer.cs b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.Designer.cs index 05a62aa..65aea50 100644 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.Designer.cs +++ b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.Designer.cs @@ -29,15 +29,18 @@ namespace GrasscutterTools.Forms /// private void InitializeComponent() { + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend(); + System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormGachaBannerEditor2)); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - System.Windows.Forms.DataVisualization.Charting.Legend legend3 = new System.Windows.Forms.DataVisualization.Charting.Legend(); - System.Windows.Forms.DataVisualization.Charting.Series series3 = new System.Windows.Forms.DataVisualization.Charting.Series(); this.GrpBannerValues = new System.Windows.Forms.GroupBox(); this.CmbPrefab = new System.Windows.Forms.ComboBox(); + this.LblEventChance4Tip = new System.Windows.Forms.Label(); this.LblEventChance5Tip = new System.Windows.Forms.Label(); + this.NUDEventChance4 = new System.Windows.Forms.NumericUpDown(); this.NUDEventChance5 = new System.Windows.Forms.NumericUpDown(); this.LblGachaType = new System.Windows.Forms.Label(); + this.LblEventChance4 = new System.Windows.Forms.Label(); this.LblEventChance5 = new System.Windows.Forms.Label(); this.LblSortId = new System.Windows.Forms.Label(); this.NUDGachaType = new System.Windows.Forms.NumericUpDown(); @@ -47,9 +50,7 @@ namespace GrasscutterTools.Forms this.LblScheduleId = new System.Windows.Forms.Label(); this.LblBeginTime = new System.Windows.Forms.Label(); this.NUDScheduleId = new System.Windows.Forms.NumericUpDown(); - this.NUDEndTime = new System.Windows.Forms.NumericUpDown(); this.LblScheduleIdTip = new System.Windows.Forms.Label(); - this.NUDBeginTime = new System.Windows.Forms.NumericUpDown(); this.CmbBannerType = new System.Windows.Forms.ComboBox(); this.LblSortIdTip = new System.Windows.Forms.Label(); this.LblBannerType = new System.Windows.Forms.Label(); @@ -63,34 +64,34 @@ namespace GrasscutterTools.Forms this.BtnGen = new System.Windows.Forms.Button(); this.TxtJson = new System.Windows.Forms.TextBox(); this.BtnParse = new System.Windows.Forms.Button(); - this.treeView1 = new System.Windows.Forms.TreeView(); - this.treeView2 = new System.Windows.Forms.TreeView(); - this.LblEventChance4 = new System.Windows.Forms.Label(); - this.NUDEventChance4 = new System.Windows.Forms.NumericUpDown(); - this.LblEventChance4Tip = new System.Windows.Forms.Label(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); - this.tabControl1 = new System.Windows.Forms.TabControl(); - this.tabPage1 = new System.Windows.Forms.TabPage(); - this.tabPage2 = new System.Windows.Forms.TabPage(); this.GrpWeights = new System.Windows.Forms.GroupBox(); + this.DTPBeginTime = new System.Windows.Forms.DateTimePicker(); + this.DTPEndTime = new System.Windows.Forms.DateTimePicker(); + this.ListBannerWeights = new System.Windows.Forms.ListView(); + this.ListUpItems = new System.Windows.Forms.ListView(); + this.ListFallbackItems = new System.Windows.Forms.ListView(); + this.ColUpId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.ColUpName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.ColFallbackId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.ColFallbackName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.GrpBannerValues.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance4)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance5)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.NUDGachaType)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.NUDSortId)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEndTime)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBeginTime)).BeginInit(); this.GrpPurplePool.SuspendLayout(); this.GrpYellowPool.SuspendLayout(); this.GrpJson.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance4)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); - this.tabControl1.SuspendLayout(); this.GrpWeights.SuspendLayout(); this.SuspendLayout(); // // GrpBannerValues // + this.GrpBannerValues.Controls.Add(this.DTPEndTime); + this.GrpBannerValues.Controls.Add(this.DTPBeginTime); this.GrpBannerValues.Controls.Add(this.CmbPrefab); this.GrpBannerValues.Controls.Add(this.LblEventChance4Tip); this.GrpBannerValues.Controls.Add(this.LblEventChance5Tip); @@ -107,9 +108,7 @@ namespace GrasscutterTools.Forms this.GrpBannerValues.Controls.Add(this.LblScheduleId); this.GrpBannerValues.Controls.Add(this.LblBeginTime); this.GrpBannerValues.Controls.Add(this.NUDScheduleId); - this.GrpBannerValues.Controls.Add(this.NUDEndTime); this.GrpBannerValues.Controls.Add(this.LblScheduleIdTip); - this.GrpBannerValues.Controls.Add(this.NUDBeginTime); this.GrpBannerValues.Controls.Add(this.CmbBannerType); this.GrpBannerValues.Controls.Add(this.LblSortIdTip); this.GrpBannerValues.Controls.Add(this.LblBannerType); @@ -128,11 +127,26 @@ namespace GrasscutterTools.Forms resources.ApplyResources(this.CmbPrefab, "CmbPrefab"); this.CmbPrefab.Name = "CmbPrefab"; // + // LblEventChance4Tip + // + resources.ApplyResources(this.LblEventChance4Tip, "LblEventChance4Tip"); + this.LblEventChance4Tip.Name = "LblEventChance4Tip"; + // // LblEventChance5Tip // resources.ApplyResources(this.LblEventChance5Tip, "LblEventChance5Tip"); this.LblEventChance5Tip.Name = "LblEventChance5Tip"; // + // NUDEventChance4 + // + resources.ApplyResources(this.NUDEventChance4, "NUDEventChance4"); + this.NUDEventChance4.Name = "NUDEventChance4"; + this.NUDEventChance4.Value = new decimal(new int[] { + 50, + 0, + 0, + 0}); + // // NUDEventChance5 // resources.ApplyResources(this.NUDEventChance5, "NUDEventChance5"); @@ -148,6 +162,11 @@ namespace GrasscutterTools.Forms resources.ApplyResources(this.LblGachaType, "LblGachaType"); this.LblGachaType.Name = "LblGachaType"; // + // LblEventChance4 + // + resources.ApplyResources(this.LblEventChance4, "LblEventChance4"); + this.LblEventChance4.Name = "LblEventChance4"; + // // LblEventChance5 // resources.ApplyResources(this.LblEventChance5, "LblEventChance5"); @@ -228,36 +247,11 @@ namespace GrasscutterTools.Forms 0, 0}); // - // NUDEndTime - // - resources.ApplyResources(this.NUDEndTime, "NUDEndTime"); - this.NUDEndTime.Maximum = new decimal(new int[] { - 1924992000, - 0, - 0, - 0}); - this.NUDEndTime.Name = "NUDEndTime"; - this.NUDEndTime.Value = new decimal(new int[] { - 1924992000, - 0, - 0, - 0}); - // // LblScheduleIdTip // resources.ApplyResources(this.LblScheduleIdTip, "LblScheduleIdTip"); this.LblScheduleIdTip.Name = "LblScheduleIdTip"; // - // NUDBeginTime - // - resources.ApplyResources(this.NUDBeginTime, "NUDBeginTime"); - this.NUDBeginTime.Maximum = new decimal(new int[] { - 1924992000, - 0, - 0, - 0}); - this.NUDBeginTime.Name = "NUDBeginTime"; - // // CmbBannerType // this.CmbBannerType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; @@ -307,14 +301,14 @@ namespace GrasscutterTools.Forms // GrpPurplePool // resources.ApplyResources(this.GrpPurplePool, "GrpPurplePool"); - this.GrpPurplePool.Controls.Add(this.treeView1); + this.GrpPurplePool.Controls.Add(this.ListFallbackItems); this.GrpPurplePool.Name = "GrpPurplePool"; this.GrpPurplePool.TabStop = false; // // GrpYellowPool // resources.ApplyResources(this.GrpYellowPool, "GrpYellowPool"); - this.GrpYellowPool.Controls.Add(this.treeView2); + this.GrpYellowPool.Controls.Add(this.ListUpItems); this.GrpYellowPool.Name = "GrpYellowPool"; this.GrpYellowPool.TabStop = false; // @@ -346,77 +340,91 @@ namespace GrasscutterTools.Forms this.BtnParse.UseVisualStyleBackColor = true; this.BtnParse.Click += new System.EventHandler(this.BtnParse_Click); // - // treeView1 - // - resources.ApplyResources(this.treeView1, "treeView1"); - this.treeView1.Name = "treeView1"; - // - // treeView2 - // - resources.ApplyResources(this.treeView2, "treeView2"); - this.treeView2.Name = "treeView2"; - // - // LblEventChance4 - // - resources.ApplyResources(this.LblEventChance4, "LblEventChance4"); - this.LblEventChance4.Name = "LblEventChance4"; - // - // NUDEventChance4 - // - resources.ApplyResources(this.NUDEventChance4, "NUDEventChance4"); - this.NUDEventChance4.Name = "NUDEventChance4"; - this.NUDEventChance4.Value = new decimal(new int[] { - 50, - 0, - 0, - 0}); - // - // LblEventChance4Tip - // - resources.ApplyResources(this.LblEventChance4Tip, "LblEventChance4Tip"); - this.LblEventChance4Tip.Name = "LblEventChance4Tip"; - // // chart1 // - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); - legend3.Name = "Legend1"; - this.chart1.Legends.Add(legend3); + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + legend1.Name = "Legend1"; + this.chart1.Legends.Add(legend1); resources.ApplyResources(this.chart1, "chart1"); this.chart1.Name = "chart1"; - series3.ChartArea = "ChartArea1"; - series3.Legend = "Legend1"; - series3.Name = "Series1"; - this.chart1.Series.Add(series3); - // - // tabControl1 - // - this.tabControl1.Controls.Add(this.tabPage1); - this.tabControl1.Controls.Add(this.tabPage2); - resources.ApplyResources(this.tabControl1, "tabControl1"); - this.tabControl1.Name = "tabControl1"; - this.tabControl1.SelectedIndex = 0; - // - // tabPage1 - // - resources.ApplyResources(this.tabPage1, "tabPage1"); - this.tabPage1.Name = "tabPage1"; - this.tabPage1.UseVisualStyleBackColor = true; - // - // tabPage2 - // - resources.ApplyResources(this.tabPage2, "tabPage2"); - this.tabPage2.Name = "tabPage2"; - this.tabPage2.UseVisualStyleBackColor = true; + series1.ChartArea = "ChartArea1"; + series1.Legend = "Legend1"; + series1.Name = "Series1"; + this.chart1.Series.Add(series1); // // GrpWeights // resources.ApplyResources(this.GrpWeights, "GrpWeights"); - this.GrpWeights.Controls.Add(this.tabControl1); + this.GrpWeights.Controls.Add(this.ListBannerWeights); this.GrpWeights.Controls.Add(this.chart1); this.GrpWeights.Name = "GrpWeights"; this.GrpWeights.TabStop = false; // + // DTPBeginTime + // + resources.ApplyResources(this.DTPBeginTime, "DTPBeginTime"); + this.DTPBeginTime.MaxDate = new System.DateTime(2038, 1, 19, 0, 0, 0, 0); + this.DTPBeginTime.MinDate = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); + this.DTPBeginTime.Name = "DTPBeginTime"; + // + // DTPEndTime + // + resources.ApplyResources(this.DTPEndTime, "DTPEndTime"); + this.DTPEndTime.MaxDate = new System.DateTime(2038, 1, 19, 0, 0, 0, 0); + this.DTPEndTime.MinDate = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); + this.DTPEndTime.Name = "DTPEndTime"; + // + // ListBannerWeights + // + this.ListBannerWeights.HideSelection = false; + resources.ApplyResources(this.ListBannerWeights, "ListBannerWeights"); + this.ListBannerWeights.Name = "ListBannerWeights"; + this.ListBannerWeights.UseCompatibleStateImageBehavior = false; + this.ListBannerWeights.View = System.Windows.Forms.View.Details; + // + // ListUpItems + // + this.ListUpItems.CheckBoxes = true; + this.ListUpItems.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.ColUpId, + this.ColUpName}); + resources.ApplyResources(this.ListUpItems, "ListUpItems"); + this.ListUpItems.FullRowSelect = true; + this.ListUpItems.HideSelection = false; + this.ListUpItems.Name = "ListUpItems"; + this.ListUpItems.UseCompatibleStateImageBehavior = false; + this.ListUpItems.View = System.Windows.Forms.View.Details; + // + // ListFallbackItems + // + this.ListFallbackItems.CheckBoxes = true; + this.ListFallbackItems.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.ColFallbackId, + this.ColFallbackName}); + resources.ApplyResources(this.ListFallbackItems, "ListFallbackItems"); + this.ListFallbackItems.FullRowSelect = true; + this.ListFallbackItems.HideSelection = false; + this.ListFallbackItems.Name = "ListFallbackItems"; + this.ListFallbackItems.UseCompatibleStateImageBehavior = false; + this.ListFallbackItems.View = System.Windows.Forms.View.Details; + // + // ColUpId + // + resources.ApplyResources(this.ColUpId, "ColUpId"); + // + // ColUpName + // + resources.ApplyResources(this.ColUpName, "ColUpName"); + // + // ColFallbackId + // + resources.ApplyResources(this.ColFallbackId, "ColFallbackId"); + // + // ColFallbackName + // + resources.ApplyResources(this.ColFallbackName, "ColFallbackName"); + // // FormGachaBannerEditor2 // resources.ApplyResources(this, "$this"); @@ -430,19 +438,16 @@ namespace GrasscutterTools.Forms this.Name = "FormGachaBannerEditor2"; this.GrpBannerValues.ResumeLayout(false); this.GrpBannerValues.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance4)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance5)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.NUDGachaType)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.NUDSortId)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEndTime)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.NUDBeginTime)).EndInit(); this.GrpPurplePool.ResumeLayout(false); this.GrpYellowPool.ResumeLayout(false); this.GrpJson.ResumeLayout(false); this.GrpJson.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUDEventChance4)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); - this.tabControl1.ResumeLayout(false); this.GrpWeights.ResumeLayout(false); this.ResumeLayout(false); @@ -462,9 +467,7 @@ namespace GrasscutterTools.Forms private System.Windows.Forms.Label LblScheduleId; private System.Windows.Forms.Label LblBeginTime; private System.Windows.Forms.NumericUpDown NUDScheduleId; - private System.Windows.Forms.NumericUpDown NUDEndTime; private System.Windows.Forms.Label LblScheduleIdTip; - private System.Windows.Forms.NumericUpDown NUDBeginTime; private System.Windows.Forms.ComboBox CmbBannerType; private System.Windows.Forms.Label LblSortIdTip; private System.Windows.Forms.Label LblBannerType; @@ -480,14 +483,18 @@ namespace GrasscutterTools.Forms private System.Windows.Forms.Button BtnParse; private System.Windows.Forms.ComboBox CmbPrefab; private System.Windows.Forms.Label LblEventChance4; - private System.Windows.Forms.TreeView treeView1; - private System.Windows.Forms.TreeView treeView2; private System.Windows.Forms.Label LblEventChance4Tip; private System.Windows.Forms.NumericUpDown NUDEventChance4; private System.Windows.Forms.DataVisualization.Charting.Chart chart1; - private System.Windows.Forms.TabControl tabControl1; - private System.Windows.Forms.TabPage tabPage1; - private System.Windows.Forms.TabPage tabPage2; private System.Windows.Forms.GroupBox GrpWeights; + private System.Windows.Forms.DateTimePicker DTPEndTime; + private System.Windows.Forms.DateTimePicker DTPBeginTime; + private System.Windows.Forms.ListView ListBannerWeights; + private System.Windows.Forms.ListView ListFallbackItems; + private System.Windows.Forms.ListView ListUpItems; + private System.Windows.Forms.ColumnHeader ColFallbackId; + private System.Windows.Forms.ColumnHeader ColFallbackName; + private System.Windows.Forms.ColumnHeader ColUpId; + private System.Windows.Forms.ColumnHeader ColUpName; } } \ No newline at end of file diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.cs b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.cs index 6147a93..c8927cc 100644 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.cs +++ b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.cs @@ -19,6 +19,7 @@ using System; using System.Collections.Generic; using System.Data; +using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; @@ -46,6 +47,9 @@ namespace GrasscutterTools.Forms CmbBannerType.SelectedIndex = 0; InitBannerPrefab(); InitCheckedListBoxs(); + + + ShowBanner(new GachaBanner2()); } private void InitBannerPrefab() @@ -54,40 +58,93 @@ namespace GrasscutterTools.Forms CmbPrefab.Items.AddRange(GameData.GachaBannerPrefabs.Names); } + private void InitCheckedListBoxs() { - // TODO + var c = new Dictionary(); + ListFallbackItems.BeginUpdate(); + var a5 = ListFallbackItems.Groups.Add("a5", "5星角色"); + var a4 = ListFallbackItems.Groups.Add("a4", "4星角色"); + var a3 = ListFallbackItems.Groups.Add("a3", "3星角色"); + var w5 = ListFallbackItems.Groups.Add("w5", "5星武器"); + var w4 = ListFallbackItems.Groups.Add("w4", "4星武器"); + var w3 = ListFallbackItems.Groups.Add("w3", "3星武器"); + var avatars = GetAvatarsByColor("yellow") + .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a5) { ForeColor = Color.OrangeRed }) + .Concat(GetAvatarsByColor("purple") + .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a4) { ForeColor = Color.Purple })) + .Concat(GetAvatarsByColor("blue") + .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a3) { ForeColor = Color.Blue })); + var weapons = GetWeaponsByColor("yellow") + .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, w5) { ForeColor = Color.OrangeRed }) + .Concat(GetWeaponsByColor("purple") + .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, w4) { ForeColor = Color.Purple })) + .Concat(GetWeaponsByColor("blue") + .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, w3) { ForeColor = Color.Blue })); + ListFallbackItems.Items.AddRange(avatars.Concat(weapons).ToArray()); + + + ListUpItems.BeginUpdate(); + var ua5 = ListUpItems.Groups.Add("ua5", "5星角色"); + var ua4 = ListUpItems.Groups.Add("ua4", "4星角色"); + var uw5 = ListUpItems.Groups.Add("uw5", "5星武器"); + var uw4 = ListUpItems.Groups.Add("uw4", "4星武器"); + var upAvatars = GetAvatarsByColor("yellow") + .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, ua5) { ForeColor = Color.OrangeRed }) + .Concat(GetAvatarsByColor("purple") + .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, ua4) { ForeColor = Color.Purple })); + var upWeapons = GetWeaponsByColor("yellow") + .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, uw5) { ForeColor = Color.OrangeRed }) + .Concat(GetWeaponsByColor("purple") + .Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, uw4) { ForeColor = Color.Purple })); + ListUpItems.Items.AddRange(upAvatars.Concat(upWeapons).ToArray()); + + ListFallbackItems.EndUpdate(); + ListUpItems.EndUpdate(); } - //private void InitCheckedListBox(CheckedListBox list, string color) - //{ - // var kvs = new List(); - // for (int i = 0; i < GameData.AvatarColors.Count; i++) - // { - // if (GameData.AvatarColors.Names[i] == color) - // { - // var id = GameData.AvatarColors.Ids[i]; - // var index = Array.IndexOf(GameData.Avatars.Ids, id % 1000 + 10000000); - // if (index >= 0) - // kvs.Add($"{id}:{GameData.Avatars.Names[index]}"); - // } - // } - // for (int i = 0; i < GameData.WeaponColors.Count; i++) - // { - // if (GameData.WeaponColors.Names[i] == color) - // { - // var id = GameData.WeaponColors.Ids[i]; - // var index = Array.IndexOf(GameData.Weapons.Ids, id); - // if (index >= 0) - // kvs.Add($"{id}:{GameData.Weapons.Names[index]}"); - // } - // } - // list.Items.AddRange(kvs.ToArray()); - //} - - private void InitRateUpItems(GachaBanner2 banner) + private IEnumerable<(int, string)> GetAvatarsByColor(string color) { - // TODO + for (int i = 0; i < GameData.AvatarColors.Count; i++) + { + if (GameData.AvatarColors.Names[i] == color) + { + var id = GameData.AvatarColors.Ids[i]; + var index = Array.IndexOf(GameData.Avatars.Ids, id % 1000 + 10000000); + if (index >= 0) + yield return (id, GameData.Avatars.Names[index]); + } + } + } + + private IEnumerable<(int, string)> GetWeaponsByColor(string color) + { + for (int i = 0; i < GameData.WeaponColors.Count; i++) + { + if (GameData.WeaponColors.Names[i] == color) + { + var id = GameData.WeaponColors.Ids[i]; + var index = Array.IndexOf(GameData.Weapons.Ids, id); + if (index >= 0) + yield return (id, GameData.Weapons.Names[index]); + } + } + } + + private void InitItems(GachaBanner2 banner) + { + var f = banner.FallbackItems3 + .Concat(banner.FallbackItems4Pool1) + .Concat(banner.FallbackItems4Pool2) + .Concat(banner.FallbackItems5Pool1) + .Concat(banner.FallbackItems5Pool2) + .ToArray(); + foreach (ListViewItem item in ListFallbackItems.Items) + item.Checked = Array.IndexOf(f, int.Parse(item.Text)) >= 0; + + var u = banner.RateUpItems4.Concat(banner.RateUpItems5).ToArray(); + foreach (ListViewItem item in ListUpItems.Items) + item.Checked = Array.IndexOf(u, int.Parse(item.Text)) >= 0; } #endregion - 初始化 - @@ -107,12 +164,12 @@ namespace GrasscutterTools.Forms CmbPrefab.SelectedIndex = Array.IndexOf(GameData.GachaBannerPrefabs.Ids, prefabId); RbCostItem224.Checked = banner.CostItem == 224; RbCostItem223.Checked = banner.CostItem == 223; - NUDBeginTime.Value = banner.BeginTime; - NUDEndTime.Value = banner.EndTime; + DTPBeginTime.Value = DateTimeOffset.FromUnixTimeSeconds(banner.BeginTime).DateTime; + DTPEndTime.Value = DateTimeOffset.FromUnixTimeSeconds(banner.EndTime).DateTime; NUDSortId.Value = banner.SortId; NUDEventChance5.Value = banner.EventChance5; NUDEventChance4.Value = banner.EventChance4; - InitRateUpItems(banner); + InitItems(banner); } catch (Exception ex) { @@ -145,8 +202,8 @@ namespace GrasscutterTools.Forms PreviewPrefabPath = $"UI_Tab_GachaShowPanel_A{prefabId:000}", TitlePath = $"UI_GACHA_SHOW_PANEL_A{prefabId:000}_TITLE", CostItem = RbCostItem224.Checked ? 224 : 223, - BeginTime = (int)NUDBeginTime.Value, - EndTime = (int)NUDEndTime.Value, + BeginTime = (int)new DateTimeOffset(DTPBeginTime.Value).ToUnixTimeSeconds(), + EndTime = (int)new DateTimeOffset(DTPEndTime.Value).ToUnixTimeSeconds(), SortId = (int)NUDSortId.Value, EventChance5 = (int)NUDEventChance5.Value, EventChance4 = (int)NUDEventChance4.Value, diff --git a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.resx b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.resx index 9ad5654..be90562 100644 --- a/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.resx +++ b/Source/GrasscutterTools/Forms/FormGachaBannerEditor2.resx @@ -117,6 +117,59 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 302, 173 + + + 110, 23 + + + + 7 + + + DTPEndTime + + + System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpBannerValues + + + 0 + + + 112, 173 + + + 110, 23 + + + 6 + + + DTPBeginTime + + + System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpBannerValues + + + 1 + + + 112, 115 + + + 300, 25 + + + 3 + CmbPrefab @@ -127,7 +180,26 @@ GrpBannerValues - 0 + 2 + + + True + + + + NoControl + + + 371, 233 + + + 19, 17 + + + 89 + + + % LblEventChance4Tip @@ -139,343 +211,8 @@ GrpBannerValues - 1 - - - LblEventChance5Tip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 2 - - - NUDEventChance4 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - 3 - - NUDEventChance5 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 4 - - - LblGachaType - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 5 - - - LblEventChance4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 6 - - - LblEventChance5 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 7 - - - LblSortId - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 8 - - - NUDGachaType - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 9 - - - NUDSortId - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 10 - - - LblGachaTypeTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 11 - - - LblEndTime - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 12 - - - LblScheduleId - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 13 - - - LblBeginTime - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 14 - - - NUDScheduleId - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 15 - - - NUDEndTime - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 16 - - - LblScheduleIdTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 17 - - - NUDBeginTime - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 18 - - - CmbBannerType - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 19 - - - LblSortIdTip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 20 - - - LblBannerType - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 21 - - - RbCostItem224 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 22 - - - LblCostItem - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 23 - - - LblPrefabPath - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 24 - - - RbCostItem223 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 25 - - - - 12, 12 - - - 440, 268 - - - - 44 - - - 卡池参数 - - - GrpBannerValues - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 4 - - - 112, 115 - - - 300, 25 - - - 90 - - - CmbPrefab - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 0 - True @@ -501,7 +238,28 @@ GrpBannerValues - 2 + 4 + + + 302, 231 + + + 63, 23 + + + 10 + + + NUDEventChance4 + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpBannerValues + + + 5 112, 231 @@ -510,7 +268,7 @@ 63, 23 - 68 + 9 NUDEventChance5 @@ -522,7 +280,7 @@ GrpBannerValues - 4 + 6 True @@ -549,7 +307,37 @@ GrpBannerValues - 5 + 7 + + + True + + + NoControl + + + 221, 233 + + + 75, 17 + + + 88 + + + 4星活动爆率 + + + LblEventChance4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpBannerValues + + + 8 True @@ -576,7 +364,7 @@ GrpBannerValues - 7 + 9 True @@ -603,7 +391,7 @@ GrpBannerValues - 8 + 10 112, 26 @@ -612,7 +400,7 @@ 100, 23 - 47 + 0 NUDGachaType @@ -624,7 +412,7 @@ GrpBannerValues - 9 + 11 112, 202 @@ -633,7 +421,7 @@ 100, 23 - 64 + 8 NUDSortId @@ -645,7 +433,7 @@ GrpBannerValues - 10 + 12 True @@ -672,13 +460,13 @@ GrpBannerValues - 11 + 13 True - 218, 176 + 240, 176 56, 17 @@ -699,7 +487,7 @@ GrpBannerValues - 12 + 14 True @@ -726,7 +514,7 @@ GrpBannerValues - 13 + 15 True @@ -753,7 +541,7 @@ GrpBannerValues - 14 + 16 112, 55 @@ -762,7 +550,7 @@ 100, 23 - 49 + 1 NUDScheduleId @@ -774,28 +562,7 @@ GrpBannerValues - 15 - - - 280, 174 - - - 100, 23 - - - 62 - - - NUDEndTime - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 16 + 17 True @@ -822,27 +589,6 @@ GrpBannerValues - 17 - - - 112, 173 - - - 100, 23 - - - 60 - - - NUDBeginTime - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - 18 @@ -861,7 +607,7 @@ 300, 25 - 50 + 2 CmbBannerType @@ -939,7 +685,7 @@ 74, 21 - 57 + 4 相遇之缘 @@ -1020,7 +766,7 @@ 74, 21 - 58 + 5 纠缠之缘 @@ -1037,20 +783,67 @@ 25 - + + 12, 12 + + + 440, 268 + + + 44 + + + 卡池参数 + + + GrpBannerValues + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + Top, Bottom, Left, Right - - treeView1 + + ID - - System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 65 - + + Name + + + 110 + + + Fill + + + 3, 19 + + + 204, 283 + + + 0 + + + ListFallbackItems + + + System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + GrpPurplePool - + 0 @@ -1080,16 +873,40 @@ Top, Left, Right - - treeView2 + + ID - - System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 65 - + + Name + + + 110 + + + Fill + + + 3, 19 + + + 204, 208 + + + 0 + + + ListUpItems + + + System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + GrpYellowPool - + 0 @@ -1119,66 +936,6 @@ Top, Bottom, Right - - BtnGen - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpJson - - - 0 - - - TxtJson - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpJson - - - 1 - - - BtnParse - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpJson - - - 2 - - - 674, 12 - - - 300, 541 - - - 51 - - - Json - - - GrpJson - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 1 - Bottom, Left @@ -1260,140 +1017,35 @@ 2 - - Fill + + 674, 12 - - 3, 19 + + 300, 541 - - 204, 283 + + 51 - - 1 + + Json - - treeView1 + + GrpJson - - System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - GrpPurplePool + + $this - - 0 - - - Fill - - - 3, 19 - - - 204, 208 - - - 0 - - - treeView2 - - - System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpYellowPool - - - 0 - - - True - - - NoControl - - - 218, 233 - - - 75, 17 - - - 88 - - - 4星活动爆率 - - - LblEventChance4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 6 - - - 299, 231 - - - 63, 23 - - - 68 - - - NUDEventChance4 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - - 3 - - - True - - - NoControl - - - 368, 233 - - - 19, 17 - - - 89 - - - % - - - LblEventChance4Tip - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpBannerValues - - + 1 - 6, 103 + 165, 22 - 428, 158 + 269, 239 91 @@ -1413,84 +1065,30 @@ 1 - - 4, 26 - - - 3, 3, 3, 3 - - - 420, 45 - - - 0 - - - 5星爆率 - - - tabPage1 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 0 - - - 4, 26 - - - 3, 3, 3, 3 - - - 420, 45 - - - 1 - - - 4星爆率 - - - tabPage2 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 1 - - - 6, 22 - - - 428, 75 - - - 92 - - - tabControl1 - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - GrpWeights - - - 0 - Top, Bottom, Left + + 6, 22 + + + 153, 239 + + + 92 + + + ListBannerWeights + + + System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GrpWeights + + + 0 + 12, 286 @@ -1501,7 +1099,7 @@ 93 - 奖池爆率 + 卡池权重 GrpWeights @@ -1536,6 +1134,30 @@ 卡池编辑器 + + ColUpId + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ColUpName + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ColFallbackId + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ColFallbackName + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + FormGachaBannerEditor2 diff --git a/Source/GrasscutterTools/Game/Gacha/GachaBanner2.cs b/Source/GrasscutterTools/Game/Gacha/GachaBanner2.cs index 1bd944a..4a84d69 100644 --- a/Source/GrasscutterTools/Game/Gacha/GachaBanner2.cs +++ b/Source/GrasscutterTools/Game/Gacha/GachaBanner2.cs @@ -33,40 +33,40 @@ namespace GrasscutterTools.Game.Gacha /// 如果你想添加大量卡池,请按照每次增加固定数值的id进行添加,比如:411,412,413.... /// [JsonProperty("gachaType")] - public int GachaType { get; set; } + public int GachaType { get; set; } = 400; /// /// 这个id需要每个池子不一样,如果你想添加大量卡池, /// 请按照每次增加固定数值的id进行添加,比如:2100,2200,2300.... /// [JsonProperty("scheduleId")] - public int ScheduleId { get; set; } + public int ScheduleId { get; set; } = 800; /// /// 这个是卡池的预制路径id /// [JsonProperty("prefabPath")] - public string PrefabPath { get; set; } + public string PrefabPath { get; set; } = "GachaShowPanel_A007"; /// /// 这个是抽卡的预览背景路径id /// [JsonProperty("previewPrefabPath")] - public string PreviewPrefabPath { get; set; } + public string PreviewPrefabPath { get; set; } = "UI_Tab_GachaShowPanel_A007"; /// /// 这个是抽卡的标题路径id,有可能与之前两项的id不同 /// (一般这3项的id只需保持一致即可,就是A0xx,xx为同一id) /// [JsonProperty("titlePath")] - public string TitlePath { get; set; } + public string TitlePath { get; set; } = "UI_GACHA_SHOW_PANEL_A007_TITLE"; /// /// 这个表示祈愿用的道具,224是相遇之缘,223是纠缠之缘 - 选择一个作为该卡池的抽卡道具 /// (提示:请不要随便修改祈愿道具除了蓝球和粉球,有可能会引发bug,比如修改成摩拉抽卡可能导致卡住) /// [JsonProperty("costItem")] - public int CostItem { get; set; } + public int CostItem { get; set; } = 223; /// /// 开始时间(Unix时间戳) @@ -84,7 +84,7 @@ namespace GrasscutterTools.Game.Gacha /// 卡池顺序 /// [JsonProperty("sortId")] - public int SortId { get; set; } + public int SortId { get; set; } = 1000; /// /// 4星的up角色或物品 @@ -102,67 +102,67 @@ namespace GrasscutterTools.Game.Gacha /// 3星普通池 /// [JsonProperty("fallbackItems3")] - private int[] FallbackItems3 { get; set; } = { 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 }; + public int[] FallbackItems3 { get; set; } = { 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 }; /// /// 4星普通角色池 /// [JsonProperty("fallbackItems4Pool1")] - private int[] FallbackItems4Pool1 { get; set; } = { 1014, 1020, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 }; + public int[] FallbackItems4Pool1 { get; set; } = { 1014, 1020, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 }; /// /// 4星普通武器池 /// [JsonProperty("fallbackItems4Pool2")] - private int[] FallbackItems4Pool2 { get; set; } = { 11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405 }; + public int[] FallbackItems4Pool2 { get; set; } = { 11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405 }; /// /// 5星普通角色池 /// [JsonProperty("fallbackItems5Pool1")] - private int[] FallbackItems5Pool1 { get; set; } = { 1003, 1016, 1042, 1035, 1041 }; + public int[] FallbackItems5Pool1 { get; set; } = { 1003, 1016, 1042, 1035, 1041 }; /// /// 5星普通角色池 /// [JsonProperty("fallbackItems5Pool2")] - private int[] FallbackItems5Pool2 { get; set; } = { 11501, 11502, 12501, 12502, 13502, 13505, 14501, 14502, 15501, 15502 }; + public int[] FallbackItems5Pool2 { get; set; } = { 11501, 11502, 12501, 12502, 13502, 13505, 14501, 14502, 15501, 15502 }; /// /// 是否从奖池中移除玩家星座等级6级以上的角色 /// [JsonProperty("removeC6FromPool")] - private bool RemoveC6FromPool { get; set; } = false; + public bool RemoveC6FromPool { get; set; } = false; /// /// 自动从普通池中移除UP池物品或角色 /// [JsonProperty("autoStripRateUpFromFallback")] - private bool AutoStripRateUpFromFallback { get; set; } = true; + public bool AutoStripRateUpFromFallback { get; set; } = true; /// /// 4星权重 /// [JsonProperty("weights4")] - private int[,] Weights4 { get; set; } = { { 1, 510 }, { 8, 510 }, { 10, 10000 } }; + public int[,] Weights4 { get; set; } = { { 1, 510 }, { 8, 510 }, { 10, 10000 } }; /// /// 5星权重 /// [JsonProperty("weights5")] - private int[,] Weights5 { get; set; } = { { 1, 75 }, { 73, 150 }, { 90, 10000 } }; + public int[,] Weights5 { get; set; } = { { 1, 75 }, { 73, 150 }, { 90, 10000 } }; /// /// 4星平衡奖池权重(即中的是武器还是角色) /// [JsonProperty("poolBalanceWeights4")] - private int[,] PoolBalanceWeights4 { get; set; } = { { 1, 255 }, { 17, 255 }, { 21, 10455 } }; + public int[,] PoolBalanceWeights4 { get; set; } = { { 1, 255 }, { 17, 255 }, { 21, 10455 } }; /// /// 5星平衡奖池权重(即中的是武器还是角色) /// [JsonProperty("poolBalanceWeights5")] - private int[,] PoolBalanceWeights5 { get; set; } = { { 1, 30 }, { 147, 150 }, { 181, 10230 } }; + public int[,] PoolBalanceWeights5 { get; set; } = { { 1, 30 }, { 147, 150 }, { 181, 10230 } }; /// /// 4星事件概率(抽中后,摇1~100随机数,如果大于该值则抽中up池)