Compare commits
71 Commits
Author | SHA1 | Date | |
---|---|---|---|
1d8d199af7 | |||
c4e29dc000 | |||
72ec031f8a | |||
2300b8d5db | |||
7ec81ab146 | |||
cf3ffeb8c6 | |||
118a7fe0f1 | |||
005c68cc5b | |||
70f390c5d7 | |||
65de82a227 | |||
a2494b59f7 | |||
b05269712a | |||
740463f017 | |||
![]() |
30521d068e | ||
c7898401ce | |||
d169de9a9e | |||
74ddb428ee | |||
ba4837f1f8 | |||
cdf25f6b6f | |||
e630c53c9f | |||
db13f82bfc | |||
63ebaa5df8 | |||
7b886ea251 | |||
436c4d809c | |||
6ab7bac20b | |||
![]() |
7f852ffb8e | ||
69e68810ba | |||
a63f79230b | |||
3b01c62ed2 | |||
cdc69d23b9 | |||
92a15afabf | |||
277e265bf1 | |||
473163e7c6 | |||
f1eb40bb0d | |||
6c23915615 | |||
d0361c29aa | |||
9ee1239341 | |||
a2a74980bf | |||
01c7f7d528 | |||
a9c8a667ec | |||
bcfb23a8fb | |||
111a98a916 | |||
784163d816 | |||
ce2a6533f2 | |||
17275e194a | |||
9664c9f11d | |||
8b1e4a3d1a | |||
e7347a1a26 | |||
a4cf38dd71 | |||
c018b23913 | |||
0c003616cb | |||
7bfd6517a7 | |||
42e5c94601 | |||
cd25afe0c7 | |||
302e4e327d | |||
52317d8d5a | |||
757bb2dd95 | |||
3be6550593 | |||
![]() |
f79764dbb5 | ||
![]() |
61a598d7e3 | ||
dc61940e3c | |||
086c4da557 | |||
d79b50527e | |||
4a91e5a6bd | |||
8db5fd1efd | |||
![]() |
d22ba331d9 | ||
![]() |
cc20e81ebf | ||
0dac9051f7 | |||
![]() |
78106ee726 | ||
b708cff0cd | |||
aa075f5f91 |
BIN
Doc/Screenshots-en/17-ShopEditor.png
Normal file
After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 30 KiB |
BIN
Doc/Screenshots-ru/1-Home.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Doc/Screenshots-ru/10-Mail.png
Normal file
After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 20 KiB |
BIN
Doc/Screenshots-ru/11-Quests.png
Normal file
After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 42 KiB |
BIN
Doc/Screenshots-ru/12-Scenes.png
Normal file
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 22 KiB |
BIN
Doc/Screenshots-ru/13-Shop.png
Normal file
After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 57 KiB |
BIN
Doc/Screenshots-ru/14-Gachas.png
Normal file
After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 62 KiB |
BIN
Doc/Screenshots-ru/15-Drops.png
Normal file
After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 37 KiB |
BIN
Doc/Screenshots-ru/16-Textmaps.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 19 KiB |
BIN
Doc/Screenshots-ru/2-Opencommand.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
Doc/Screenshots-ru/3-Custom.png
Normal file
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 36 KiB |
BIN
Doc/Screenshots-ru/4-Artifacts.png
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 26 KiB |
BIN
Doc/Screenshots-ru/5-Spawn.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
Doc/Screenshots-ru/6-Give.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
Doc/Screenshots-ru/7-Character.png
Normal file
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 24 KiB |
BIN
Doc/Screenshots-ru/8-Weapons.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Doc/Screenshots-ru/9-Accounts.png
Normal file
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 30 KiB |
BIN
Doc/Screenshots/17-ShopEditor.png
Normal file
After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 42 KiB |
BIN
Doc/Screenshots/6.1-AttackMod.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
Doc/Screenshots/6.2-AttackInfuse.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
Doc/Screenshots/AttackMod.gif
Normal file
After Width: | Height: | Size: 3.6 MiB |
15
README.md
@@ -13,9 +13,22 @@ Please download the latest version from [Releases](https://github.com/jie65535/G
|
||||
|
||||
Support 简体中文, 繁体中文, English and Русский languages.
|
||||
|
||||
Welcome everyone to improve the [ID Resource](/Source/GrasscutterTools/Resources/en-us).
|
||||
> **Warning**: app look may be different rather than on screenshots. It may also contain translation errors and a lack of certain resources. **We're welcome everyone to contribute to their [improvement](/Source/GrasscutterTools/Resources/en-us)**
|
||||
|
||||
## Update log
|
||||
### GrasscutterTools-v1.7.3
|
||||

|
||||
|
||||
Added [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfusedWithItem](https://github.com/snoobi-seggs/AttackInfusedWithItem), [SwitchElementTraveller](https://github.com/Penelopeep/SwitchElementTraveller) plugins command generation
|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.2
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.1
|
||||
- Gadgets(CHS Only)
|
||||
|
||||
### GrasscutterTools-v1.7.0
|
||||
|
||||

|
||||
|
@@ -12,16 +12,29 @@
|
||||
|
||||
GCG поддерживает 简体中文 (китайский упр.), 繁体中文 (китайский трад.), English (английский) и Русский языки.
|
||||
|
||||
Приглашаем всех улучшить [ID ресурсов и перевод](/Source/GrasscutterTools/Resources/ru-ru)
|
||||
> **Warning**: вид приложения может отличаться от скриншотов. Также в нём могут присутствовать ошибки в переводе и отсутсвие некоторых ресурсов. **Мы приглашаем всех сделать вклад в их [улучшение](/Source/GrasscutterTools/Resources/ru-ru)**
|
||||
|
||||
## Лог обновлений
|
||||
### GrasscutterTools-v1.7.3
|
||||

|
||||
|
||||
Добавлена поддержка генерации команд для плагинов [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfusedWithItem](https://github.com/snoobi-seggs/AttackInfusedWithItem), [SwitchElementTraveller](https://github.com/Penelopeep/SwitchElementTraveller).
|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.2
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.1
|
||||
- Гаджеты (пока что только на китайском)
|
||||
|
||||
## Update log
|
||||
### GrasscutterTools-v1.7.0
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
## Удаленная команда (OpenCommand)
|
||||
|
||||
@@ -45,32 +58,34 @@ GCG поддерживает 简体中文 (китайский упр.), 繁体
|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
@@ -13,9 +13,27 @@
|
||||
|
||||
本工具支持 简体中文, 繁体中文, English 与 Русский 语言。
|
||||
|
||||
欢迎大家一起来完善工具的[内置资源](/Source/GrasscutterTools/Resources/zh-cn)。
|
||||
> **Warning**: 应用程序的外观可能与截图上的不同。它也可能包含翻译错误和缺乏某些资源。我们欢迎大家为他们的<a href="./Source/GrasscutterTools/Resources/zh-cn">改进</a>作出贡献。
|
||||
|
||||
## Update log
|
||||
|
||||
### GrasscutterTools-v1.7.3
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
新增[攻击修改](https://github.com/NotThorny/AttackModifier)、[攻击注入](https://github.com/snoobi-seggs/AttackInfusedWithItem)、[切换元素](https://github.com/Penelopeep/SwitchElementTraveller)等插件命令生成
|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.2
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.1
|
||||
- 增加了 Gadgets
|
||||
|
||||
### GrasscutterTools-v1.7.0
|
||||
|
||||

|
||||
|
@@ -49,6 +49,21 @@
|
||||
<setting name="DefaultMailSender" serializeAs="String">
|
||||
<value>GrasscutterTools</value>
|
||||
</setting>
|
||||
<setting name="ShopJsonPath" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="MainFormLocation" serializeAs="String">
|
||||
<value>0, 0</value>
|
||||
</setting>
|
||||
<setting name="MainFormSize" serializeAs="String">
|
||||
<value>0, 0</value>
|
||||
</setting>
|
||||
<setting name="BannersJsonPath" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="IsIncludeUID" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
</GrasscutterTools.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
@@ -1,186 +0,0 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Forms;
|
||||
|
||||
|
||||
namespace GrasscutterTools.Controls
|
||||
{
|
||||
[ToolboxItem(true)]
|
||||
public class TextBoxXP : TextBox
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 获得当前进程,以便重绘控件
|
||||
/// </summary>
|
||||
/// <param name="hWnd"></param>
|
||||
/// <returns></returns>
|
||||
[DllImport("user32.dll")]
|
||||
private static extern IntPtr GetWindowDC(IntPtr hWnd);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
private static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
|
||||
|
||||
private const int EM_SETCUEBANNER = 0x1501;
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto)]
|
||||
private static extern Int32 SendMessage
|
||||
(IntPtr hWnd, int msg, int wParam, [MarshalAs(UnmanagedType.LPWStr)] string lParam);
|
||||
|
||||
/// <summary>
|
||||
/// 水印文本
|
||||
/// </summary>
|
||||
private string _Watermark = "";
|
||||
|
||||
private float maximum;
|
||||
private float minimum;
|
||||
|
||||
#region 属性
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用热点效果
|
||||
/// </summary>
|
||||
[Category("外观")]
|
||||
[Browsable(true)]
|
||||
[Localizable(true)]
|
||||
[Description("获取或设置输入框水印文本")]
|
||||
[DefaultValue("")]
|
||||
public string Watermark
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._Watermark;
|
||||
}
|
||||
set
|
||||
{
|
||||
this._Watermark = value;
|
||||
SendMessage(Handle, EM_SETCUEBANNER, 0, _Watermark);
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否只能输入数字
|
||||
/// </summary>
|
||||
[Category("行为")]
|
||||
[Browsable(true)]
|
||||
[Description("获取或设置TextBox是否只允许输入数字")]
|
||||
[DefaultValue(false)]
|
||||
public bool DigitOnly { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 转为数值
|
||||
/// </summary>
|
||||
public float Number
|
||||
{
|
||||
get
|
||||
{
|
||||
if (float.TryParse(Text, out float value))
|
||||
return value;
|
||||
else
|
||||
return 0f;
|
||||
}
|
||||
}
|
||||
|
||||
[Category("数据")]
|
||||
[Browsable(true)]
|
||||
[DefaultValue(0)]
|
||||
[Description("指示小数点后位数")]
|
||||
public int DecimalPlaces { get; set; }
|
||||
|
||||
[Category("数据")]
|
||||
[Description("获取或设置限制的最大值")]
|
||||
public float Maximum
|
||||
{
|
||||
get
|
||||
{
|
||||
return maximum;
|
||||
}
|
||||
set
|
||||
{
|
||||
maximum = value;
|
||||
if (minimum > maximum)
|
||||
{
|
||||
minimum = maximum;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Category("数据")]
|
||||
[Browsable(true)]
|
||||
[Description("获取或设置限制的最小值")]
|
||||
public float Minimum
|
||||
{
|
||||
get
|
||||
{
|
||||
return minimum;
|
||||
}
|
||||
set
|
||||
{
|
||||
minimum = value;
|
||||
if (minimum > maximum)
|
||||
{
|
||||
maximum = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion 属性
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public TextBoxXP()
|
||||
: base()
|
||||
{
|
||||
//BorderStyle = BorderStyle.FixedSingle;
|
||||
//Font = Styles.StaticResources.DefaultFont;
|
||||
}
|
||||
|
||||
protected override void OnKeyPress(KeyPressEventArgs e)
|
||||
{
|
||||
base.OnKeyPress(e);
|
||||
// 如果只允许输入数字,则判断输入是否为退格或者数字
|
||||
if (DigitOnly)
|
||||
{
|
||||
//IsNumber:指定字符串中位于指定位置的字符是否属于数字类别
|
||||
//IsPunctuation:指定字符串中位于指定位置的字符是否属于标点符号类别
|
||||
//IsControl:指定字符串中位于指定位置的字符是否属于控制字符类别
|
||||
if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
|
||||
{
|
||||
e.Handled = true; //获取或设置一个值,指示是否处理过System.Windows.Forms.Control.KeyPress事件
|
||||
}
|
||||
else if (Char.IsPunctuation(e.KeyChar) && DecimalPlaces > 0)
|
||||
{
|
||||
if (e.KeyChar == '.')
|
||||
{
|
||||
if (Text.LastIndexOf('.') != -1)
|
||||
{
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnLeave(EventArgs e)
|
||||
{
|
||||
base.OnLeave(e);
|
||||
|
||||
if (DigitOnly)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(Text))
|
||||
{
|
||||
if (Number > Maximum)
|
||||
Text = Maximum.ToString("F" + DecimalPlaces);
|
||||
if (Number < Minimum)
|
||||
Text = Minimum.ToString("F" + DecimalPlaces);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using GrasscutterTools.DispatchServer.Model;
|
||||
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.DispatchServer.Model
|
||||
|
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
|
||||
<Costura />
|
||||
</Weavers>
|
@@ -1,4 +1,23 @@
|
||||
using System;
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
@@ -11,8 +30,6 @@ using GrasscutterTools.Utils;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
|
||||
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
public partial class FormDropEditor : Form
|
||||
@@ -52,9 +69,7 @@ namespace GrasscutterTools.Forms
|
||||
|
||||
Icon = Resources.IconGrasscutter;
|
||||
|
||||
Monsters = new string[GameData.Monsters.Lines.Length + GameData.Animals.Lines.Length];
|
||||
GameData.Monsters.Lines.CopyTo(Monsters, 0);
|
||||
GameData.Animals.Lines.CopyTo(Monsters, GameData.Monsters.Lines.Length);
|
||||
Monsters = GameData.Monsters.AllLines.ToArray();
|
||||
Array.Sort(Monsters);
|
||||
|
||||
ListMonsters.Items.AddRange(Monsters);
|
||||
@@ -84,7 +99,6 @@ namespace GrasscutterTools.Forms
|
||||
{
|
||||
// 保存文件路径
|
||||
Settings.Default.DropJsonPath = TxtDropJsonPath.Text;
|
||||
Settings.Default.Save();
|
||||
|
||||
base.OnFormClosed(e);
|
||||
}
|
||||
@@ -472,7 +486,6 @@ namespace GrasscutterTools.Forms
|
||||
dropList[i] = data;
|
||||
}
|
||||
|
||||
|
||||
#endregion - 掉落物列表 -
|
||||
|
||||
#region - 物品列表 -
|
||||
|
@@ -122,16 +122,16 @@
|
||||
<value>99, 17</value>
|
||||
</data>
|
||||
<data name="LblDropPathLabel.Text" xml:space="preserve">
|
||||
<value>Drop.json Путь:</value>
|
||||
<value>Путь до Drop.json:</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>Нагрузка</value>
|
||||
<value>Загрузить</value>
|
||||
</data>
|
||||
<data name="BtnSave.Text" xml:space="preserve">
|
||||
<value>Сохранять</value>
|
||||
<value>Сохранить</value>
|
||||
</data>
|
||||
<data name="GrpDropList.Text" xml:space="preserve">
|
||||
<value>Drop list</value>
|
||||
<value>Список дропа</value>
|
||||
</data>
|
||||
<data name="BtnCopyAll.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>94, 202</value>
|
||||
@@ -170,7 +170,7 @@
|
||||
<value>62, 17</value>
|
||||
</data>
|
||||
<data name="LblItemLabel.Text" xml:space="preserve">
|
||||
<value>предмет:</value>
|
||||
<value>Предмет:</value>
|
||||
</data>
|
||||
<data name="LblWeightLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>39, 17</value>
|
||||
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -99,25 +100,25 @@ namespace GrasscutterTools.Forms
|
||||
{
|
||||
try
|
||||
{
|
||||
NUDGachaType.Value = banner.GachaType;
|
||||
NUDScheduleId.Value = banner.ScheduleId;
|
||||
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))
|
||||
CmbPrefab.SelectedIndex = -1;
|
||||
else
|
||||
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;
|
||||
NUDSortId.Value = banner.SortId;
|
||||
TxtRateUpItems1.Text = string.Join(", ", banner.RateUpItems1);
|
||||
TxtRateUpItems2.Text = string.Join(", ", banner.RateUpItems2);
|
||||
NUDBaseYellowWeight.Value = banner.BaseYellowWeight * 0.01M;
|
||||
NUDBasePurpleWeight.Value = banner.BasePurpleWeight * 0.01M;
|
||||
NUDEventChance.Value = banner.EventChance;
|
||||
NUDSoftPity.Value = banner.SoftPity;
|
||||
NUDHardPity.Value = banner.HardPity;
|
||||
RbCostItem224.Checked = banner.CostItem == 224;
|
||||
RbCostItem223.Checked = banner.CostItem == 223;
|
||||
NUDBeginTime.Value = banner.BeginTime;
|
||||
NUDEndTime.Value = banner.EndTime;
|
||||
NUDSortId.Value = banner.SortId;
|
||||
TxtRateUpItems1.Text = string.Join(", ", banner.RateUpItems1);
|
||||
TxtRateUpItems2.Text = string.Join(", ", banner.RateUpItems2);
|
||||
NUDBaseYellowWeight.Value = banner.BaseYellowWeight * 0.01M;
|
||||
NUDBasePurpleWeight.Value = banner.BasePurpleWeight * 0.01M;
|
||||
NUDEventChance.Value = banner.EventChance;
|
||||
NUDSoftPity.Value = banner.SoftPity;
|
||||
NUDHardPity.Value = banner.HardPity;
|
||||
InitRateUpItems(banner);
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -155,23 +156,23 @@ namespace GrasscutterTools.Forms
|
||||
var prefabId = GameData.GachaBannerPrefabs.Ids[CmbPrefab.SelectedIndex];
|
||||
GachaBanner banner = new GachaBanner
|
||||
{
|
||||
GachaType = (int)NUDGachaType.Value,
|
||||
ScheduleId = (int)NUDScheduleId.Value,
|
||||
BannerType = (BannerType)CmbBannerType.SelectedIndex,
|
||||
PrefabPath = $"GachaShowPanel_A{prefabId:000}",
|
||||
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",
|
||||
CostItem = RbCostItem224.Checked ? 224 : 223,
|
||||
BeginTime = (int)NUDBeginTime.Value,
|
||||
EndTime = (int)NUDEndTime.Value,
|
||||
SortId = (int)NUDSortId.Value,
|
||||
RateUpItems1 = yellowIds,
|
||||
RateUpItems2 = purpleIds,
|
||||
BaseYellowWeight = (int)(NUDBaseYellowWeight.Value * 100),
|
||||
BasePurpleWeight = (int)(NUDBasePurpleWeight.Value * 100),
|
||||
EventChance = (int)NUDEventChance.Value,
|
||||
SoftPity = (int)NUDSoftPity.Value,
|
||||
HardPity = (int)NUDHardPity.Value
|
||||
TitlePath = $"UI_GACHA_SHOW_PANEL_A{prefabId:000}_TITLE",
|
||||
CostItem = RbCostItem224.Checked ? 224 : 223,
|
||||
BeginTime = (int)NUDBeginTime.Value,
|
||||
EndTime = (int)NUDEndTime.Value,
|
||||
SortId = (int)NUDSortId.Value,
|
||||
RateUpItems1 = yellowIds,
|
||||
RateUpItems2 = purpleIds,
|
||||
BaseYellowWeight = (int)(NUDBaseYellowWeight.Value * 100),
|
||||
BasePurpleWeight = (int)(NUDBasePurpleWeight.Value * 100),
|
||||
EventChance = (int)NUDEventChance.Value,
|
||||
SoftPity = (int)NUDSoftPity.Value,
|
||||
HardPity = (int)NUDHardPity.Value
|
||||
};
|
||||
return banner;
|
||||
}
|
||||
|
@@ -377,8 +377,7 @@ namespace GrasscutterTools.Forms
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups1"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups2"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups3"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups4"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups5")))});
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups4")))});
|
||||
this.ListFallbackItems.HideSelection = false;
|
||||
this.ListFallbackItems.Name = "ListFallbackItems";
|
||||
this.ListFallbackItems.UseCompatibleStateImageBehavior = false;
|
||||
|
@@ -22,7 +22,6 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
|
||||
using GrasscutterTools.Game;
|
||||
using GrasscutterTools.Game.Gacha;
|
||||
@@ -72,16 +71,13 @@ namespace GrasscutterTools.Forms
|
||||
ListFallbackItems.BeginUpdate();
|
||||
var a5 = ListFallbackItems.Groups["GroupA5"];
|
||||
var a4 = ListFallbackItems.Groups["GroupA4"];
|
||||
var a3 = ListFallbackItems.Groups["GroupA3"];
|
||||
var w5 = ListFallbackItems.Groups["GroupW5"];
|
||||
var w4 = ListFallbackItems.Groups["GroupW4"];
|
||||
var w3 = ListFallbackItems.Groups["GroupW3"];
|
||||
var avatars = GetAvatarsByColor("yellow")
|
||||
var avatars = GetAvatarsByColor("5")
|
||||
.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 }));
|
||||
.Concat(GetAvatarsByColor("4")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a4) { ForeColor = Color.Purple }));
|
||||
var weapons = GetWeaponsByColor("yellow")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, w5) { ForeColor = Color.OrangeRed })
|
||||
.Concat(GetWeaponsByColor("purple")
|
||||
@@ -96,9 +92,9 @@ namespace GrasscutterTools.Forms
|
||||
var ua4 = ListUpItems.Groups["GroupUpA4"];
|
||||
var uw5 = ListUpItems.Groups["GroupUpW5"];
|
||||
var uw4 = ListUpItems.Groups["GroupUpW4"];
|
||||
var upAvatars = GetAvatarsByColor("yellow")
|
||||
var upAvatars = GetAvatarsByColor("5")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, ua5) { ForeColor = Color.OrangeRed })
|
||||
.Concat(GetAvatarsByColor("purple")
|
||||
.Concat(GetAvatarsByColor("4")
|
||||
.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 })
|
||||
@@ -304,7 +300,7 @@ namespace GrasscutterTools.Forms
|
||||
{
|
||||
var json = JsonConvert.SerializeObject(banner);
|
||||
json = json.Replace(",\"", ",\r\n \"").Insert(1, "\r\n ");
|
||||
TxtJson.Text = json.Insert(json.Length-1, "\r\n");
|
||||
TxtJson.Text = json.Insert(json.Length - 1, "\r\n");
|
||||
ShowBanner(banner);
|
||||
}
|
||||
}
|
||||
|
@@ -303,16 +303,6 @@
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups4" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA0zLXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups5" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
|
@@ -131,21 +131,12 @@
|
||||
<data name="BtnGen.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Left</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 4, 3, 4</value>
|
||||
</data>
|
||||
<data name="LblBannerType.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>RbCostItem223.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="GrpJson.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>GrpWeights.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name=">>ChkRemoveC6FormPool.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
@@ -231,9 +222,6 @@
|
||||
<data name=">>ColUpName.Name" xml:space="preserve">
|
||||
<value>ColUpName</value>
|
||||
</data>
|
||||
<data name="DTPEndTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>302, 173</value>
|
||||
</data>
|
||||
<data name=">>ChkAutoStripRateUpFromFallback.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
</data>
|
||||
@@ -246,6 +234,9 @@
|
||||
<data name=">>GrpBannerValues.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="LblEventChance5Tip.Text" xml:space="preserve">
|
||||
<value>%</value>
|
||||
</data>
|
||||
<data name="LblCostItem.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
@@ -280,6 +271,9 @@
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>LblGachaType.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
@@ -316,15 +310,8 @@
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups5" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAoz5pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws=
|
||||
</value>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>217, 260</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items1" xml:space="preserve">
|
||||
<value>限时角色祈愿池</value>
|
||||
@@ -359,15 +346,9 @@
|
||||
<data name=">>LblEventChance4Tip.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Text" xml:space="preserve">
|
||||
<value>祈愿道具</value>
|
||||
</data>
|
||||
<data name=">>TxtPoolWeight5.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="TxtPoolWeight4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 23</value>
|
||||
</data>
|
||||
@@ -377,9 +358,6 @@
|
||||
<data name=">>NUDEventChance4.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>402, 0</value>
|
||||
</data>
|
||||
<data name="LblEventChance4Tip.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>89</value>
|
||||
</data>
|
||||
@@ -410,11 +388,14 @@
|
||||
<data name="GrpUpPool.Text" xml:space="preserve">
|
||||
<value>UP池</value>
|
||||
</data>
|
||||
<data name="TxtWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 23</value>
|
||||
</data>
|
||||
<data name="BtnParse.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="DTPBeginTime.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
<data name=">>LblOptions.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>74, 21</value>
|
||||
@@ -431,8 +412,8 @@
|
||||
<data name="BtnParse.Text" xml:space="preserve">
|
||||
<value>解析Json</value>
|
||||
</data>
|
||||
<data name=">>LblPoolWeight4.Parent" xml:space="preserve">
|
||||
<value>GrpBalance</value>
|
||||
<data name="LblScheduleId.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>53</value>
|
||||
</data>
|
||||
<data name=">>LblWeight4.Parent" xml:space="preserve">
|
||||
<value>GrpWeights</value>
|
||||
@@ -455,12 +436,12 @@
|
||||
<data name=">>BtnParse.Parent" xml:space="preserve">
|
||||
<value>GrpJson</value>
|
||||
</data>
|
||||
<data name=">>GrpFallbackPool.Name" xml:space="preserve">
|
||||
<value>GrpFallbackPool</value>
|
||||
</data>
|
||||
<data name=">>GrpBalance.Name" xml:space="preserve">
|
||||
<value>GrpBalance</value>
|
||||
</data>
|
||||
<data name=">>LblWeight5.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>LblEventChance5Tip.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
</data>
|
||||
@@ -470,8 +451,8 @@
|
||||
<data name="TxtJson.WordWrap" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>NUDScheduleId.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name="CmbPrefab.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 115</value>
|
||||
</data>
|
||||
<data name="LblWeight4.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -524,8 +505,11 @@
|
||||
<data name=">>NUDSortId.Name" xml:space="preserve">
|
||||
<value>NUDSortId</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
<data name=">>LblEventChance5Tip.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>TxtPoolWeight5.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
@@ -563,14 +547,11 @@
|
||||
<data name="LnkWeightHelp.Text" xml:space="preserve">
|
||||
<value>帮助</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>74, 118</value>
|
||||
</data>
|
||||
<data name=">>ColFallbackId.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="LblScheduleIdTip.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
<data name=">>TxtWeight4.Name" xml:space="preserve">
|
||||
<value>TxtWeight4</value>
|
||||
</data>
|
||||
<data name=">>ChartWeights.Name" xml:space="preserve">
|
||||
<value>ChartWeights</value>
|
||||
@@ -596,6 +577,9 @@
|
||||
<data name="ChartWeights.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 19</value>
|
||||
</data>
|
||||
<data name="ColFallbackName.Width" type="System.Int32, mscorlib">
|
||||
<value>110</value>
|
||||
</data>
|
||||
<data name=">>CmbPrefab.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
@@ -617,9 +601,6 @@
|
||||
<data name="LblScheduleId.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>LblPrefabPath.Name" xml:space="preserve">
|
||||
<value>LblPrefabPath</value>
|
||||
</data>
|
||||
<data name="GrpFallbackPool.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>458, 248</value>
|
||||
</data>
|
||||
@@ -632,8 +613,8 @@
|
||||
<data name=">>LblPrefabPath.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>LblBeginTime.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name="ChkRemoveC6FormPool.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 260</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Text" xml:space="preserve">
|
||||
<value>客户端中显示的顺序</value>
|
||||
@@ -647,11 +628,14 @@
|
||||
<data name="LblGachaTypeTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>125, 17</value>
|
||||
</data>
|
||||
<data name=">>NUDScheduleId.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
</data>
|
||||
<data name="CmbPrefab.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name=">>LblWeight5.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<data name=">>GrpWeights.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name=">>ListFallbackItems.Name" xml:space="preserve">
|
||||
<value>ListFallbackItems</value>
|
||||
@@ -662,6 +646,12 @@
|
||||
<data name="LnkOpenOldEditor.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 309</value>
|
||||
</data>
|
||||
<data name=">>LblEndTime.Name" xml:space="preserve">
|
||||
<value>LblEndTime</value>
|
||||
</data>
|
||||
<data name="GrpWeightChart.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="LblBannerType.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>59</value>
|
||||
</data>
|
||||
@@ -677,6 +667,12 @@
|
||||
<data name=">>LnkWeightHelp.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>ListUpItems.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>CmbBannerType.ZOrder" xml:space="preserve">
|
||||
<value>23</value>
|
||||
</data>
|
||||
<data name=">>LblSortId.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
</data>
|
||||
@@ -746,16 +742,19 @@
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAoz5pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBMws=
|
||||
AwAAAAoz5pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name=">>TxtPoolWeight5.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>GrpBalance.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="NUDScheduleId.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>LblBannerType.ZOrder" xml:space="preserve">
|
||||
<value>25</value>
|
||||
</data>
|
||||
@@ -771,6 +770,9 @@
|
||||
<data name=">>RbCostItem223.Name" xml:space="preserve">
|
||||
<value>RbCostItem223</value>
|
||||
</data>
|
||||
<data name="LblEventChance5Tip.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>181, 233</value>
|
||||
</data>
|
||||
<data name=">>LblEndTime.ZOrder" xml:space="preserve">
|
||||
<value>18</value>
|
||||
</data>
|
||||
@@ -789,15 +791,8 @@
|
||||
<data name="GrpFallbackPool.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>210, 305</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo15pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw==
|
||||
</value>
|
||||
<data name=">>LblEventChance4.Name" xml:space="preserve">
|
||||
<value>LblEventChance4</value>
|
||||
</data>
|
||||
<data name="NUDEventChance4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>302, 231</value>
|
||||
@@ -850,12 +845,12 @@
|
||||
<data name="GrpBannerValues.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>ListFallbackItems.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>LnkOpenOldEditor.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Text" xml:space="preserve">
|
||||
<value>5星池权重</value>
|
||||
</data>
|
||||
<data name=">>NUDGachaType.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
</data>
|
||||
@@ -898,9 +893,6 @@
|
||||
<data name=">>LblScheduleId.ZOrder" xml:space="preserve">
|
||||
<value>19</value>
|
||||
</data>
|
||||
<data name=">>LblWeight5.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>LblScheduleId.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
@@ -910,9 +902,15 @@
|
||||
<data name="GrpFallbackPool.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="DTPBeginTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>110, 23</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Text" xml:space="preserve">
|
||||
<value>打开旧版本编辑器</value>
|
||||
</data>
|
||||
<data name=">>NUDSortId.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
@@ -925,12 +923,19 @@
|
||||
<data name=">>LnkOpenOldEditor.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo15pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="CmbPrefab.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 115</value>
|
||||
</data>
|
||||
<data name="NUDSortId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 202</value>
|
||||
</data>
|
||||
@@ -958,18 +963,12 @@
|
||||
<data name="LnkWeightHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 17</value>
|
||||
</data>
|
||||
<data name=">>BtnParse.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="TxtJson.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="BtnGen.Text" xml:space="preserve">
|
||||
<value>生成Json</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Text" xml:space="preserve">
|
||||
<value>4星活动爆率</value>
|
||||
</data>
|
||||
<data name=">>TxtJson.Name" xml:space="preserve">
|
||||
<value>TxtJson</value>
|
||||
</data>
|
||||
@@ -979,8 +978,8 @@
|
||||
<data name="GrpWeightChart.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>674, 248</value>
|
||||
</data>
|
||||
<data name=">>LblEventChance5Tip.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<data name=">>TxtPoolWeight5.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>LblPrefabPath.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
@@ -994,11 +993,11 @@
|
||||
<data name=">>NUDScheduleId.ZOrder" xml:space="preserve">
|
||||
<value>21</value>
|
||||
</data>
|
||||
<data name="NUDGachaType.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
<data name=">>LblPoolWeight4.Parent" xml:space="preserve">
|
||||
<value>GrpBalance</value>
|
||||
</data>
|
||||
<data name=">>BtnGen.Parent" xml:space="preserve">
|
||||
<value>GrpJson</value>
|
||||
<data name="LblPrefabPath.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>61</value>
|
||||
</data>
|
||||
<data name="NUDScheduleId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 55</value>
|
||||
@@ -1009,8 +1008,8 @@
|
||||
<data name=">>LblScheduleIdTip.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>TxtWeight4.Name" xml:space="preserve">
|
||||
<value>TxtWeight4</value>
|
||||
<data name="LblScheduleIdTip.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>LblEventChance4.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
@@ -1048,9 +1047,6 @@
|
||||
<data name=">>RbCostItem224.Name" xml:space="preserve">
|
||||
<value>RbCostItem224</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 17</value>
|
||||
</data>
|
||||
<data name=">>TxtJson.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
@@ -1063,9 +1059,6 @@
|
||||
<data name="ChartWeights.Text" xml:space="preserve">
|
||||
<value>chart1</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>50, 176</value>
|
||||
</data>
|
||||
<data name="GrpJson.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>674, 12</value>
|
||||
</data>
|
||||
@@ -1123,9 +1116,6 @@
|
||||
<data name="LblPrefabPath.Text" xml:space="preserve">
|
||||
<value>预制</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>217, 260</value>
|
||||
</data>
|
||||
<data name=">>GrpBalance.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
@@ -1162,12 +1152,15 @@
|
||||
<data name=">>GrpWeightChart.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="LblEventChance5Tip.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>181, 233</value>
|
||||
<data name="LblBeginTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>50, 176</value>
|
||||
</data>
|
||||
<data name=">>LblEventChance4.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>56, 17</value>
|
||||
</data>
|
||||
<data name="ColFallbackId.Text" xml:space="preserve">
|
||||
<value>ID</value>
|
||||
</data>
|
||||
@@ -1198,11 +1191,14 @@
|
||||
<data name=">>GrpBalance.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>50, 148</value>
|
||||
</data>
|
||||
<data name=">>TxtJson.Parent" xml:space="preserve">
|
||||
<value>GrpJson</value>
|
||||
</data>
|
||||
<data name=">>LblEndTime.Name" xml:space="preserve">
|
||||
<value>LblEndTime</value>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 4, 3, 4</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -1213,14 +1209,17 @@
|
||||
<data name="LblCostItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>56, 17</value>
|
||||
</data>
|
||||
<data name=">>NUDScheduleId.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>TxtWeight4.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>ListUpItems.Parent" xml:space="preserve">
|
||||
<value>GrpUpPool</value>
|
||||
</data>
|
||||
<data name=">>ListUpItems.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name="LblPoolWeight5.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 84</value>
|
||||
@@ -1231,14 +1230,14 @@
|
||||
<data name=">>GrpUpPool.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>LnkWeightHelp.Parent" xml:space="preserve">
|
||||
<value>GrpWeights</value>
|
||||
<data name="LblEventChance4.Text" xml:space="preserve">
|
||||
<value>4星活动爆率</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="ColFallbackName.Width" type="System.Int32, mscorlib">
|
||||
<value>110</value>
|
||||
<data name="DTPEndTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>302, 173</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>151, 21</value>
|
||||
@@ -1255,15 +1254,9 @@
|
||||
<data name="NUDGachaType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 26</value>
|
||||
</data>
|
||||
<data name=">>RbCostItem224.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="TxtPoolWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 23</value>
|
||||
</data>
|
||||
<data name="ColUpName.Width" type="System.Int32, mscorlib">
|
||||
<value>110</value>
|
||||
</data>
|
||||
<data name=">>DTPBeginTime.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
</data>
|
||||
@@ -1273,11 +1266,8 @@
|
||||
<data name="LblScheduleId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>72, 17</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>FormGachaBannerEditor2</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>56, 17</value>
|
||||
<data name=">>RbCostItem224.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="GrpBalance.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
@@ -1288,9 +1278,6 @@
|
||||
<data name=">>GrpUpPool.Name" xml:space="preserve">
|
||||
<value>GrpUpPool</value>
|
||||
</data>
|
||||
<data name=">>LnkWeightHelp.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>微软雅黑, 9pt</value>
|
||||
</data>
|
||||
@@ -1309,9 +1296,6 @@
|
||||
<data name=">>LblGachaTypeTip.Name" xml:space="preserve">
|
||||
<value>LblGachaTypeTip</value>
|
||||
</data>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1200, 600</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>218, 28</value>
|
||||
</data>
|
||||
@@ -1324,9 +1308,6 @@
|
||||
<data name="BtnGen.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 201</value>
|
||||
</data>
|
||||
<data name=">>TxtPoolWeight5.Name" xml:space="preserve">
|
||||
<value>TxtPoolWeight5</value>
|
||||
</data>
|
||||
<data name="LblScheduleIdTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>69, 17</value>
|
||||
</data>
|
||||
@@ -1342,8 +1323,8 @@
|
||||
<data name="TxtWeight5.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="ListUpItems.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
<data name=">>BtnGen.Parent" xml:space="preserve">
|
||||
<value>GrpJson</value>
|
||||
</data>
|
||||
<data name=">>LblGachaType.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
@@ -1375,8 +1356,8 @@
|
||||
<data name=">>TxtWeight4.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Text" xml:space="preserve">
|
||||
<value>打开旧版本编辑器</value>
|
||||
<data name="LblPoolWeight5.Text" xml:space="preserve">
|
||||
<value>5星池权重</value>
|
||||
</data>
|
||||
<data name=">>LblPoolWeight4.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
@@ -1390,12 +1371,12 @@
|
||||
<data name="LblEventChance5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 17</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>63, 17</value>
|
||||
</data>
|
||||
<data name="BtnParse.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Right</value>
|
||||
</data>
|
||||
<data name=">>LblOptions.Name" xml:space="preserve">
|
||||
<value>LblOptions</value>
|
||||
</data>
|
||||
<data name=">>LblWeight5.Name" xml:space="preserve">
|
||||
<value>LblWeight5</value>
|
||||
</data>
|
||||
@@ -1405,20 +1386,23 @@
|
||||
<data name="CmbBannerType.Items2" xml:space="preserve">
|
||||
<value>限时武器祈愿池</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
<data name=">>GrpFallbackPool.Name" xml:space="preserve">
|
||||
<value>GrpFallbackPool</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>56, 17</value>
|
||||
</data>
|
||||
<data name="NUDGachaType.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>GrpWeightChart.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>LblEventChance5.ZOrder" xml:space="preserve">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name=">>LblOptions.Name" xml:space="preserve">
|
||||
<value>LblOptions</value>
|
||||
<data name="LblPrefabPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>74, 118</value>
|
||||
</data>
|
||||
<data name=">>CmbBannerType.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
@@ -1432,8 +1416,8 @@
|
||||
<data name="LblSortId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>74, 204</value>
|
||||
</data>
|
||||
<data name="GrpWeightChart.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
<data name=">>LblPrefabPath.Name" xml:space="preserve">
|
||||
<value>LblPrefabPath</value>
|
||||
</data>
|
||||
<data name=">>GrpUpPool.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
@@ -1462,8 +1446,8 @@
|
||||
<data name=">>LblPoolWeight4.Name" xml:space="preserve">
|
||||
<value>LblPoolWeight4</value>
|
||||
</data>
|
||||
<data name="TxtWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 23</value>
|
||||
<data name="LblPrefabPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 17</value>
|
||||
</data>
|
||||
<data name="ChartWeights.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>494, 280</value>
|
||||
@@ -1477,8 +1461,8 @@
|
||||
<data name="LblWeight5.Text" xml:space="preserve">
|
||||
<value>5星权重</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>61</value>
|
||||
<data name=">>LblBeginTime.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>92</value>
|
||||
@@ -1486,8 +1470,8 @@
|
||||
<data name=">>LblGachaTypeTip.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="LblEventChance5Tip.Text" xml:space="preserve">
|
||||
<value>%</value>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1200, 600</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>31, 233</value>
|
||||
@@ -1501,11 +1485,17 @@
|
||||
<data name="LblSortId.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>75</value>
|
||||
</data>
|
||||
<data name=">>LblBannerType.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="DTPBeginTime.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>ChkAutoStripRateUpFromFallback.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name=">>LnkWeightHelp.Parent" xml:space="preserve">
|
||||
<value>GrpWeights</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>221, 233</value>
|
||||
@@ -1516,8 +1506,8 @@
|
||||
<data name="LblGachaType.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>48</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>50, 148</value>
|
||||
<data name=">>LblWeight5.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>RbCostItem223.ZOrder" xml:space="preserve">
|
||||
<value>29</value>
|
||||
@@ -1525,6 +1515,9 @@
|
||||
<data name=">>LblWeight5.Parent" xml:space="preserve">
|
||||
<value>GrpWeights</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>GrpFallbackPool.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
@@ -1534,17 +1527,17 @@
|
||||
<data name=">>NUDScheduleId.Name" xml:space="preserve">
|
||||
<value>NUDScheduleId</value>
|
||||
</data>
|
||||
<data name="NUDScheduleId.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
<data name="ColUpName.Width" type="System.Int32, mscorlib">
|
||||
<value>110</value>
|
||||
</data>
|
||||
<data name=">>LblBannerType.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>FormGachaBannerEditor2</value>
|
||||
</data>
|
||||
<data name=">>ChkAutoStripRateUpFromFallback.Name" xml:space="preserve">
|
||||
<value>ChkAutoStripRateUpFromFallback</value>
|
||||
</data>
|
||||
<data name=">>ListFallbackItems.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<data name="GrpJson.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>192, 146</value>
|
||||
@@ -1573,8 +1566,8 @@
|
||||
<data name="LblPoolWeight4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>63, 17</value>
|
||||
</data>
|
||||
<data name="ChkRemoveC6FormPool.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 260</value>
|
||||
<data name=">>TxtPoolWeight5.Name" xml:space="preserve">
|
||||
<value>TxtPoolWeight5</value>
|
||||
</data>
|
||||
<data name="GrpWeightChart.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
@@ -1588,23 +1581,20 @@
|
||||
<data name=">>CmbPrefab.Name" xml:space="preserve">
|
||||
<value>CmbPrefab</value>
|
||||
</data>
|
||||
<data name=">>LblOptions.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
</data>
|
||||
<data name="GrpBannerValues.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 12</value>
|
||||
</data>
|
||||
<data name=">>NUDScheduleId.Parent" xml:space="preserve">
|
||||
<value>GrpBannerValues</value>
|
||||
<data name="LblPoolWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>63, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Text" xml:space="preserve">
|
||||
<value>ScheduleId</value>
|
||||
</data>
|
||||
<data name=">>LblEventChance4.Name" xml:space="preserve">
|
||||
<value>LblEventChance4</value>
|
||||
<data name=">>LnkWeightHelp.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>53</value>
|
||||
<data name="LnkWeightHelp.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>402, 0</value>
|
||||
</data>
|
||||
<data name="LblCostItem.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>80</value>
|
||||
@@ -1621,8 +1611,8 @@
|
||||
<data name=">>LblPoolWeight4.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>CmbBannerType.ZOrder" xml:space="preserve">
|
||||
<value>23</value>
|
||||
<data name=">>BtnParse.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 19</value>
|
||||
|
@@ -283,9 +283,6 @@
|
||||
<data name="GrpBannerValues.Text" xml:space="preserve">
|
||||
<value>Баннер</value>
|
||||
</data>
|
||||
<data name="GrpFallbackPool.Text" xml:space="preserve">
|
||||
<value>Запасной Пул</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
@@ -327,16 +324,6 @@
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups4" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA0zLXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups5" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
@@ -346,8 +333,8 @@
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpUpPool.Text" xml:space="preserve">
|
||||
<value>Верхний Пул</value>
|
||||
<data name="GrpFallbackPool.Text" xml:space="preserve">
|
||||
<value>Запасной Пул</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
@@ -389,6 +376,9 @@
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpUpPool.Text" xml:space="preserve">
|
||||
<value>Верхний Пул</value>
|
||||
</data>
|
||||
<data name="BtnGen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>85, 23</value>
|
||||
</data>
|
||||
@@ -404,9 +394,6 @@
|
||||
<data name="BtnParse.Text" xml:space="preserve">
|
||||
<value>Загр. Json</value>
|
||||
</data>
|
||||
<data name="GrpWeights.Text" xml:space="preserve">
|
||||
<value>Gacha Веса</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>375, 0</value>
|
||||
</data>
|
||||
@@ -434,8 +421,8 @@
|
||||
<data name="LblWeight5.Text" xml:space="preserve">
|
||||
<value>Веса 5*</value>
|
||||
</data>
|
||||
<data name="GrpBalance.Text" xml:space="preserve">
|
||||
<value>Баланс персонажа и оружия (работают только смешанные пулы)</value>
|
||||
<data name="GrpWeights.Text" xml:space="preserve">
|
||||
<value>Gacha Веса</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>28, 61</value>
|
||||
@@ -455,6 +442,9 @@
|
||||
<data name="LblPoolWeight5.Text" xml:space="preserve">
|
||||
<value>Пул Веса 5*</value>
|
||||
</data>
|
||||
<data name="GrpBalance.Text" xml:space="preserve">
|
||||
<value>Баланс персонажа и оружия (работают только смешанные пулы)</value>
|
||||
</data>
|
||||
<data name="GrpWeightChart.Text" xml:space="preserve">
|
||||
<value>Таблица веса</value>
|
||||
</data>
|
||||
|
@@ -165,6 +165,9 @@
|
||||
<data name="GrpBannerValues.Text" xml:space="preserve">
|
||||
<value>卡池參數</value>
|
||||
</data>
|
||||
<data name="GrpFallbackPool.Text" xml:space="preserve">
|
||||
<value>基礎池</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
@@ -211,23 +214,10 @@
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAoz5pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups5" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAoz5pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
AwAAAAoz5pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpFallbackPool.Text" xml:space="preserve">
|
||||
<value>基礎池</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
@@ -268,6 +258,9 @@
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpWeights.Text" xml:space="preserve">
|
||||
<value>卡池權重與保底機制</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Text" xml:space="preserve">
|
||||
<value>幫助</value>
|
||||
</data>
|
||||
@@ -277,8 +270,8 @@
|
||||
<data name="LblWeight5.Text" xml:space="preserve">
|
||||
<value>5星權重</value>
|
||||
</data>
|
||||
<data name="GrpWeights.Text" xml:space="preserve">
|
||||
<value>卡池權重與保底機制</value>
|
||||
<data name="GrpBalance.Text" xml:space="preserve">
|
||||
<value>角色和武器平衡機制(僅混合池有效)</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Text" xml:space="preserve">
|
||||
<value>4星池權重</value>
|
||||
@@ -286,9 +279,6 @@
|
||||
<data name="LblPoolWeight5.Text" xml:space="preserve">
|
||||
<value>5星池權重</value>
|
||||
</data>
|
||||
<data name="GrpBalance.Text" xml:space="preserve">
|
||||
<value>角色和武器平衡機制(僅混合池有效)</value>
|
||||
</data>
|
||||
<data name="GrpWeightChart.Text" xml:space="preserve">
|
||||
<value>權重圖表</value>
|
||||
</data>
|
||||
|
771
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.Designer.cs
generated
Normal file
@@ -0,0 +1,771 @@
|
||||
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
partial class FormGachaBannersEditor3
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormGachaBannersEditor3));
|
||||
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
|
||||
System.Windows.Forms.DataVisualization.Charting.Legend legend9 = new System.Windows.Forms.DataVisualization.Charting.Legend();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series17 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series18 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
this.GrpBannerValues = new System.Windows.Forms.GroupBox();
|
||||
this.BtnAddOrUpdate = new System.Windows.Forms.Button();
|
||||
this.CmbTitlePath = new System.Windows.Forms.ComboBox();
|
||||
this.LblTitlePath = new System.Windows.Forms.Label();
|
||||
this.NUDCostItemAmount10 = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblCostItemAmount10 = new System.Windows.Forms.Label();
|
||||
this.NUDCostItemAmount1 = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblCostItemAmount1 = new System.Windows.Forms.Label();
|
||||
this.ChkAutoStripRateUpFromFallback = new System.Windows.Forms.CheckBox();
|
||||
this.LblOptions = new System.Windows.Forms.Label();
|
||||
this.ChkRemoveC6FormPool = new System.Windows.Forms.CheckBox();
|
||||
this.LnkOpenOldEditor = new System.Windows.Forms.LinkLabel();
|
||||
this.DTPEndTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.DTPBeginTime = new System.Windows.Forms.DateTimePicker();
|
||||
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();
|
||||
this.NUDSortId = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblGachaTypeTip = new System.Windows.Forms.Label();
|
||||
this.LblEndTime = new System.Windows.Forms.Label();
|
||||
this.LblScheduleId = new System.Windows.Forms.Label();
|
||||
this.LblBeginTime = new System.Windows.Forms.Label();
|
||||
this.NUDScheduleId = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblScheduleIdTip = new System.Windows.Forms.Label();
|
||||
this.CmbBannerType = new System.Windows.Forms.ComboBox();
|
||||
this.LblSortIdTip = new System.Windows.Forms.Label();
|
||||
this.LblBannerType = new System.Windows.Forms.Label();
|
||||
this.RbCostItem224 = new System.Windows.Forms.RadioButton();
|
||||
this.LblCostItem = new System.Windows.Forms.Label();
|
||||
this.LblPrefabPath = new System.Windows.Forms.Label();
|
||||
this.RbCostItem223 = new System.Windows.Forms.RadioButton();
|
||||
this.GrpFallbackPool = new System.Windows.Forms.GroupBox();
|
||||
this.ListFallbackItems = new System.Windows.Forms.ListView();
|
||||
this.ColFallbackId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColFallbackName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.GrpUpPool = new System.Windows.Forms.GroupBox();
|
||||
this.ListUpItems = 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.GrpWeights = new System.Windows.Forms.GroupBox();
|
||||
this.LnkWeightHelp = new System.Windows.Forms.LinkLabel();
|
||||
this.TxtWeight4 = new System.Windows.Forms.TextBox();
|
||||
this.TxtWeight5 = new System.Windows.Forms.TextBox();
|
||||
this.LblWeight4 = new System.Windows.Forms.Label();
|
||||
this.LblWeight5 = new System.Windows.Forms.Label();
|
||||
this.GrpBalance = new System.Windows.Forms.GroupBox();
|
||||
this.TxtPoolWeight4 = new System.Windows.Forms.TextBox();
|
||||
this.TxtPoolWeight5 = new System.Windows.Forms.TextBox();
|
||||
this.LblPoolWeight4 = new System.Windows.Forms.Label();
|
||||
this.LblPoolWeight5 = new System.Windows.Forms.Label();
|
||||
this.ChartWeights = new System.Windows.Forms.DataVisualization.Charting.Chart();
|
||||
this.GrpBanners = new System.Windows.Forms.GroupBox();
|
||||
this.ListBanners = new System.Windows.Forms.ListBox();
|
||||
this.FLPBannersControl = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.BtnDelete = new System.Windows.Forms.Button();
|
||||
this.BtnClear = new System.Windows.Forms.Button();
|
||||
this.LblBannersJson = new System.Windows.Forms.Label();
|
||||
this.TxtBannersJsonPath = new System.Windows.Forms.TextBox();
|
||||
this.BtnLoad = new System.Windows.Forms.Button();
|
||||
this.BtnSave = new System.Windows.Forms.Button();
|
||||
this.GrpBannerValues.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItemAmount10)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItemAmount1)).BeginInit();
|
||||
((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();
|
||||
this.GrpFallbackPool.SuspendLayout();
|
||||
this.GrpUpPool.SuspendLayout();
|
||||
this.GrpWeights.SuspendLayout();
|
||||
this.GrpBalance.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ChartWeights)).BeginInit();
|
||||
this.GrpBanners.SuspendLayout();
|
||||
this.FLPBannersControl.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// GrpBannerValues
|
||||
//
|
||||
resources.ApplyResources(this.GrpBannerValues, "GrpBannerValues");
|
||||
this.GrpBannerValues.Controls.Add(this.BtnAddOrUpdate);
|
||||
this.GrpBannerValues.Controls.Add(this.CmbTitlePath);
|
||||
this.GrpBannerValues.Controls.Add(this.LblTitlePath);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDCostItemAmount10);
|
||||
this.GrpBannerValues.Controls.Add(this.LblCostItemAmount10);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDCostItemAmount1);
|
||||
this.GrpBannerValues.Controls.Add(this.LblCostItemAmount1);
|
||||
this.GrpBannerValues.Controls.Add(this.ChkAutoStripRateUpFromFallback);
|
||||
this.GrpBannerValues.Controls.Add(this.LblOptions);
|
||||
this.GrpBannerValues.Controls.Add(this.ChkRemoveC6FormPool);
|
||||
this.GrpBannerValues.Controls.Add(this.LnkOpenOldEditor);
|
||||
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);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDEventChance4);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDEventChance5);
|
||||
this.GrpBannerValues.Controls.Add(this.LblGachaType);
|
||||
this.GrpBannerValues.Controls.Add(this.LblEventChance4);
|
||||
this.GrpBannerValues.Controls.Add(this.LblEventChance5);
|
||||
this.GrpBannerValues.Controls.Add(this.LblSortId);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDGachaType);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDSortId);
|
||||
this.GrpBannerValues.Controls.Add(this.LblGachaTypeTip);
|
||||
this.GrpBannerValues.Controls.Add(this.LblEndTime);
|
||||
this.GrpBannerValues.Controls.Add(this.LblScheduleId);
|
||||
this.GrpBannerValues.Controls.Add(this.LblBeginTime);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDScheduleId);
|
||||
this.GrpBannerValues.Controls.Add(this.LblScheduleIdTip);
|
||||
this.GrpBannerValues.Controls.Add(this.CmbBannerType);
|
||||
this.GrpBannerValues.Controls.Add(this.LblSortIdTip);
|
||||
this.GrpBannerValues.Controls.Add(this.LblBannerType);
|
||||
this.GrpBannerValues.Controls.Add(this.RbCostItem224);
|
||||
this.GrpBannerValues.Controls.Add(this.LblCostItem);
|
||||
this.GrpBannerValues.Controls.Add(this.LblPrefabPath);
|
||||
this.GrpBannerValues.Controls.Add(this.RbCostItem223);
|
||||
this.GrpBannerValues.Name = "GrpBannerValues";
|
||||
this.GrpBannerValues.TabStop = false;
|
||||
//
|
||||
// BtnAddOrUpdate
|
||||
//
|
||||
resources.ApplyResources(this.BtnAddOrUpdate, "BtnAddOrUpdate");
|
||||
this.BtnAddOrUpdate.Name = "BtnAddOrUpdate";
|
||||
this.BtnAddOrUpdate.UseVisualStyleBackColor = true;
|
||||
this.BtnAddOrUpdate.Click += new System.EventHandler(this.BtnAddOrUpdate_Click);
|
||||
//
|
||||
// CmbTitlePath
|
||||
//
|
||||
resources.ApplyResources(this.CmbTitlePath, "CmbTitlePath");
|
||||
this.CmbTitlePath.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CmbTitlePath.FormattingEnabled = true;
|
||||
this.CmbTitlePath.Name = "CmbTitlePath";
|
||||
//
|
||||
// LblTitlePath
|
||||
//
|
||||
resources.ApplyResources(this.LblTitlePath, "LblTitlePath");
|
||||
this.LblTitlePath.Name = "LblTitlePath";
|
||||
//
|
||||
// NUDCostItemAmount10
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItemAmount10, "NUDCostItemAmount10");
|
||||
this.NUDCostItemAmount10.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItemAmount10.Name = "NUDCostItemAmount10";
|
||||
this.NUDCostItemAmount10.Value = new decimal(new int[] {
|
||||
10,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// LblCostItemAmount10
|
||||
//
|
||||
resources.ApplyResources(this.LblCostItemAmount10, "LblCostItemAmount10");
|
||||
this.LblCostItemAmount10.Name = "LblCostItemAmount10";
|
||||
//
|
||||
// NUDCostItemAmount1
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItemAmount1, "NUDCostItemAmount1");
|
||||
this.NUDCostItemAmount1.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItemAmount1.Name = "NUDCostItemAmount1";
|
||||
this.NUDCostItemAmount1.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// LblCostItemAmount1
|
||||
//
|
||||
resources.ApplyResources(this.LblCostItemAmount1, "LblCostItemAmount1");
|
||||
this.LblCostItemAmount1.Name = "LblCostItemAmount1";
|
||||
//
|
||||
// ChkAutoStripRateUpFromFallback
|
||||
//
|
||||
resources.ApplyResources(this.ChkAutoStripRateUpFromFallback, "ChkAutoStripRateUpFromFallback");
|
||||
this.ChkAutoStripRateUpFromFallback.Name = "ChkAutoStripRateUpFromFallback";
|
||||
this.ChkAutoStripRateUpFromFallback.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// LblOptions
|
||||
//
|
||||
resources.ApplyResources(this.LblOptions, "LblOptions");
|
||||
this.LblOptions.Name = "LblOptions";
|
||||
//
|
||||
// ChkRemoveC6FormPool
|
||||
//
|
||||
resources.ApplyResources(this.ChkRemoveC6FormPool, "ChkRemoveC6FormPool");
|
||||
this.ChkRemoveC6FormPool.Name = "ChkRemoveC6FormPool";
|
||||
this.ChkRemoveC6FormPool.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// LnkOpenOldEditor
|
||||
//
|
||||
resources.ApplyResources(this.LnkOpenOldEditor, "LnkOpenOldEditor");
|
||||
this.LnkOpenOldEditor.Name = "LnkOpenOldEditor";
|
||||
this.LnkOpenOldEditor.TabStop = true;
|
||||
this.LnkOpenOldEditor.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkOpenOldEditor_LinkClicked);
|
||||
//
|
||||
// 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";
|
||||
//
|
||||
// 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";
|
||||
//
|
||||
// CmbPrefab
|
||||
//
|
||||
resources.ApplyResources(this.CmbPrefab, "CmbPrefab");
|
||||
this.CmbPrefab.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CmbPrefab.FormattingEnabled = true;
|
||||
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");
|
||||
this.NUDEventChance5.Name = "NUDEventChance5";
|
||||
this.NUDEventChance5.Value = new decimal(new int[] {
|
||||
50,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// LblGachaType
|
||||
//
|
||||
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");
|
||||
this.LblEventChance5.Name = "LblEventChance5";
|
||||
//
|
||||
// LblSortId
|
||||
//
|
||||
resources.ApplyResources(this.LblSortId, "LblSortId");
|
||||
this.LblSortId.Name = "LblSortId";
|
||||
//
|
||||
// NUDGachaType
|
||||
//
|
||||
resources.ApplyResources(this.NUDGachaType, "NUDGachaType");
|
||||
this.NUDGachaType.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDGachaType.Name = "NUDGachaType";
|
||||
this.NUDGachaType.Value = new decimal(new int[] {
|
||||
400,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// NUDSortId
|
||||
//
|
||||
resources.ApplyResources(this.NUDSortId, "NUDSortId");
|
||||
this.NUDSortId.Maximum = new decimal(new int[] {
|
||||
9999,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDSortId.Name = "NUDSortId";
|
||||
this.NUDSortId.Value = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// LblGachaTypeTip
|
||||
//
|
||||
resources.ApplyResources(this.LblGachaTypeTip, "LblGachaTypeTip");
|
||||
this.LblGachaTypeTip.Name = "LblGachaTypeTip";
|
||||
//
|
||||
// LblEndTime
|
||||
//
|
||||
resources.ApplyResources(this.LblEndTime, "LblEndTime");
|
||||
this.LblEndTime.Name = "LblEndTime";
|
||||
//
|
||||
// LblScheduleId
|
||||
//
|
||||
resources.ApplyResources(this.LblScheduleId, "LblScheduleId");
|
||||
this.LblScheduleId.Name = "LblScheduleId";
|
||||
//
|
||||
// LblBeginTime
|
||||
//
|
||||
resources.ApplyResources(this.LblBeginTime, "LblBeginTime");
|
||||
this.LblBeginTime.Name = "LblBeginTime";
|
||||
//
|
||||
// NUDScheduleId
|
||||
//
|
||||
resources.ApplyResources(this.NUDScheduleId, "NUDScheduleId");
|
||||
this.NUDScheduleId.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDScheduleId.Name = "NUDScheduleId";
|
||||
this.NUDScheduleId.Value = new decimal(new int[] {
|
||||
800,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// LblScheduleIdTip
|
||||
//
|
||||
resources.ApplyResources(this.LblScheduleIdTip, "LblScheduleIdTip");
|
||||
this.LblScheduleIdTip.Name = "LblScheduleIdTip";
|
||||
//
|
||||
// CmbBannerType
|
||||
//
|
||||
resources.ApplyResources(this.CmbBannerType, "CmbBannerType");
|
||||
this.CmbBannerType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CmbBannerType.FormattingEnabled = true;
|
||||
this.CmbBannerType.Items.AddRange(new object[] {
|
||||
resources.GetString("CmbBannerType.Items"),
|
||||
resources.GetString("CmbBannerType.Items1"),
|
||||
resources.GetString("CmbBannerType.Items2")});
|
||||
this.CmbBannerType.Name = "CmbBannerType";
|
||||
//
|
||||
// LblSortIdTip
|
||||
//
|
||||
resources.ApplyResources(this.LblSortIdTip, "LblSortIdTip");
|
||||
this.LblSortIdTip.Name = "LblSortIdTip";
|
||||
//
|
||||
// LblBannerType
|
||||
//
|
||||
resources.ApplyResources(this.LblBannerType, "LblBannerType");
|
||||
this.LblBannerType.Name = "LblBannerType";
|
||||
//
|
||||
// RbCostItem224
|
||||
//
|
||||
resources.ApplyResources(this.RbCostItem224, "RbCostItem224");
|
||||
this.RbCostItem224.Checked = true;
|
||||
this.RbCostItem224.Name = "RbCostItem224";
|
||||
this.RbCostItem224.TabStop = true;
|
||||
this.RbCostItem224.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// LblCostItem
|
||||
//
|
||||
resources.ApplyResources(this.LblCostItem, "LblCostItem");
|
||||
this.LblCostItem.Name = "LblCostItem";
|
||||
//
|
||||
// LblPrefabPath
|
||||
//
|
||||
resources.ApplyResources(this.LblPrefabPath, "LblPrefabPath");
|
||||
this.LblPrefabPath.Name = "LblPrefabPath";
|
||||
//
|
||||
// RbCostItem223
|
||||
//
|
||||
resources.ApplyResources(this.RbCostItem223, "RbCostItem223");
|
||||
this.RbCostItem223.Name = "RbCostItem223";
|
||||
this.RbCostItem223.TabStop = true;
|
||||
this.RbCostItem223.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// GrpFallbackPool
|
||||
//
|
||||
resources.ApplyResources(this.GrpFallbackPool, "GrpFallbackPool");
|
||||
this.GrpFallbackPool.Controls.Add(this.ListFallbackItems);
|
||||
this.GrpFallbackPool.Name = "GrpFallbackPool";
|
||||
this.GrpFallbackPool.TabStop = false;
|
||||
//
|
||||
// ListFallbackItems
|
||||
//
|
||||
resources.ApplyResources(this.ListFallbackItems, "ListFallbackItems");
|
||||
this.ListFallbackItems.CheckBoxes = true;
|
||||
this.ListFallbackItems.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.ColFallbackId,
|
||||
this.ColFallbackName});
|
||||
this.ListFallbackItems.FullRowSelect = true;
|
||||
this.ListFallbackItems.Groups.AddRange(new System.Windows.Forms.ListViewGroup[] {
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups1"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups2"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups3"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups4")))});
|
||||
this.ListFallbackItems.HideSelection = false;
|
||||
this.ListFallbackItems.Name = "ListFallbackItems";
|
||||
this.ListFallbackItems.UseCompatibleStateImageBehavior = false;
|
||||
this.ListFallbackItems.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// ColFallbackId
|
||||
//
|
||||
resources.ApplyResources(this.ColFallbackId, "ColFallbackId");
|
||||
//
|
||||
// ColFallbackName
|
||||
//
|
||||
resources.ApplyResources(this.ColFallbackName, "ColFallbackName");
|
||||
//
|
||||
// GrpUpPool
|
||||
//
|
||||
resources.ApplyResources(this.GrpUpPool, "GrpUpPool");
|
||||
this.GrpUpPool.Controls.Add(this.ListUpItems);
|
||||
this.GrpUpPool.Name = "GrpUpPool";
|
||||
this.GrpUpPool.TabStop = false;
|
||||
//
|
||||
// ListUpItems
|
||||
//
|
||||
resources.ApplyResources(this.ListUpItems, "ListUpItems");
|
||||
this.ListUpItems.CheckBoxes = true;
|
||||
this.ListUpItems.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.ColUpId,
|
||||
this.ColUpName});
|
||||
this.ListUpItems.FullRowSelect = true;
|
||||
this.ListUpItems.Groups.AddRange(new System.Windows.Forms.ListViewGroup[] {
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups1"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups2"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups3")))});
|
||||
this.ListUpItems.HideSelection = false;
|
||||
this.ListUpItems.Name = "ListUpItems";
|
||||
this.ListUpItems.UseCompatibleStateImageBehavior = false;
|
||||
this.ListUpItems.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// ColUpId
|
||||
//
|
||||
resources.ApplyResources(this.ColUpId, "ColUpId");
|
||||
//
|
||||
// ColUpName
|
||||
//
|
||||
resources.ApplyResources(this.ColUpName, "ColUpName");
|
||||
//
|
||||
// GrpWeights
|
||||
//
|
||||
resources.ApplyResources(this.GrpWeights, "GrpWeights");
|
||||
this.GrpWeights.Controls.Add(this.LnkWeightHelp);
|
||||
this.GrpWeights.Controls.Add(this.TxtWeight4);
|
||||
this.GrpWeights.Controls.Add(this.TxtWeight5);
|
||||
this.GrpWeights.Controls.Add(this.LblWeight4);
|
||||
this.GrpWeights.Controls.Add(this.LblWeight5);
|
||||
this.GrpWeights.Name = "GrpWeights";
|
||||
this.GrpWeights.TabStop = false;
|
||||
//
|
||||
// LnkWeightHelp
|
||||
//
|
||||
resources.ApplyResources(this.LnkWeightHelp, "LnkWeightHelp");
|
||||
this.LnkWeightHelp.Name = "LnkWeightHelp";
|
||||
this.LnkWeightHelp.TabStop = true;
|
||||
this.LnkWeightHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkWeightHelp_LinkClicked);
|
||||
//
|
||||
// TxtWeight4
|
||||
//
|
||||
resources.ApplyResources(this.TxtWeight4, "TxtWeight4");
|
||||
this.TxtWeight4.Name = "TxtWeight4";
|
||||
//
|
||||
// TxtWeight5
|
||||
//
|
||||
resources.ApplyResources(this.TxtWeight5, "TxtWeight5");
|
||||
this.TxtWeight5.Name = "TxtWeight5";
|
||||
//
|
||||
// LblWeight4
|
||||
//
|
||||
resources.ApplyResources(this.LblWeight4, "LblWeight4");
|
||||
this.LblWeight4.Name = "LblWeight4";
|
||||
//
|
||||
// LblWeight5
|
||||
//
|
||||
resources.ApplyResources(this.LblWeight5, "LblWeight5");
|
||||
this.LblWeight5.Name = "LblWeight5";
|
||||
//
|
||||
// GrpBalance
|
||||
//
|
||||
resources.ApplyResources(this.GrpBalance, "GrpBalance");
|
||||
this.GrpBalance.Controls.Add(this.TxtPoolWeight4);
|
||||
this.GrpBalance.Controls.Add(this.TxtPoolWeight5);
|
||||
this.GrpBalance.Controls.Add(this.LblPoolWeight4);
|
||||
this.GrpBalance.Controls.Add(this.LblPoolWeight5);
|
||||
this.GrpBalance.Name = "GrpBalance";
|
||||
this.GrpBalance.TabStop = false;
|
||||
//
|
||||
// TxtPoolWeight4
|
||||
//
|
||||
resources.ApplyResources(this.TxtPoolWeight4, "TxtPoolWeight4");
|
||||
this.TxtPoolWeight4.Name = "TxtPoolWeight4";
|
||||
//
|
||||
// TxtPoolWeight5
|
||||
//
|
||||
resources.ApplyResources(this.TxtPoolWeight5, "TxtPoolWeight5");
|
||||
this.TxtPoolWeight5.Name = "TxtPoolWeight5";
|
||||
//
|
||||
// LblPoolWeight4
|
||||
//
|
||||
resources.ApplyResources(this.LblPoolWeight4, "LblPoolWeight4");
|
||||
this.LblPoolWeight4.Name = "LblPoolWeight4";
|
||||
//
|
||||
// LblPoolWeight5
|
||||
//
|
||||
resources.ApplyResources(this.LblPoolWeight5, "LblPoolWeight5");
|
||||
this.LblPoolWeight5.Name = "LblPoolWeight5";
|
||||
//
|
||||
// ChartWeights
|
||||
//
|
||||
resources.ApplyResources(this.ChartWeights, "ChartWeights");
|
||||
chartArea9.AxisX.Minimum = 0D;
|
||||
chartArea9.AxisY.Maximum = 100D;
|
||||
chartArea9.AxisY.Minimum = 0D;
|
||||
chartArea9.AxisY.Title = "%";
|
||||
chartArea9.Name = "ChartArea1";
|
||||
this.ChartWeights.ChartAreas.Add(chartArea9);
|
||||
legend9.Name = "Legend1";
|
||||
this.ChartWeights.Legends.Add(legend9);
|
||||
this.ChartWeights.Name = "ChartWeights";
|
||||
series17.ChartArea = "ChartArea1";
|
||||
series17.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
|
||||
series17.Color = System.Drawing.Color.OrangeRed;
|
||||
series17.Label = "(#VALX, #VAL)";
|
||||
series17.Legend = "Legend1";
|
||||
series17.LegendText = "5*";
|
||||
series17.Name = "SeriesWeight5";
|
||||
series17.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
|
||||
series17.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;
|
||||
series18.ChartArea = "ChartArea1";
|
||||
series18.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
|
||||
series18.Color = System.Drawing.Color.Purple;
|
||||
series18.Label = "(#VALX, #VAL)";
|
||||
series18.Legend = "Legend1";
|
||||
series18.LegendText = "4*";
|
||||
series18.Name = "SeriesWeight4";
|
||||
series18.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
|
||||
series18.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;
|
||||
this.ChartWeights.Series.Add(series17);
|
||||
this.ChartWeights.Series.Add(series18);
|
||||
//
|
||||
// GrpBanners
|
||||
//
|
||||
resources.ApplyResources(this.GrpBanners, "GrpBanners");
|
||||
this.GrpBanners.Controls.Add(this.ListBanners);
|
||||
this.GrpBanners.Controls.Add(this.FLPBannersControl);
|
||||
this.GrpBanners.Name = "GrpBanners";
|
||||
this.GrpBanners.TabStop = false;
|
||||
//
|
||||
// ListBanners
|
||||
//
|
||||
resources.ApplyResources(this.ListBanners, "ListBanners");
|
||||
this.ListBanners.FormattingEnabled = true;
|
||||
this.ListBanners.Name = "ListBanners";
|
||||
this.ListBanners.SelectedIndexChanged += new System.EventHandler(this.ListBanners_SelectedIndexChanged);
|
||||
//
|
||||
// FLPBannersControl
|
||||
//
|
||||
resources.ApplyResources(this.FLPBannersControl, "FLPBannersControl");
|
||||
this.FLPBannersControl.Controls.Add(this.BtnDelete);
|
||||
this.FLPBannersControl.Controls.Add(this.BtnClear);
|
||||
this.FLPBannersControl.Name = "FLPBannersControl";
|
||||
//
|
||||
// BtnDelete
|
||||
//
|
||||
resources.ApplyResources(this.BtnDelete, "BtnDelete");
|
||||
this.BtnDelete.Name = "BtnDelete";
|
||||
this.BtnDelete.UseVisualStyleBackColor = true;
|
||||
this.BtnDelete.Click += new System.EventHandler(this.BtnDelete_Click);
|
||||
//
|
||||
// BtnClear
|
||||
//
|
||||
resources.ApplyResources(this.BtnClear, "BtnClear");
|
||||
this.BtnClear.Name = "BtnClear";
|
||||
this.BtnClear.UseVisualStyleBackColor = true;
|
||||
this.BtnClear.Click += new System.EventHandler(this.BtnClear_Click);
|
||||
//
|
||||
// LblBannersJson
|
||||
//
|
||||
resources.ApplyResources(this.LblBannersJson, "LblBannersJson");
|
||||
this.LblBannersJson.Name = "LblBannersJson";
|
||||
//
|
||||
// TxtBannersJsonPath
|
||||
//
|
||||
resources.ApplyResources(this.TxtBannersJsonPath, "TxtBannersJsonPath");
|
||||
this.TxtBannersJsonPath.Name = "TxtBannersJsonPath";
|
||||
//
|
||||
// BtnLoad
|
||||
//
|
||||
resources.ApplyResources(this.BtnLoad, "BtnLoad");
|
||||
this.BtnLoad.Name = "BtnLoad";
|
||||
this.BtnLoad.UseVisualStyleBackColor = true;
|
||||
this.BtnLoad.Click += new System.EventHandler(this.BtnLoad_Click);
|
||||
//
|
||||
// BtnSave
|
||||
//
|
||||
resources.ApplyResources(this.BtnSave, "BtnSave");
|
||||
this.BtnSave.Name = "BtnSave";
|
||||
this.BtnSave.UseVisualStyleBackColor = true;
|
||||
this.BtnSave.Click += new System.EventHandler(this.BtnSave_Click);
|
||||
//
|
||||
// FormGachaBannersEditor3
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.ChartWeights);
|
||||
this.Controls.Add(this.BtnSave);
|
||||
this.Controls.Add(this.BtnLoad);
|
||||
this.Controls.Add(this.TxtBannersJsonPath);
|
||||
this.Controls.Add(this.LblBannersJson);
|
||||
this.Controls.Add(this.GrpBanners);
|
||||
this.Controls.Add(this.GrpBalance);
|
||||
this.Controls.Add(this.GrpWeights);
|
||||
this.Controls.Add(this.GrpFallbackPool);
|
||||
this.Controls.Add(this.GrpUpPool);
|
||||
this.Controls.Add(this.GrpBannerValues);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
|
||||
this.Name = "FormGachaBannersEditor3";
|
||||
this.GrpBannerValues.ResumeLayout(false);
|
||||
this.GrpBannerValues.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItemAmount10)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItemAmount1)).EndInit();
|
||||
((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();
|
||||
this.GrpFallbackPool.ResumeLayout(false);
|
||||
this.GrpUpPool.ResumeLayout(false);
|
||||
this.GrpWeights.ResumeLayout(false);
|
||||
this.GrpWeights.PerformLayout();
|
||||
this.GrpBalance.ResumeLayout(false);
|
||||
this.GrpBalance.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ChartWeights)).EndInit();
|
||||
this.GrpBanners.ResumeLayout(false);
|
||||
this.FLPBannersControl.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.GroupBox GrpBannerValues;
|
||||
private System.Windows.Forms.Label LblEventChance5Tip;
|
||||
private System.Windows.Forms.NumericUpDown NUDEventChance5;
|
||||
private System.Windows.Forms.Label LblGachaType;
|
||||
private System.Windows.Forms.Label LblEventChance5;
|
||||
private System.Windows.Forms.Label LblSortId;
|
||||
private System.Windows.Forms.NumericUpDown NUDGachaType;
|
||||
private System.Windows.Forms.NumericUpDown NUDSortId;
|
||||
private System.Windows.Forms.Label LblGachaTypeTip;
|
||||
private System.Windows.Forms.Label LblEndTime;
|
||||
private System.Windows.Forms.Label LblScheduleId;
|
||||
private System.Windows.Forms.Label LblBeginTime;
|
||||
private System.Windows.Forms.NumericUpDown NUDScheduleId;
|
||||
private System.Windows.Forms.Label LblScheduleIdTip;
|
||||
private System.Windows.Forms.ComboBox CmbBannerType;
|
||||
private System.Windows.Forms.Label LblSortIdTip;
|
||||
private System.Windows.Forms.Label LblBannerType;
|
||||
private System.Windows.Forms.RadioButton RbCostItem224;
|
||||
private System.Windows.Forms.Label LblCostItem;
|
||||
private System.Windows.Forms.Label LblPrefabPath;
|
||||
private System.Windows.Forms.RadioButton RbCostItem223;
|
||||
private System.Windows.Forms.GroupBox GrpFallbackPool;
|
||||
private System.Windows.Forms.GroupBox GrpUpPool;
|
||||
private System.Windows.Forms.ComboBox CmbPrefab;
|
||||
private System.Windows.Forms.Label LblEventChance4;
|
||||
private System.Windows.Forms.Label LblEventChance4Tip;
|
||||
private System.Windows.Forms.NumericUpDown NUDEventChance4;
|
||||
private System.Windows.Forms.DateTimePicker DTPEndTime;
|
||||
private System.Windows.Forms.DateTimePicker DTPBeginTime;
|
||||
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;
|
||||
private System.Windows.Forms.GroupBox GrpWeights;
|
||||
private System.Windows.Forms.GroupBox GrpBalance;
|
||||
private System.Windows.Forms.TextBox TxtWeight4;
|
||||
private System.Windows.Forms.TextBox TxtWeight5;
|
||||
private System.Windows.Forms.Label LblWeight4;
|
||||
private System.Windows.Forms.Label LblWeight5;
|
||||
private System.Windows.Forms.LinkLabel LnkWeightHelp;
|
||||
private System.Windows.Forms.LinkLabel LnkOpenOldEditor;
|
||||
private System.Windows.Forms.TextBox TxtPoolWeight4;
|
||||
private System.Windows.Forms.TextBox TxtPoolWeight5;
|
||||
private System.Windows.Forms.Label LblPoolWeight4;
|
||||
private System.Windows.Forms.Label LblPoolWeight5;
|
||||
private System.Windows.Forms.CheckBox ChkRemoveC6FormPool;
|
||||
private System.Windows.Forms.CheckBox ChkAutoStripRateUpFromFallback;
|
||||
private System.Windows.Forms.Label LblOptions;
|
||||
private System.Windows.Forms.DataVisualization.Charting.Chart ChartWeights;
|
||||
private System.Windows.Forms.GroupBox GrpBanners;
|
||||
private System.Windows.Forms.Label LblBannersJson;
|
||||
private System.Windows.Forms.TextBox TxtBannersJsonPath;
|
||||
private System.Windows.Forms.Button BtnLoad;
|
||||
private System.Windows.Forms.Button BtnSave;
|
||||
private System.Windows.Forms.FlowLayoutPanel FLPBannersControl;
|
||||
private System.Windows.Forms.Button BtnAddOrUpdate;
|
||||
private System.Windows.Forms.Button BtnDelete;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItemAmount10;
|
||||
private System.Windows.Forms.Label LblCostItemAmount10;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItemAmount1;
|
||||
private System.Windows.Forms.Label LblCostItemAmount1;
|
||||
private System.Windows.Forms.ListBox ListBanners;
|
||||
private System.Windows.Forms.ComboBox CmbTitlePath;
|
||||
private System.Windows.Forms.Label LblTitlePath;
|
||||
private System.Windows.Forms.Button BtnClear;
|
||||
}
|
||||
}
|
503
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.cs
Normal file
@@ -0,0 +1,503 @@
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using GrasscutterTools.Game;
|
||||
using GrasscutterTools.Game.Gacha;
|
||||
using GrasscutterTools.Properties;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
/// <summary>
|
||||
/// 卡池编辑器
|
||||
/// </summary>
|
||||
public partial class FormGachaBannersEditor3 : Form
|
||||
{
|
||||
#region - 成员 -
|
||||
|
||||
private List<GachaBanner3> Banners;
|
||||
|
||||
#endregion - 成员 -
|
||||
|
||||
#region - 构造与窗体事件 -
|
||||
|
||||
public FormGachaBannersEditor3()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Icon = Resources.IconGrasscutter;
|
||||
CmbBannerType.SelectedIndex = 0;
|
||||
InitBannerPrefab();
|
||||
InitCheckedListBoxs();
|
||||
|
||||
ShowBanner(new GachaBanner3());
|
||||
}
|
||||
|
||||
private void InitBannerPrefab()
|
||||
{
|
||||
CmbPrefab.Items.Clear();
|
||||
CmbPrefab.Items.AddRange(GameData.GachaBannerPrefabs.Names);
|
||||
CmbTitlePath.Items.Clear();
|
||||
CmbTitlePath.Items.AddRange(GameData.GachaBannerTitles.Names);
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
try
|
||||
{
|
||||
// 加载文件路径
|
||||
var path = Settings.Default.BannersJsonPath;
|
||||
TxtBannersJsonPath.Text = path;
|
||||
if (!string.IsNullOrEmpty(path) && File.Exists(path))
|
||||
LoadBanners(File.ReadAllText(path));
|
||||
else
|
||||
LoadBanners(Encoding.UTF8.GetString(Resources.Banners));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LoadBanners(Encoding.UTF8.GetString(Resources.Banners));
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnFormClosed(FormClosedEventArgs e)
|
||||
{
|
||||
// 保存文件路径
|
||||
Settings.Default.BannersJsonPath = TxtBannersJsonPath.Text;
|
||||
|
||||
base.OnFormClosed(e);
|
||||
}
|
||||
|
||||
private void LnkWeightHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
System.Diagnostics.Process.Start("https://github.com/Grasscutters/Grasscutter/pull/639");
|
||||
}
|
||||
|
||||
private void LnkOpenOldEditor_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
new FormGachaBannerEditor().ShowDialog();
|
||||
}
|
||||
|
||||
#endregion - 构造与窗体事件 -
|
||||
|
||||
#region - Banners.json 文件相关 -
|
||||
|
||||
/// <summary>
|
||||
/// 加载按钮点击时触发
|
||||
/// </summary>
|
||||
private void BtnLoad_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = TxtBannersJsonPath.Text.Trim();
|
||||
if (path == string.Empty)
|
||||
{
|
||||
var dialog = new OpenFileDialog
|
||||
{
|
||||
FileName = "Banners.json",
|
||||
Filter = "Banners.Json (*.json)|*.json|All files (*.*)|*.*",
|
||||
};
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
path = TxtBannersJsonPath.Text = dialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
var content = File.ReadAllText(path);
|
||||
if (string.IsNullOrEmpty(content))
|
||||
content = Encoding.UTF8.GetString(Resources.Banners);
|
||||
LoadBanners(content);
|
||||
MessageBox.Show("OK", Resources.Tips, MessageBoxButtons.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存按钮点击时触发
|
||||
/// </summary>
|
||||
private void BtnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = TxtBannersJsonPath.Text.Trim();
|
||||
if (path == string.Empty)
|
||||
{
|
||||
var dialog = new SaveFileDialog
|
||||
{
|
||||
FileName = "Banners.json",
|
||||
Filter = "Banners.json (*.json)|*.json|All files (*.*)|*.*",
|
||||
};
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
path = TxtBannersJsonPath.Text = dialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
var json = JsonConvert.SerializeObject(Banners, new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore })
|
||||
.Replace(",\"", ",\r\n \"").Replace("{\"", "{\r\n \"").Replace("\"}", "\"\r\n}");
|
||||
File.WriteAllText(path, json);
|
||||
MessageBox.Show("OK", Resources.Tips, MessageBoxButtons.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion - Banners.json 文件相关 -
|
||||
|
||||
#region - 卡池列表 -
|
||||
|
||||
/// <summary>
|
||||
/// 从指定Json中加载卡池
|
||||
/// </summary>
|
||||
/// <param name="bannersJson">Banner.json 内容</param>
|
||||
private void LoadBanners(string bannersJson)
|
||||
{
|
||||
// 反序列化
|
||||
Banners = JsonConvert.DeserializeObject<List<GachaBanner3>>(bannersJson);
|
||||
ShowBanners();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示当前卡池列表
|
||||
/// </summary>
|
||||
private void ShowBanners()
|
||||
{
|
||||
ListBanners.BeginUpdate();
|
||||
ListBanners.Items.Clear();
|
||||
ListBanners.Items.AddRange(Banners.ToArray());
|
||||
ListBanners.EndUpdate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 卡池列表选中项改变时触发
|
||||
/// </summary>
|
||||
private void ListBanners_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (ListBanners.SelectedIndex < 0) return;
|
||||
ShowBanner(ListBanners.SelectedItem as GachaBanner3);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击添加或更新卡池按钮时触发
|
||||
/// </summary>
|
||||
private void BtnAddOrUpdate_Click(object sender, EventArgs e)
|
||||
{
|
||||
var banner = ParseBanner();
|
||||
var i = Banners.FindIndex(it => it.GachaType == banner.GachaType && it.ScheduleId == banner.ScheduleId);
|
||||
if (i >= 0)
|
||||
{
|
||||
Banners[i] = banner;
|
||||
ListBanners.Items[i] = banner;
|
||||
}
|
||||
else
|
||||
{
|
||||
Banners.Add(banner);
|
||||
ListBanners.Items.Add(banner);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击删除卡池按钮时触发
|
||||
/// </summary>
|
||||
private void BtnDelete_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ListBanners.SelectedIndex < 0) return;
|
||||
if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
Banners.RemoveAt(ListBanners.SelectedIndex);
|
||||
ListBanners.Items.RemoveAt(ListBanners.SelectedIndex);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击清空卡池按钮时触发
|
||||
/// </summary>
|
||||
private void BtnClear_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ListBanners.Items.Count < 0) return;
|
||||
if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
Banners.Clear();
|
||||
ListBanners.Items.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion - 卡池列表 -
|
||||
|
||||
#region - 卡池 -
|
||||
|
||||
private void InitCheckedListBoxs()
|
||||
{
|
||||
ListFallbackItems.BeginUpdate();
|
||||
var a5 = ListFallbackItems.Groups["GroupA5"];
|
||||
var a4 = ListFallbackItems.Groups["GroupA4"];
|
||||
var w5 = ListFallbackItems.Groups["GroupW5"];
|
||||
var w4 = ListFallbackItems.Groups["GroupW4"];
|
||||
var w3 = ListFallbackItems.Groups["GroupW3"];
|
||||
var avatars = GetAvatarsByColor("5")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a5) { ForeColor = Color.OrangeRed })
|
||||
.Concat(GetAvatarsByColor("4")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a4) { ForeColor = Color.Purple }));
|
||||
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.Clear();
|
||||
ListFallbackItems.Items.AddRange(avatars.Concat(weapons).ToArray());
|
||||
|
||||
ListUpItems.BeginUpdate();
|
||||
var ua5 = ListUpItems.Groups["GroupUpA5"];
|
||||
var ua4 = ListUpItems.Groups["GroupUpA4"];
|
||||
var uw5 = ListUpItems.Groups["GroupUpW5"];
|
||||
var uw4 = ListUpItems.Groups["GroupUpW4"];
|
||||
var upAvatars = GetAvatarsByColor("5")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, ua5) { ForeColor = Color.OrangeRed })
|
||||
.Concat(GetAvatarsByColor("4")
|
||||
.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.Clear();
|
||||
ListUpItems.Items.AddRange(upAvatars.Concat(upWeapons).ToArray());
|
||||
|
||||
ListFallbackItems.EndUpdate();
|
||||
ListUpItems.EndUpdate();
|
||||
}
|
||||
|
||||
private IEnumerable<(int, string)> GetAvatarsByColor(string color)
|
||||
{
|
||||
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);
|
||||
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(GachaBanner3 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;
|
||||
}
|
||||
|
||||
private IEnumerable<int> GetCheckedItems(ListView list, ListViewGroup group)
|
||||
{
|
||||
foreach (ListViewItem item in list.CheckedItems)
|
||||
if (item.Group == group)
|
||||
yield return int.Parse(item.Text);
|
||||
}
|
||||
|
||||
#endregion - 卡池 -
|
||||
|
||||
#region - 权重 -
|
||||
|
||||
private struct GachaWeight
|
||||
{
|
||||
public int Count;
|
||||
public int Weight;
|
||||
|
||||
public GachaWeight(int count, int weight)
|
||||
{
|
||||
Count = count;
|
||||
Weight = weight;
|
||||
}
|
||||
}
|
||||
|
||||
private void InitWeights(GachaBanner3 banner)
|
||||
{
|
||||
TxtWeight5.Text = '[' + string.Join(", ", SelectWeights(banner.Weights5).Select(w => $"[{w.Count}, {w.Weight}]")) + ']';
|
||||
TxtWeight4.Text = '[' + string.Join(", ", SelectWeights(banner.Weights4).Select(w => $"[{w.Count}, {w.Weight}]")) + ']';
|
||||
TxtPoolWeight5.Text = '[' + string.Join(", ", SelectWeights(banner.PoolBalanceWeights5).Select(w => $"[{w.Count}, {w.Weight}]")) + ']';
|
||||
TxtPoolWeight4.Text = '[' + string.Join(", ", SelectWeights(banner.PoolBalanceWeights4).Select(w => $"[{w.Count}, {w.Weight}]")) + ']';
|
||||
|
||||
ChartWeights.SuspendLayout();
|
||||
ChartWeights.Series[0].Points.Clear();
|
||||
foreach (var w in SelectWeights(banner.Weights5))
|
||||
ChartWeights.Series[0].Points.AddXY(w.Count, w.Weight / 100.0);
|
||||
ChartWeights.Series[1].Points.Clear();
|
||||
foreach (var w in SelectWeights(banner.Weights4))
|
||||
ChartWeights.Series[1].Points.AddXY(w.Count, w.Weight / 100.0);
|
||||
ChartWeights.ResumeLayout();
|
||||
}
|
||||
|
||||
private IEnumerable<GachaWeight> SelectWeights(int[,] weights)
|
||||
{
|
||||
for (int i = 0; i < weights.GetLength(0); i++)
|
||||
yield return new GachaWeight(weights[i, 0], weights[i, 1]);
|
||||
}
|
||||
|
||||
private int[,] GetWeights(string weights)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<int[,]>(weights);
|
||||
}
|
||||
|
||||
#endregion - 权重 -
|
||||
|
||||
#region - 卡池参数 -
|
||||
|
||||
/// <summary>
|
||||
/// 显示指定卡池参数
|
||||
/// </summary>
|
||||
/// <param name="banner">卡池对象</param>
|
||||
private void ShowBanner(GachaBanner3 banner)
|
||||
{
|
||||
try
|
||||
{
|
||||
NUDGachaType.Value = banner.GachaType;
|
||||
NUDScheduleId.Value = banner.ScheduleId;
|
||||
CmbBannerType.SelectedIndex = (int)banner.BannerType;
|
||||
if (string.IsNullOrEmpty(banner.PrefabPath) || !int.TryParse(banner.PrefabPath.Substring("GachaShowPanel_A".Length, 3), out int prefabId))
|
||||
CmbPrefab.SelectedIndex = -1;
|
||||
else
|
||||
CmbPrefab.SelectedIndex = Array.IndexOf(GameData.GachaBannerPrefabs.Ids, prefabId);
|
||||
if (string.IsNullOrEmpty(banner.TitlePath) || !int.TryParse(banner.TitlePath.Substring("UI_GACHA_SHOW_PANEL_A".Length, 3), out int titleId))
|
||||
CmbTitlePath.SelectedIndex = -1;
|
||||
else
|
||||
CmbTitlePath.SelectedIndex = Array.IndexOf(GameData.GachaBannerTitles.Ids, titleId);
|
||||
RbCostItem224.Checked = banner.CostItemId == 224;
|
||||
RbCostItem223.Checked = banner.CostItemId == 223;
|
||||
NUDCostItemAmount1.Value = banner.CoseItemAmount;
|
||||
NUDCostItemAmount10.Value = banner.CoseItemAmount10;
|
||||
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;
|
||||
ChkRemoveC6FormPool.Checked = banner.RemoveC6FromPool;
|
||||
ChkAutoStripRateUpFromFallback.Checked = banner.AutoStripRateUpFromFallback;
|
||||
InitItems(banner);
|
||||
InitWeights(banner);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("UI更新失败:" + ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private GachaBanner3 ParseBanner()
|
||||
{
|
||||
if (CmbBannerType.SelectedIndex < 0)
|
||||
{
|
||||
MessageBox.Show("请选择奖池类型", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return null;
|
||||
}
|
||||
|
||||
if (CmbPrefab.SelectedIndex < 0 || CmbTitlePath.SelectedIndex < 0)
|
||||
{
|
||||
MessageBox.Show("请选择奖池预制", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return null;
|
||||
}
|
||||
|
||||
var prefabId = GameData.GachaBannerPrefabs.Ids[CmbPrefab.SelectedIndex];
|
||||
var titleId = GameData.GachaBannerTitles.Ids[CmbTitlePath.SelectedIndex];
|
||||
var banner = new GachaBanner3
|
||||
{
|
||||
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{titleId:000}_TITLE",
|
||||
CostItemId = RbCostItem224.Checked ? 224 : 223,
|
||||
CoseItemAmount = (int)NUDCostItemAmount1.Value,
|
||||
CostItemId10 = RbCostItem224.Checked ? 224 : 223,
|
||||
CoseItemAmount10 = (int)NUDCostItemAmount10.Value,
|
||||
BeginTime = (int)new DateTimeOffset(DTPBeginTime.Value, TimeSpan.Zero).ToUnixTimeSeconds(),
|
||||
EndTime = (int)new DateTimeOffset(DTPEndTime.Value, TimeSpan.Zero).ToUnixTimeSeconds(),
|
||||
SortId = (int)NUDSortId.Value,
|
||||
EventChance5 = (int)NUDEventChance5.Value,
|
||||
EventChance4 = (int)NUDEventChance4.Value,
|
||||
|
||||
RateUpItems4 = GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpA4"])
|
||||
.Concat(GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpW4"]))
|
||||
.ToArray(),
|
||||
RateUpItems5 = GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpA5"])
|
||||
.Concat(GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpW5"]))
|
||||
.ToArray(),
|
||||
|
||||
FallbackItems3 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupA3"])
|
||||
.Concat(GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupW3"]))
|
||||
.ToArray(),
|
||||
FallbackItems4Pool1 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupA4"]).ToArray(),
|
||||
FallbackItems4Pool2 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupW4"]).ToArray(),
|
||||
FallbackItems5Pool1 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupA5"]).ToArray(),
|
||||
FallbackItems5Pool2 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupW5"]).ToArray(),
|
||||
|
||||
RemoveC6FromPool = ChkRemoveC6FormPool.Checked,
|
||||
AutoStripRateUpFromFallback = ChkAutoStripRateUpFromFallback.Checked,
|
||||
|
||||
Weights4 = GetWeights(TxtWeight4.Text),
|
||||
Weights5 = GetWeights(TxtWeight5.Text),
|
||||
PoolBalanceWeights4 = GetWeights(TxtPoolWeight4.Text),
|
||||
PoolBalanceWeights5 = GetWeights(TxtPoolWeight5.Text),
|
||||
};
|
||||
return banner;
|
||||
}
|
||||
|
||||
#endregion - 卡池参数 -
|
||||
}
|
||||
}
|
467
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.en-us.resx
Normal file
@@ -0,0 +1,467 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="BtnAddOrUpdate.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Text" xml:space="preserve">
|
||||
<value>√ Add or Update</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="LblTitlePath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>57, 17</value>
|
||||
</data>
|
||||
<data name="LblTitlePath.Text" xml:space="preserve">
|
||||
<value>TitlePath</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount10.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>225, 175</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount10.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>78, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount10.Text" xml:space="preserve">
|
||||
<value>Ten Amount</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>23, 175</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>83, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount1.Text" xml:space="preserve">
|
||||
<value>Cost Amount</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 307</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>225, 21</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Text" xml:space="preserve">
|
||||
<value>Auto Strip Rate Up From Fall back</value>
|
||||
</data>
|
||||
<data name="LblOptions.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>60, 288</value>
|
||||
</data>
|
||||
<data name="LblOptions.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>46, 17</value>
|
||||
</data>
|
||||
<data name="LblOptions.Text" xml:space="preserve">
|
||||
<value>Optins</value>
|
||||
</data>
|
||||
<data name="ChkRemoveC6FormPool.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 287</value>
|
||||
</data>
|
||||
<data name="ChkRemoveC6FormPool.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>157, 21</value>
|
||||
</data>
|
||||
<data name="ChkRemoveC6FormPool.Text" xml:space="preserve">
|
||||
<value>Remove C6 Form Pool</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>102, 17</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Text" xml:space="preserve">
|
||||
<value>Open old editor</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>200, 261</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>96, 17</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Text" xml:space="preserve">
|
||||
<value>Event Chance 4</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>10, 261</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>96, 17</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Text" xml:space="preserve">
|
||||
<value>Event Chance 5</value>
|
||||
</data>
|
||||
<data name="LblSortId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>72, 232</value>
|
||||
</data>
|
||||
<data name="LblSortId.Text" xml:space="preserve">
|
||||
<value>Sort</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>123, 17</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Text" xml:space="preserve">
|
||||
<value>Increment from 400</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>62, 17</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Text" xml:space="preserve">
|
||||
<value>End Time</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>32, 203</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 17</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Text" xml:space="preserve">
|
||||
<value>Begin Time</value>
|
||||
</data>
|
||||
<data name="LblScheduleIdTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>49, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleIdTip.Text" xml:space="preserve">
|
||||
<value>Unique</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items" xml:space="preserve">
|
||||
<value>Standard Wish</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items1" xml:space="preserve">
|
||||
<value>Character Event Wish</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items2" xml:space="preserve">
|
||||
<value>Weapon Event Wish</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>76, 17</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Text" xml:space="preserve">
|
||||
<value>Show order</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>25, 87</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>81, 17</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Text" xml:space="preserve">
|
||||
<value>Banner Type</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>104, 21</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Text" xml:space="preserve">
|
||||
<value>Acquaint Fate</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>41, 148</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>64, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Text" xml:space="preserve">
|
||||
<value>Cost Item</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>59, 118</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>46, 17</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Text" xml:space="preserve">
|
||||
<value>Prefab</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>222, 146</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>119, 21</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Text" xml:space="preserve">
|
||||
<value>Intertwined Fate</value>
|
||||
</data>
|
||||
<data name="GrpBannerValues.Text" xml:space="preserve">
|
||||
<value>Banner</value>
|
||||
</data>
|
||||
<data name="GrpFallbackPool.Text" xml:space="preserve">
|
||||
<value>Fallback Pool</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups4" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA0zLXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpUpPool.Text" xml:space="preserve">
|
||||
<value>Up Pool</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpWeights.Text" xml:space="preserve">
|
||||
<value>Gacha weights</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>399, 0</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>35, 17</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Text" xml:space="preserve">
|
||||
<value>Help</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>40, 61</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>66, 17</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Text" xml:space="preserve">
|
||||
<value>Weights 4</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>40, 32</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>66, 17</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Text" xml:space="preserve">
|
||||
<value>Weights 5</value>
|
||||
</data>
|
||||
<data name="GrpBalance.Text" xml:space="preserve">
|
||||
<value>Character and weapon balance (only mixed pools work)</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 61</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>90, 17</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Text" xml:space="preserve">
|
||||
<value>Pool Weight 4</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 32</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>90, 17</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Text" xml:space="preserve">
|
||||
<value>Pool Weight 5</value>
|
||||
</data>
|
||||
<data name="GrpBanners.Text" xml:space="preserve">
|
||||
<value>Banners</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="BtnClear.Text" xml:space="preserve">
|
||||
<value>Clear</value>
|
||||
</data>
|
||||
<data name="LblBannersJson.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>114, 17</value>
|
||||
</data>
|
||||
<data name="LblBannersJson.Text" xml:space="preserve">
|
||||
<value>Banners.json Path:</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>Load</value>
|
||||
</data>
|
||||
<data name="BtnSave.Text" xml:space="preserve">
|
||||
<value>Save</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Gacha Banner Editor</value>
|
||||
</data>
|
||||
</root>
|
1893
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.resx
Normal file
490
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.ru-ru.resx
Normal file
@@ -0,0 +1,490 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="BtnAddOrUpdate.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>180, 328</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>186, 23</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Text" xml:space="preserve">
|
||||
<value>√ Добавить или обновить</value>
|
||||
</data>
|
||||
<data name="LblTitlePath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 17</value>
|
||||
</data>
|
||||
<data name="LblTitlePath.Text" xml:space="preserve">
|
||||
<value>Title</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount10.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>224, 175</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount10.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>78, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount10.Text" xml:space="preserve">
|
||||
<value>Ten Amount</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>23, 175</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>83, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount1.Text" xml:space="preserve">
|
||||
<value>Cost Amount</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 307</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>288, 21</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Text" xml:space="preserve">
|
||||
<value>Авто возврат шанса выпадения с баннера</value>
|
||||
</data>
|
||||
<data name="LblOptions.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>56, 290</value>
|
||||
</data>
|
||||
<data name="LblOptions.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>50, 17</value>
|
||||
</data>
|
||||
<data name="LblOptions.Text" xml:space="preserve">
|
||||
<value>Опции</value>
|
||||
</data>
|
||||
<data name="ChkRemoveC6FormPool.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>157, 21</value>
|
||||
</data>
|
||||
<data name="ChkRemoveC6FormPool.Text" xml:space="preserve">
|
||||
<value>Удалить пул форм C6</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 17</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Text" xml:space="preserve">
|
||||
<value>Открыть старый редактор</value>
|
||||
</data>
|
||||
<data name="LblGachaType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>43, 28</value>
|
||||
</data>
|
||||
<data name="LblGachaType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>63, 17</value>
|
||||
</data>
|
||||
<data name="LblGachaType.Text" xml:space="preserve">
|
||||
<value>Тип Гачи</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>210, 262</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>86, 17</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Text" xml:space="preserve">
|
||||
<value>Шанс соб. 4*</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>20, 262</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>86, 17</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Text" xml:space="preserve">
|
||||
<value>Шанс соб. 5*</value>
|
||||
</data>
|
||||
<data name="LblSortId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>66, 233</value>
|
||||
</data>
|
||||
<data name="LblSortId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>40, 17</value>
|
||||
</data>
|
||||
<data name="LblSortId.Text" xml:space="preserve">
|
||||
<value>Сорт.</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>116, 17</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Text" xml:space="preserve">
|
||||
<value>Увеличение с 400</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>249, 204</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>47, 17</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Text" xml:space="preserve">
|
||||
<value>Конец</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 57</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>98, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Text" xml:space="preserve">
|
||||
<value>ID расписания</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>53, 204</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 17</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Text" xml:space="preserve">
|
||||
<value>Начало</value>
|
||||
</data>
|
||||
<data name="LblScheduleIdTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>84, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleIdTip.Text" xml:space="preserve">
|
||||
<value>Уникальный</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items" xml:space="preserve">
|
||||
<value>Стандартная Молитва</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items1" xml:space="preserve">
|
||||
<value>Молитва события персонажа</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items2" xml:space="preserve">
|
||||
<value>Молитва события с оружием</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>121, 17</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Text" xml:space="preserve">
|
||||
<value>Показать порядок</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>18, 87</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>88, 17</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Text" xml:space="preserve">
|
||||
<value>Тип баннера</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>116, 21</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Text" xml:space="preserve">
|
||||
<value>Судьбоносные</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>34, 148</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>72, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Text" xml:space="preserve">
|
||||
<value>Стоимость</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>47, 118</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>59, 17</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Text" xml:space="preserve">
|
||||
<value>Готовый</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>234, 146</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>141, 21</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Text" xml:space="preserve">
|
||||
<value>Переплетающиеся</value>
|
||||
</data>
|
||||
<data name="GrpBannerValues.Text" xml:space="preserve">
|
||||
<value>Баннер</value>
|
||||
</data>
|
||||
<data name="GrpFallbackPool.Text" xml:space="preserve">
|
||||
<value>Запасной Пул</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups4" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA0zLXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpUpPool.Text" xml:space="preserve">
|
||||
<value>Верхний Пул</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpWeights.Text" xml:space="preserve">
|
||||
<value>Gacha Веса</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>375, 0</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 17</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Text" xml:space="preserve">
|
||||
<value>Помощь</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>54, 61</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>52, 17</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Text" xml:space="preserve">
|
||||
<value>Веса 5*</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>54, 32</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>52, 17</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Text" xml:space="preserve">
|
||||
<value>Веса 5*</value>
|
||||
</data>
|
||||
<data name="GrpBalance.Text" xml:space="preserve">
|
||||
<value>Баланс персонажа и оружия (работают только смешанные пулы)</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>28, 61</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>78, 17</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Text" xml:space="preserve">
|
||||
<value>Пул Веса 4*</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>28, 29</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>78, 17</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Text" xml:space="preserve">
|
||||
<value>Пул Веса 5*</value>
|
||||
</data>
|
||||
<data name="GrpBanners.Text" xml:space="preserve">
|
||||
<value>Banners</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Text" xml:space="preserve">
|
||||
<value>- Удалить</value>
|
||||
</data>
|
||||
<data name="BtnClear.Text" xml:space="preserve">
|
||||
<value>× Очистить</value>
|
||||
</data>
|
||||
<data name="LblBannersJson.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>116, 17</value>
|
||||
</data>
|
||||
<data name="LblBannersJson.Text" xml:space="preserve">
|
||||
<value>Banners.json Путь:</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>Нагрузка</value>
|
||||
</data>
|
||||
<data name="BtnSave.Text" xml:space="preserve">
|
||||
<value>Сохранять</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Редактор баннеров Gacha</value>
|
||||
</data>
|
||||
</root>
|
307
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.zh-TW.resx
Normal file
@@ -0,0 +1,307 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="LblTitlePath.Text" xml:space="preserve">
|
||||
<value>封面標題</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount10.Text" xml:space="preserve">
|
||||
<value>十連消耗</value>
|
||||
</data>
|
||||
<data name="LblCostItemAmount1.Text" xml:space="preserve">
|
||||
<value>單抽消耗</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Text" xml:space="preserve">
|
||||
<value>自動避免UP被基礎抽中</value>
|
||||
</data>
|
||||
<data name="LblOptions.Text" xml:space="preserve">
|
||||
<value>選項</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Text" xml:space="preserve">
|
||||
<value>打開舊版本編輯器</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Text" xml:space="preserve">
|
||||
<value>4星活動爆率</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Text" xml:space="preserve">
|
||||
<value>5星活動爆率</value>
|
||||
</data>
|
||||
<data name="LblSortId.Text" xml:space="preserve">
|
||||
<value>順序</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Text" xml:space="preserve">
|
||||
<value>從400開始,順序遞增</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Text" xml:space="preserve">
|
||||
<value>結束時間</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Text" xml:space="preserve">
|
||||
<value>開始時間</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Text" xml:space="preserve">
|
||||
<value>客戶端中顯示的順序</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Text" xml:space="preserve">
|
||||
<value>獎池類型</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Text" xml:space="preserve">
|
||||
<value>相遇之緣</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Text" xml:space="preserve">
|
||||
<value>祈願道具</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="LblPrefabPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 17</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Text" xml:space="preserve">
|
||||
<value>預製</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Text" xml:space="preserve">
|
||||
<value>糾纏之緣</value>
|
||||
</data>
|
||||
<data name="GrpBannerValues.Text" xml:space="preserve">
|
||||
<value>卡池參數</value>
|
||||
</data>
|
||||
<data name="GrpFallbackPool.Text" xml:space="preserve">
|
||||
<value>基礎池</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo15pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo15pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo05pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo05pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups4" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAoz5pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo15pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo15pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo05pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo05pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpWeights.Text" xml:space="preserve">
|
||||
<value>卡池權重與保底機制</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Text" xml:space="preserve">
|
||||
<value>幫助</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Text" xml:space="preserve">
|
||||
<value>4星權重</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Text" xml:space="preserve">
|
||||
<value>5星權重</value>
|
||||
</data>
|
||||
<data name="GrpBalance.Text" xml:space="preserve">
|
||||
<value>角色和武器平衡機制(僅混合池有效)</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Text" xml:space="preserve">
|
||||
<value>4星池權重</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Text" xml:space="preserve">
|
||||
<value>5星池權重</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Text" xml:space="preserve">
|
||||
<value>刪除</value>
|
||||
</data>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Banners.json 路徑:</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>加載</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>卡池編輯器</value>
|
||||
</data>
|
||||
</root>
|
2568
Source/GrasscutterTools/Forms/FormMain.Designer.cs
generated
@@ -127,129 +127,15 @@
|
||||
<data name="ChkAutoCopy.Text" xml:space="preserve">
|
||||
<value>Auto</value>
|
||||
</data>
|
||||
<data name="GrpCommand.Text" xml:space="preserve">
|
||||
<value>Command - [Ctrl] Autorun - [|] Split multiple commands</value>
|
||||
</data>
|
||||
<data name="BtnInvokeOpenCommand.Text" xml:space="preserve">
|
||||
<value>Run(F5)</value>
|
||||
</data>
|
||||
<data name="GrpCommand.Text" xml:space="preserve">
|
||||
<value>Command - [Ctrl] Autorun - [Shift] Append - [Alt] Only run - [|] Split multiple commands</value>
|
||||
</data>
|
||||
<data name="TPRemoteCall.Text" xml:space="preserve">
|
||||
<value>Remote</value>
|
||||
</data>
|
||||
<data name="LnkInventoryKamera.Text" xml:space="preserve">
|
||||
<value>InventoryKamera</value>
|
||||
</data>
|
||||
<data name="LblGOODHelp.Text" xml:space="preserve">
|
||||
<value>Come and import your official server archive into GC!</value>
|
||||
</data>
|
||||
<data name="ButtonOpenGOODImport.Text" xml:space="preserve">
|
||||
<value>Import GOOD</value>
|
||||
</data>
|
||||
<data name="LblHostTip.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>108, 16</value>
|
||||
</data>
|
||||
<data name="LblHostTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>377, 17</value>
|
||||
</data>
|
||||
<data name="LblHostTip.Text" xml:space="preserve">
|
||||
<value>Please be sure https:// or http:// is included with the IP address</value>
|
||||
</data>
|
||||
<data name="GrpServerStatus.Text" xml:space="preserve">
|
||||
<value>Server status</value>
|
||||
</data>
|
||||
<data name="LnkOpenCommandLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>13, 63</value>
|
||||
</data>
|
||||
<data name="LnkOpenCommandLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>100, 17</value>
|
||||
</data>
|
||||
<data name="LnkOpenCommandLabel.Text" xml:space="preserve">
|
||||
<value>OpenCommand</value>
|
||||
</data>
|
||||
<data name="LblOpenCommandSupport.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>119, 63</value>
|
||||
</data>
|
||||
<data name="LblServerVersion.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>119, 29</value>
|
||||
</data>
|
||||
<data name="LblPlayerCount.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>119, 46</value>
|
||||
</data>
|
||||
<data name="LblServerVersionLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>25, 29</value>
|
||||
</data>
|
||||
<data name="LblServerVersionLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>88, 17</value>
|
||||
</data>
|
||||
<data name="LblServerVersionLabel.Text" xml:space="preserve">
|
||||
<value>Game version</value>
|
||||
</data>
|
||||
<data name="LblPlayerCountLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>34, 46</value>
|
||||
</data>
|
||||
<data name="LblPlayerCountLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>79, 17</value>
|
||||
</data>
|
||||
<data name="LblPlayerCountLabel.Text" xml:space="preserve">
|
||||
<value>Player count</value>
|
||||
</data>
|
||||
<data name="GrpRemoteCommand.Text" xml:space="preserve">
|
||||
<value>Remote Cell</value>
|
||||
</data>
|
||||
<data name="TPPlayerCheck.Text" xml:space="preserve">
|
||||
<value>Player</value>
|
||||
</data>
|
||||
<data name="LnkRCHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>35, 17</value>
|
||||
</data>
|
||||
<data name="LnkRCHelp.Text" xml:space="preserve">
|
||||
<value>Help</value>
|
||||
</data>
|
||||
<data name="BtnConnectOpenCommand.Text" xml:space="preserve">
|
||||
<value>Connect</value>
|
||||
</data>
|
||||
<data name="LblVerificationCode.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>39, 17</value>
|
||||
</data>
|
||||
<data name="LblVerificationCode.Text" xml:space="preserve">
|
||||
<value>Code</value>
|
||||
</data>
|
||||
<data name="BtnSendVerificationCode.Text" xml:space="preserve">
|
||||
<value>Send Code</value>
|
||||
</data>
|
||||
<data name="TPConsoleCheck.Text" xml:space="preserve">
|
||||
<value>Console</value>
|
||||
</data>
|
||||
<data name="BtnConsoleConnect.Text" xml:space="preserve">
|
||||
<value>Connect</value>
|
||||
</data>
|
||||
<data name="LblConsoleTip.Text" xml:space="preserve">
|
||||
<value>Note that normal commands in the console state must specify the target (set include UID)</value>
|
||||
</data>
|
||||
<data name="TxtHost.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>136, 36</value>
|
||||
</data>
|
||||
<data name="TxtHost.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>175, 23</value>
|
||||
</data>
|
||||
<data name="BtnQueryServerStatus.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>317, 36</value>
|
||||
</data>
|
||||
<data name="BtnQueryServerStatus.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>65, 23</value>
|
||||
</data>
|
||||
<data name="BtnQueryServerStatus.Text" xml:space="preserve">
|
||||
<value>Query</value>
|
||||
</data>
|
||||
<data name="LblHost.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 17</value>
|
||||
</data>
|
||||
<data name="LblHost.Text" xml:space="preserve">
|
||||
<value>Server IP</value>
|
||||
</data>
|
||||
<data name="TPAbout.Text" xml:space="preserve">
|
||||
<value>About</value>
|
||||
</data>
|
||||
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>387, 102</value>
|
||||
</data>
|
||||
@@ -261,104 +147,29 @@ If you think this is helpful to you, you can give me a free Star.
|
||||
If there is a problem with the command generation,
|
||||
or there is a new feature request, you can file an issue on Github.</value>
|
||||
</data>
|
||||
<data name="TPAbout.Text" xml:space="preserve">
|
||||
<value>About</value>
|
||||
</data>
|
||||
<data name="TPManage.Text" xml:space="preserve">
|
||||
<value>Manage</value>
|
||||
</data>
|
||||
<data name="GrpBanPlayer.Text" xml:space="preserve">
|
||||
<value>Ban</value>
|
||||
<data name="RbListDungeons.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>255, 7</value>
|
||||
</data>
|
||||
<data name="BtnUnban.Text" xml:space="preserve">
|
||||
<value>Unban</value>
|
||||
<data name="RbListDungeons.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>85, 21</value>
|
||||
</data>
|
||||
<data name="BtnBan.Text" xml:space="preserve">
|
||||
<value>Ban</value>
|
||||
<data name="RbListDungeons.Text" xml:space="preserve">
|
||||
<value>Dungeons</value>
|
||||
</data>
|
||||
<data name="TxtBanReason.Watermark" xml:space="preserve">
|
||||
<value>Reason</value>
|
||||
<data name="RbListScene.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>183, 7</value>
|
||||
</data>
|
||||
<data name="LblBanUID.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>30, 25</value>
|
||||
<data name="RbListScene.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>66, 21</value>
|
||||
</data>
|
||||
<data name="LblBanUID.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>30, 17</value>
|
||||
</data>
|
||||
<data name="LblBanUID.Text" xml:space="preserve">
|
||||
<value>UID</value>
|
||||
</data>
|
||||
<data name="GrpAccount.Text" xml:space="preserve">
|
||||
<value>Account</value>
|
||||
</data>
|
||||
<data name="ChkAccountSetUid.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>49, 21</value>
|
||||
</data>
|
||||
<data name="ChkAccountSetUid.Text" xml:space="preserve">
|
||||
<value>UID</value>
|
||||
</data>
|
||||
<data name="NUDAccountUid.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>270, 23</value>
|
||||
</data>
|
||||
<data name="NUDAccountUid.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>130, 23</value>
|
||||
</data>
|
||||
<data name="BtnDeleteAccount.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="BtnCreateAccount.Text" xml:space="preserve">
|
||||
<value>Create</value>
|
||||
</data>
|
||||
<data name="LblAccountUserName.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 25</value>
|
||||
</data>
|
||||
<data name="LblAccountUserName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>67, 17</value>
|
||||
</data>
|
||||
<data name="LblAccountUserName.Text" xml:space="preserve">
|
||||
<value>Username</value>
|
||||
</data>
|
||||
<data name="TxtAccountUserName.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>79, 22</value>
|
||||
</data>
|
||||
<data name="TxtAccountUserName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>127, 23</value>
|
||||
</data>
|
||||
<data name="GrpPermission.Text" xml:space="preserve">
|
||||
<value>Permissions</value>
|
||||
</data>
|
||||
<data name="CmbPerm.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>262, 21</value>
|
||||
</data>
|
||||
<data name="CmbPerm.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>138, 25</value>
|
||||
</data>
|
||||
<data name="BtnPermClear.Text" xml:space="preserve">
|
||||
<value>Clear</value>
|
||||
</data>
|
||||
<data name="BtmPermRemove.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="BtnPermList.Text" xml:space="preserve">
|
||||
<value>List</value>
|
||||
</data>
|
||||
<data name="BtnPermAdd.Text" xml:space="preserve">
|
||||
<value>Add</value>
|
||||
</data>
|
||||
<data name="LblPerm.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>44, 17</value>
|
||||
</data>
|
||||
<data name="LblPerm.Text" xml:space="preserve">
|
||||
<value>Perms</value>
|
||||
</data>
|
||||
<data name="LblPermUID.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>30, 25</value>
|
||||
</data>
|
||||
<data name="LblPermUID.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>30, 17</value>
|
||||
</data>
|
||||
<data name="LblPermUID.Text" xml:space="preserve">
|
||||
<value>UID</value>
|
||||
</data>
|
||||
<data name="TPScene.Text" xml:space="preserve">
|
||||
<value>Scene</value>
|
||||
<data name="RbListScene.Text" xml:space="preserve">
|
||||
<value>Scenes</value>
|
||||
</data>
|
||||
<data name="ChkIncludeSceneId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>91, 213</value>
|
||||
@@ -413,8 +224,7 @@ or there is a new feature request, you can file an issue on Github.</value>
|
||||
<value>287, 55</value>
|
||||
</data>
|
||||
<data name="LblSceneDescription.Text" xml:space="preserve">
|
||||
<value>Scene control
|
||||
Tip: Most of the scenes have no effect and cannot be entered.</value>
|
||||
<value>Scene control</value>
|
||||
</data>
|
||||
<data name="LblTp.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
@@ -430,282 +240,21 @@ Tip: Most of the scenes have no effect and cannot be entered.</value>
|
||||
Tip: You can quickly teleport through the 'fishing hook' pin on the map in-game.
|
||||
In the command, you can use ~ to indicate the current position, and ~N to indicate the relative current N</value>
|
||||
</data>
|
||||
<data name="TPScene.Text" xml:space="preserve">
|
||||
<value>Scene</value>
|
||||
</data>
|
||||
<data name="TPItem.Text" xml:space="preserve">
|
||||
<value>Items</value>
|
||||
</data>
|
||||
<data name="LblClearGiveItemLogs.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>50, 17</value>
|
||||
</data>
|
||||
<data name="LblClearGiveItemLogs.Text" xml:space="preserve">
|
||||
<value>X Clear</value>
|
||||
</data>
|
||||
<data name="BtnSaveGiveItemLog.Text" xml:space="preserve">
|
||||
<value>√ Record</value>
|
||||
</data>
|
||||
<data name="BtnRemoveGiveItemLog.Text" xml:space="preserve">
|
||||
<value>× Delete</value>
|
||||
</data>
|
||||
<data name="GrpGiveItemRecord.Text" xml:space="preserve">
|
||||
<value>Records</value>
|
||||
</data>
|
||||
<data name="ChkDrop.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>278, 217</value>
|
||||
</data>
|
||||
<data name="ChkDrop.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>57, 21</value>
|
||||
</data>
|
||||
<data name="ChkDrop.Text" xml:space="preserve">
|
||||
<value>Drop</value>
|
||||
</data>
|
||||
<data name="LblGameItemAmount.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 17</value>
|
||||
</data>
|
||||
<data name="LblGameItemAmount.Text" xml:space="preserve">
|
||||
<value>Amount</value>
|
||||
</data>
|
||||
<data name="LblGameItemLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>171, 218</value>
|
||||
</data>
|
||||
<data name="LblGameItemLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>37, 17</value>
|
||||
</data>
|
||||
<data name="LblGameItemLevel.Text" xml:space="preserve">
|
||||
<value>Level</value>
|
||||
</data>
|
||||
<data name="NUDGameItemAmout.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>65, 216</value>
|
||||
</data>
|
||||
<data name="NUDGameItemLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>209, 216</value>
|
||||
</data>
|
||||
<data name="LblGiveCommandDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>118, 17</value>
|
||||
</data>
|
||||
<data name="LblGiveCommandDescription.Text" xml:space="preserve">
|
||||
<value>Give item to player</value>
|
||||
</data>
|
||||
<data name="TPWeapon.Text" xml:space="preserve">
|
||||
<value>Weapons</value>
|
||||
</data>
|
||||
<data name="BtnGiveAllWeapons.Text" xml:space="preserve">
|
||||
<value>Give all Weapons</value>
|
||||
</data>
|
||||
<data name="LblWeaponDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>86, 17</value>
|
||||
</data>
|
||||
<data name="LblWeaponDescription.Text" xml:space="preserve">
|
||||
<value>Give Weapon</value>
|
||||
</data>
|
||||
<data name="LblWeaponRefinement.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>203, 218</value>
|
||||
</data>
|
||||
<data name="LblWeaponRefinement.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 17</value>
|
||||
</data>
|
||||
<data name="LblWeaponRefinement.Text" xml:space="preserve">
|
||||
<value>Refinement</value>
|
||||
</data>
|
||||
<data name="LblWeaponAmount.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 17</value>
|
||||
</data>
|
||||
<data name="LblWeaponAmount.Text" xml:space="preserve">
|
||||
<value>Amount</value>
|
||||
</data>
|
||||
<data name="LblWeaponLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>121, 218</value>
|
||||
</data>
|
||||
<data name="LblWeaponLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>20, 17</value>
|
||||
</data>
|
||||
<data name="LblWeaponLevel.Text" xml:space="preserve">
|
||||
<value>Lv</value>
|
||||
</data>
|
||||
<data name="NUDWeaponRefinement.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>282, 216</value>
|
||||
</data>
|
||||
<data name="NUDWeaponAmout.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>65, 216</value>
|
||||
</data>
|
||||
<data name="NUDWeaponLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>147, 216</value>
|
||||
</data>
|
||||
<data name="TPAvatar.Text" xml:space="preserve">
|
||||
<value>Avatar</value>
|
||||
</data>
|
||||
<data name="GrpSetConstellation.Text" xml:space="preserve">
|
||||
<value>Constellation</value>
|
||||
</data>
|
||||
<data name="LnkSetAllConst.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>43, 17</value>
|
||||
</data>
|
||||
<data name="LnkSetAllConst.Text" xml:space="preserve">
|
||||
<value>Set all</value>
|
||||
</data>
|
||||
<data name="LnkSetConst.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>71, 17</value>
|
||||
</data>
|
||||
<data name="LnkSetConst.Text" xml:space="preserve">
|
||||
<value>Set current</value>
|
||||
</data>
|
||||
<data name="GrpSetStats.Text" xml:space="preserve">
|
||||
<value>Stats</value>
|
||||
</data>
|
||||
<data name="BtnUnlockStat.Text" xml:space="preserve">
|
||||
<value>Unlock</value>
|
||||
</data>
|
||||
<data name="BtnLockStat.Text" xml:space="preserve">
|
||||
<value>Lock</value>
|
||||
</data>
|
||||
<data name="LblStatTip.Text" xml:space="preserve">
|
||||
<value>Tip</value>
|
||||
</data>
|
||||
<data name="GrpTalentLevel.Text" xml:space="preserve">
|
||||
<value>Talent Level</value>
|
||||
</data>
|
||||
<data name="LnkTalentAll.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>146, 24</value>
|
||||
</data>
|
||||
<data name="LnkTalentAll.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>22, 17</value>
|
||||
</data>
|
||||
<data name="LnkTalentAll.Text" xml:space="preserve">
|
||||
<value>All</value>
|
||||
</data>
|
||||
<data name="LnkTalentE.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>283, 24</value>
|
||||
</data>
|
||||
<data name="LnkTalentE.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>15, 17</value>
|
||||
</data>
|
||||
<data name="LnkTalentE.Text" xml:space="preserve">
|
||||
<value>E</value>
|
||||
</data>
|
||||
<data name="LnkTalentQ.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>259, 24</value>
|
||||
</data>
|
||||
<data name="LnkTalentQ.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>18, 17</value>
|
||||
</data>
|
||||
<data name="LnkTalentQ.Text" xml:space="preserve">
|
||||
<value>Q</value>
|
||||
</data>
|
||||
<data name="LnkTalentNormalATK.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>178, 24</value>
|
||||
</data>
|
||||
<data name="LnkTalentNormalATK.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 17</value>
|
||||
</data>
|
||||
<data name="LnkTalentNormalATK.Text" xml:space="preserve">
|
||||
<value>NormalATK</value>
|
||||
</data>
|
||||
<data name="NUDTalentLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>96, 23</value>
|
||||
</data>
|
||||
<data name="BtnGiveAllChar.Text" xml:space="preserve">
|
||||
<value>Give All Char</value>
|
||||
</data>
|
||||
<data name="LblAvatarLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>37, 17</value>
|
||||
</data>
|
||||
<data name="LblAvatarLevel.Text" xml:space="preserve">
|
||||
<value>Level</value>
|
||||
</data>
|
||||
<data name="LblAvatarSkillLevelLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>61, 17</value>
|
||||
</data>
|
||||
<data name="LblAvatarSkillLevelLabel.Text" xml:space="preserve">
|
||||
<value>Skill level</value>
|
||||
</data>
|
||||
<data name="LblAvatar.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>45, 17</value>
|
||||
</data>
|
||||
<data name="LblAvatar.Text" xml:space="preserve">
|
||||
<value>Avatar</value>
|
||||
</data>
|
||||
<data name="LblAvatarConstellation.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>44, 17</value>
|
||||
</data>
|
||||
<data name="LblAvatarConstellation.Text" xml:space="preserve">
|
||||
<value>Const.</value>
|
||||
</data>
|
||||
<data name="TPSpawn.Text" xml:space="preserve">
|
||||
<value>Spawn</value>
|
||||
</data>
|
||||
<data name="ChkInfiniteHP.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>202, 217</value>
|
||||
</data>
|
||||
<data name="ChkInfiniteHP.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>86, 21</value>
|
||||
</data>
|
||||
<data name="ChkInfiniteHP.Text" xml:space="preserve">
|
||||
<value>Infinite HP</value>
|
||||
</data>
|
||||
<data name="LblClearSpawnLogs.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>204, 25</value>
|
||||
</data>
|
||||
<data name="LblClearSpawnLogs.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>50, 17</value>
|
||||
</data>
|
||||
<data name="LblClearSpawnLogs.Text" xml:space="preserve">
|
||||
<value>X Clear</value>
|
||||
</data>
|
||||
<data name="BtnSaveSpawnLog.Text" xml:space="preserve">
|
||||
<value>√ Record</value>
|
||||
</data>
|
||||
<data name="BtnRemoveSpawnLog.Text" xml:space="preserve">
|
||||
<value>× Delete</value>
|
||||
</data>
|
||||
<data name="GrpSpawnRecord.Text" xml:space="preserve">
|
||||
<value>Records</value>
|
||||
</data>
|
||||
<data name="GrpEntityType.Text" xml:space="preserve">
|
||||
<value>Class</value>
|
||||
</data>
|
||||
<data name="RbEntityAnimal.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>65, 21</value>
|
||||
</data>
|
||||
<data name="RbEntityAnimal.Text" xml:space="preserve">
|
||||
<value>Animal</value>
|
||||
</data>
|
||||
<data name="RbEntityMonster.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 21</value>
|
||||
</data>
|
||||
<data name="RbEntityMonster.Text" xml:space="preserve">
|
||||
<value>Monster</value>
|
||||
</data>
|
||||
<data name="LblSpawnDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>81, 17</value>
|
||||
</data>
|
||||
<data name="LblSpawnDescription.Text" xml:space="preserve">
|
||||
<value>Spawn entity</value>
|
||||
</data>
|
||||
<data name="LblEntityAmount.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 17</value>
|
||||
</data>
|
||||
<data name="LblEntityAmount.Text" xml:space="preserve">
|
||||
<value>Amount</value>
|
||||
</data>
|
||||
<data name="LblEntityLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>120, 218</value>
|
||||
</data>
|
||||
<data name="LblEntityLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>20, 17</value>
|
||||
</data>
|
||||
<data name="LblEntityLevel.Text" xml:space="preserve">
|
||||
<value>Lv</value>
|
||||
</data>
|
||||
<data name="NUDEntityAmout.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>64, 216</value>
|
||||
</data>
|
||||
<data name="NUDEntityLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>146, 216</value>
|
||||
</data>
|
||||
<data name="TPQuest.Text" xml:space="preserve">
|
||||
<value>Quest</value>
|
||||
</data>
|
||||
<data name="GrpQuestFilters.Text" xml:space="preserve">
|
||||
<value>List Filter</value>
|
||||
</data>
|
||||
<data name="ChkQuestFilterTEST.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>51, 21</value>
|
||||
</data>
|
||||
@@ -724,6 +273,9 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
|
||||
<data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve">
|
||||
<value>Hidden</value>
|
||||
</data>
|
||||
<data name="GrpQuestFilters.Text" xml:space="preserve">
|
||||
<value>List Filter</value>
|
||||
</data>
|
||||
<data name="BtnFinishQuest.Text" xml:space="preserve">
|
||||
<value>Finish</value>
|
||||
</data>
|
||||
@@ -735,259 +287,19 @@ In the command, you can use ~ to indicate the current position, and ~N to indica
|
||||
Tip: Many quest require server-side scripting support
|
||||
Therefore, the quest can be added and finished, but not necessarily work.</value>
|
||||
</data>
|
||||
<data name="TPQuest.Text" xml:space="preserve">
|
||||
<value>Quest</value>
|
||||
</data>
|
||||
<data name="TPArtifact.Text" xml:space="preserve">
|
||||
<value>Artifacts</value>
|
||||
</data>
|
||||
<data name="BtnAddSubAttr.Text" xml:space="preserve">
|
||||
<value>+ Add</value>
|
||||
</data>
|
||||
<data name="LblArtifactPart.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>31, 17</value>
|
||||
</data>
|
||||
<data name="LblArtifactPart.Text" xml:space="preserve">
|
||||
<value>Part</value>
|
||||
</data>
|
||||
<data name="LblArtifactSet.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 11</value>
|
||||
</data>
|
||||
<data name="LblArtifactSet.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>49, 17</value>
|
||||
</data>
|
||||
<data name="LblArtifactSet.Text" xml:space="preserve">
|
||||
<value>Artifact</value>
|
||||
</data>
|
||||
<data name="LblClearSubAttrCheckedList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>50, 17</value>
|
||||
</data>
|
||||
<data name="LblClearSubAttrCheckedList.Text" xml:space="preserve">
|
||||
<value>X Clear</value>
|
||||
</data>
|
||||
<data name="LblArtifactLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>124, 41</value>
|
||||
</data>
|
||||
<data name="LblArtifactLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>37, 17</value>
|
||||
</data>
|
||||
<data name="LblArtifactLevel.Text" xml:space="preserve">
|
||||
<value>Level</value>
|
||||
</data>
|
||||
<data name="LblSubAttribution.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>105, 102</value>
|
||||
</data>
|
||||
<data name="LblSubAttribution.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>56, 17</value>
|
||||
</data>
|
||||
<data name="LblSubAttribution.Text" xml:space="preserve">
|
||||
<value>Sub Stat</value>
|
||||
</data>
|
||||
<data name="LblMainAttribution.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>98, 71</value>
|
||||
</data>
|
||||
<data name="LblMainAttribution.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>63, 17</value>
|
||||
</data>
|
||||
<data name="LblMainAttribution.Text" xml:space="preserve">
|
||||
<value>Main Stat</value>
|
||||
</data>
|
||||
<data name="LblArtifactStars.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>37, 17</value>
|
||||
</data>
|
||||
<data name="LblArtifactStars.Text" xml:space="preserve">
|
||||
<value>Stars</value>
|
||||
</data>
|
||||
<data name="TPCustom.Text" xml:space="preserve">
|
||||
<value>Custom</value>
|
||||
</data>
|
||||
<data name="BtnExportCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>583, 216</value>
|
||||
</data>
|
||||
<data name="BtnExportCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 23</value>
|
||||
</data>
|
||||
<data name="BtnExportCustomCommands.Text" xml:space="preserve">
|
||||
<value>Export</value>
|
||||
</data>
|
||||
<data name="BtnLoadCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>517, 216</value>
|
||||
</data>
|
||||
<data name="BtnLoadCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 23</value>
|
||||
</data>
|
||||
<data name="BtnLoadCustomCommands.Text" xml:space="preserve">
|
||||
<value>Load</value>
|
||||
</data>
|
||||
<data name="LblCustomName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>30, 17</value>
|
||||
</data>
|
||||
<data name="LblCustomName.Text" xml:space="preserve">
|
||||
<value>Tag</value>
|
||||
</data>
|
||||
<data name="groupBox1.Text" xml:space="preserve">
|
||||
<value>List</value>
|
||||
</data>
|
||||
<data name="LnkResetCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>581, -1</value>
|
||||
</data>
|
||||
<data name="LnkResetCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 17</value>
|
||||
</data>
|
||||
<data name="LnkResetCustomCommands.Text" xml:space="preserve">
|
||||
<value>Restore</value>
|
||||
</data>
|
||||
<data name="BtnRemoveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>443, 216</value>
|
||||
</data>
|
||||
<data name="BtnRemoveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>70, 23</value>
|
||||
</data>
|
||||
<data name="BtnRemoveCustomCommand.Text" xml:space="preserve">
|
||||
<value>x Delete</value>
|
||||
</data>
|
||||
<data name="BtnSaveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>367, 216</value>
|
||||
</data>
|
||||
<data name="BtnSaveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>70, 23</value>
|
||||
</data>
|
||||
<data name="BtnSaveCustomCommand.Text" xml:space="preserve">
|
||||
<value>√ Save</value>
|
||||
</data>
|
||||
<data name="TxtCustomName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>317, 23</value>
|
||||
</data>
|
||||
<data name="TPHome.Text" xml:space="preserve">
|
||||
<value>Home</value>
|
||||
</data>
|
||||
<data name="BtnOpenDropEditor.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>546, 216</value>
|
||||
</data>
|
||||
<data name="BtnOpenDropEditor.Text" xml:space="preserve">
|
||||
<value>Drop Editor</value>
|
||||
</data>
|
||||
<data name="LblAbout.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>74, 38</value>
|
||||
</data>
|
||||
<data name="LblAbout.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>158, 24</value>
|
||||
</data>
|
||||
<data name="LblAbout.Text" xml:space="preserve">
|
||||
<value>Have a nice time!</value>
|
||||
</data>
|
||||
<data name="BtnOpenTextMap.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>120, 23</value>
|
||||
</data>
|
||||
<data name="BtnOpenTextMap.Text" xml:space="preserve">
|
||||
<value>TextMapBrowser</value>
|
||||
</data>
|
||||
<data name="BtnOpenGachaBannerEditor.Text" xml:space="preserve">
|
||||
<value>Banner Editor</value>
|
||||
</data>
|
||||
<data name="GrpSettings.Text" xml:space="preserve">
|
||||
<value>Settings</value>
|
||||
</data>
|
||||
<data name="ChkTopMost.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>109, 21</value>
|
||||
</data>
|
||||
<data name="ChkTopMost.Text" xml:space="preserve">
|
||||
<value>Always on top</value>
|
||||
</data>
|
||||
<data name="ChkIncludeUID.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>95, 21</value>
|
||||
</data>
|
||||
<data name="ChkIncludeUID.Text" xml:space="preserve">
|
||||
<value>Include UID</value>
|
||||
</data>
|
||||
<data name="TPMail.Text" xml:space="preserve">
|
||||
<value>Mail</value>
|
||||
</data>
|
||||
<data name="BtnAddMailItem.Text" xml:space="preserve">
|
||||
<value>+ Add</value>
|
||||
</data>
|
||||
<data name="BtnDeleteMailItem.Text" xml:space="preserve">
|
||||
<value>- Delete</value>
|
||||
</data>
|
||||
<data name="tabPage1.Text" xml:space="preserve">
|
||||
<value>Items</value>
|
||||
</data>
|
||||
<data name="NUDMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>171, 4</value>
|
||||
</data>
|
||||
<data name="NUDMailItemCount.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>47, 4</value>
|
||||
</data>
|
||||
<data name="LblMailItemCount.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 6</value>
|
||||
</data>
|
||||
<data name="LblMailItemCount.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>45, 17</value>
|
||||
</data>
|
||||
<data name="LblMailItemCount.Text" xml:space="preserve">
|
||||
<value>Count:</value>
|
||||
</data>
|
||||
<data name="LblMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>123, 6</value>
|
||||
</data>
|
||||
<data name="LblMailItemLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>40, 17</value>
|
||||
</data>
|
||||
<data name="LblMailItemLevel.Text" xml:space="preserve">
|
||||
<value>Level:</value>
|
||||
</data>
|
||||
<data name="tabPage2.Text" xml:space="preserve">
|
||||
<value>Mailbox</value>
|
||||
</data>
|
||||
<data name="BtnClearMail.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>84, 4</value>
|
||||
</data>
|
||||
<data name="BtnClearMail.Text" xml:space="preserve">
|
||||
<value>× Clear</value>
|
||||
</data>
|
||||
<data name="BtnRemoveMail.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 4</value>
|
||||
</data>
|
||||
<data name="BtnRemoveMail.Text" xml:space="preserve">
|
||||
<value>- Delete</value>
|
||||
</data>
|
||||
<data name="BtnSendMail.Text" xml:space="preserve">
|
||||
<value>Send</value>
|
||||
</data>
|
||||
<data name="LblMailItemsLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>43, 17</value>
|
||||
</data>
|
||||
<data name="LblMailItemsLabel.Text" xml:space="preserve">
|
||||
<value>Items:</value>
|
||||
</data>
|
||||
<data name="RbMailSendToPlayer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>61, 21</value>
|
||||
</data>
|
||||
<data name="RbMailSendToPlayer.Text" xml:space="preserve">
|
||||
<value>Player</value>
|
||||
</data>
|
||||
<data name="RbMailSendToAll.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>40, 21</value>
|
||||
</data>
|
||||
<data name="RbMailSendToAll.Text" xml:space="preserve">
|
||||
<value>All</value>
|
||||
</data>
|
||||
<data name="LblMailRecipientLabel.Text" xml:space="preserve">
|
||||
<value>Send to:</value>
|
||||
</data>
|
||||
<data name="LblMailContentLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>56, 17</value>
|
||||
</data>
|
||||
<data name="LblMailContentLabel.Text" xml:space="preserve">
|
||||
<value>Content:</value>
|
||||
</data>
|
||||
<data name="LblMailTitleLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>35, 17</value>
|
||||
</data>
|
||||
<data name="LblMailTitleLabel.Text" xml:space="preserve">
|
||||
<value>Title:</value>
|
||||
</data>
|
||||
<data name="LblMailSenderLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>52, 17</value>
|
||||
</data>
|
||||
<data name="LblMailSenderLabel.Text" xml:space="preserve">
|
||||
<value>Sender:</value>
|
||||
</data>
|
||||
</root>
|
@@ -123,77 +123,16 @@
|
||||
<data name="ChkAutoCopy.Text" xml:space="preserve">
|
||||
<value>自動</value>
|
||||
</data>
|
||||
<data name="GrpCommand.Text" xml:space="preserve">
|
||||
<value>命令 - [Ctrl] 自動執行 - [|] 分割多條命令</value>
|
||||
</data>
|
||||
<data name="BtnInvokeOpenCommand.Text" xml:space="preserve">
|
||||
<value>執行(F5)</value>
|
||||
</data>
|
||||
<data name="GrpCommand.Text" xml:space="preserve">
|
||||
<value>命令 - [Ctrl] 自動執行 - [Shift] 拼接命令 - [Alt] 僅執行 - [|] 分割多條命令</value>
|
||||
</data>
|
||||
<data name="TPRemoteCall.Text" xml:space="preserve">
|
||||
<value>遠程</value>
|
||||
</data>
|
||||
<data name="LnkInventoryKamera.Text" xml:space="preserve">
|
||||
<value>存檔掃描開源工具</value>
|
||||
</data>
|
||||
<data name="LblGOODHelp.Text" xml:space="preserve">
|
||||
<value>快來把你的官服存檔導入GC吧!</value>
|
||||
</data>
|
||||
<data name="ButtonOpenGOODImport.Text" xml:space="preserve">
|
||||
<value>導入GOOD檔案</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="LblHostTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>206, 17</value>
|
||||
</data>
|
||||
<data name="LblHostTip.Text" xml:space="preserve">
|
||||
<value>請確保地址中包含 http:// 或 https://</value>
|
||||
</data>
|
||||
<data name="GrpServerStatus.Text" xml:space="preserve">
|
||||
<value>伺服器狀態</value>
|
||||
</data>
|
||||
<data name="LnkOpenCommandLabel.Text" xml:space="preserve">
|
||||
<value>遠程執行插件</value>
|
||||
</data>
|
||||
<data name="LblServerVersionLabel.Text" xml:space="preserve">
|
||||
<value>遊戲版本</value>
|
||||
</data>
|
||||
<data name="LblPlayerCountLabel.Text" xml:space="preserve">
|
||||
<value>當前玩家數</value>
|
||||
</data>
|
||||
<data name="GrpRemoteCommand.Text" xml:space="preserve">
|
||||
<value>遠程執行</value>
|
||||
</data>
|
||||
<data name="TPPlayerCheck.Text" xml:space="preserve">
|
||||
<value>玩家驗證</value>
|
||||
</data>
|
||||
<data name="LnkRCHelp.Text" xml:space="preserve">
|
||||
<value>幫助</value>
|
||||
</data>
|
||||
<data name="BtnConnectOpenCommand.Text" xml:space="preserve">
|
||||
<value>連接</value>
|
||||
</data>
|
||||
<data name="LblVerificationCode.Text" xml:space="preserve">
|
||||
<value>驗證碼</value>
|
||||
</data>
|
||||
<data name="BtnSendVerificationCode.Text" xml:space="preserve">
|
||||
<value>發送驗證碼</value>
|
||||
</data>
|
||||
<data name="BtnConsoleConnect.Text" xml:space="preserve">
|
||||
<value>連接</value>
|
||||
</data>
|
||||
<data name="LblConsoleTip.Text" xml:space="preserve">
|
||||
<value>請注意,控制台狀態下普通命令必須指定目標
|
||||
(即設置包含UID)</value>
|
||||
</data>
|
||||
<data name="BtnQueryServerStatus.Text" xml:space="preserve">
|
||||
<value>查詢</value>
|
||||
</data>
|
||||
<data name="LblHost.Text" xml:space="preserve">
|
||||
<value>伺服器地址</value>
|
||||
</data>
|
||||
<data name="TPAbout.Text" xml:space="preserve">
|
||||
<value>關於</value>
|
||||
</data>
|
||||
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>334, 102</value>
|
||||
</data>
|
||||
@@ -205,34 +144,13 @@
|
||||
如果願意請我喝一杯奶茶,那就更好了 : )
|
||||
指令生成有問題,或者有新的功能請求,都可以來Github提出</value>
|
||||
</data>
|
||||
<data name="BtnBan.Text" xml:space="preserve">
|
||||
<value>封號</value>
|
||||
<data name="TPAbout.Text" xml:space="preserve">
|
||||
<value>關於</value>
|
||||
</data>
|
||||
<data name="LblBanUID.Text" xml:space="preserve">
|
||||
<value>目標UID</value>
|
||||
<data name="RbListDungeons.Text" xml:space="preserve">
|
||||
<value>祕境</value>
|
||||
</data>
|
||||
<data name="GrpAccount.Text" xml:space="preserve">
|
||||
<value>賬號管理</value>
|
||||
</data>
|
||||
<data name="BtnDeleteAccount.Text" xml:space="preserve">
|
||||
<value>- 刪除</value>
|
||||
</data>
|
||||
<data name="BtnCreateAccount.Text" xml:space="preserve">
|
||||
<value>+ 創建</value>
|
||||
</data>
|
||||
<data name="LblAccountUserName.Text" xml:space="preserve">
|
||||
<value>用戶名</value>
|
||||
</data>
|
||||
<data name="GrpPermission.Text" xml:space="preserve">
|
||||
<value>權限管理</value>
|
||||
</data>
|
||||
<data name="LblPerm.Text" xml:space="preserve">
|
||||
<value>權限</value>
|
||||
</data>
|
||||
<data name="LblPermUID.Text" xml:space="preserve">
|
||||
<value>目標UID</value>
|
||||
</data>
|
||||
<data name="TPScene.Text" xml:space="preserve">
|
||||
<data name="RbListScene.Text" xml:space="preserve">
|
||||
<value>場景</value>
|
||||
</data>
|
||||
<data name="ChkIncludeSceneId.Text" xml:space="preserve">
|
||||
@@ -245,9 +163,7 @@
|
||||
<value>設置天氣</value>
|
||||
</data>
|
||||
<data name="LblSceneDescription.Text" xml:space="preserve">
|
||||
<value>場景控制
|
||||
|
||||
提示:大部分場景沒有作用,無法進入。</value>
|
||||
<value>場景控制</value>
|
||||
</data>
|
||||
<data name="LblTp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>290, 51</value>
|
||||
@@ -257,122 +173,8 @@
|
||||
提示:遊戲內可以通過小地圖的'魚鉤'標記來快捷傳送
|
||||
命令中可以用~表示當前位置,~N 表示相對當前N</value>
|
||||
</data>
|
||||
<data name="BtnSaveGiveItemLog.Text" xml:space="preserve">
|
||||
<value>√ 記錄</value>
|
||||
</data>
|
||||
<data name="BtnRemoveGiveItemLog.Text" xml:space="preserve">
|
||||
<value>× 刪除</value>
|
||||
</data>
|
||||
<data name="GrpGiveItemRecord.Text" xml:space="preserve">
|
||||
<value>物品記錄本</value>
|
||||
</data>
|
||||
<data name="LblGameItemAmount.Text" xml:space="preserve">
|
||||
<value>數量</value>
|
||||
</data>
|
||||
<data name="LblGameItemLevel.Text" xml:space="preserve">
|
||||
<value>等級</value>
|
||||
</data>
|
||||
<data name="LblGiveCommandDescription.Text" xml:space="preserve">
|
||||
<value>給玩家指定物品
|
||||
說明:可選擇直接給到背包或者掉落到世界</value>
|
||||
</data>
|
||||
<data name="BtnGiveAllWeapons.Text" xml:space="preserve">
|
||||
<value>獲得所有武器</value>
|
||||
</data>
|
||||
<data name="LblWeaponDescription.Text" xml:space="preserve">
|
||||
<value>獲取武器
|
||||
|
||||
說明:設定等級會自動設定突破等級
|
||||
>20級突破1
|
||||
>40級突破2
|
||||
>50級突破3
|
||||
>60級突破4
|
||||
>70級突破5
|
||||
>80級突破6</value>
|
||||
</data>
|
||||
<data name="LblWeaponRefinement.Text" xml:space="preserve">
|
||||
<value>精煉等級</value>
|
||||
</data>
|
||||
<data name="LblWeaponAmount.Text" xml:space="preserve">
|
||||
<value>數量</value>
|
||||
</data>
|
||||
<data name="LblWeaponLevel.Text" xml:space="preserve">
|
||||
<value>等級</value>
|
||||
</data>
|
||||
<data name="GrpSetConstellation.Text" xml:space="preserve">
|
||||
<value>設置命座</value>
|
||||
</data>
|
||||
<data name="LnkSetAllConst.Text" xml:space="preserve">
|
||||
<value>設置所有角色</value>
|
||||
</data>
|
||||
<data name="LnkSetConst.Text" xml:space="preserve">
|
||||
<value>設置當前角色</value>
|
||||
</data>
|
||||
<data name="GrpSetStats.Text" xml:space="preserve">
|
||||
<value>角色屬性</value>
|
||||
</data>
|
||||
<data name="BtnUnlockStat.Text" xml:space="preserve">
|
||||
<value>解鎖</value>
|
||||
</data>
|
||||
<data name="BtnLockStat.Text" xml:space="preserve">
|
||||
<value>鎖定</value>
|
||||
</data>
|
||||
<data name="GrpTalentLevel.Text" xml:space="preserve">
|
||||
<value>技能等級</value>
|
||||
</data>
|
||||
<data name="LnkTalentNormalATK.Text" xml:space="preserve">
|
||||
<value>普通攻擊</value>
|
||||
</data>
|
||||
<data name="BtnGiveAllChar.Text" xml:space="preserve">
|
||||
<value>一鍵獲得所有角色</value>
|
||||
</data>
|
||||
<data name="LblAvatarLevel.Text" xml:space="preserve">
|
||||
<value>等級</value>
|
||||
</data>
|
||||
<data name="LblAvatarSkillLevelLabel.Text" xml:space="preserve">
|
||||
<value>技能等級</value>
|
||||
</data>
|
||||
<data name="ChkInfiniteHP.Text" xml:space="preserve">
|
||||
<value>無限血</value>
|
||||
</data>
|
||||
<data name="BtnSaveSpawnLog.Text" xml:space="preserve">
|
||||
<value>√ 記錄</value>
|
||||
</data>
|
||||
<data name="BtnRemoveSpawnLog.Text" xml:space="preserve">
|
||||
<value>× 刪除</value>
|
||||
</data>
|
||||
<data name="GrpSpawnRecord.Text" xml:space="preserve">
|
||||
<value>生成記錄本</value>
|
||||
</data>
|
||||
<data name="GrpEntityType.Text" xml:space="preserve">
|
||||
<value>列表分類</value>
|
||||
</data>
|
||||
<data name="RbEntityAnimal.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>62, 21</value>
|
||||
</data>
|
||||
<data name="RbEntityAnimal.Text" xml:space="preserve">
|
||||
<value>生物誌</value>
|
||||
</data>
|
||||
<data name="RbEntityMonster.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>74, 21</value>
|
||||
</data>
|
||||
<data name="RbEntityMonster.Text" xml:space="preserve">
|
||||
<value>討伐對象</value>
|
||||
</data>
|
||||
<data name="LblSpawnDescription.Text" xml:space="preserve">
|
||||
<value>在玩家附近召喚生物</value>
|
||||
</data>
|
||||
<data name="LblEntityAmount.Text" xml:space="preserve">
|
||||
<value>數量</value>
|
||||
</data>
|
||||
<data name="LblEntityLevel.Text" xml:space="preserve">
|
||||
<value>等級</value>
|
||||
</data>
|
||||
<data name="TPQuest.Text" xml:space="preserve">
|
||||
<value>任務</value>
|
||||
</data>
|
||||
<data name="GrpQuestFilters.Text" xml:space="preserve">
|
||||
<value>列表過濾</value>
|
||||
<data name="TPScene.Text" xml:space="preserve">
|
||||
<value>場景</value>
|
||||
</data>
|
||||
<data name="ChkQuestFilterTEST.Text" xml:space="preserve">
|
||||
<value>測試任務</value>
|
||||
@@ -383,6 +185,9 @@
|
||||
<data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve">
|
||||
<value>隱藏的任務</value>
|
||||
</data>
|
||||
<data name="GrpQuestFilters.Text" xml:space="preserve">
|
||||
<value>列表過濾</value>
|
||||
</data>
|
||||
<data name="BtnFinishQuest.Text" xml:space="preserve">
|
||||
<value>完成任務</value>
|
||||
</data>
|
||||
@@ -394,98 +199,19 @@
|
||||
提示:許多任務需要服務端腳本支持
|
||||
囙此任務可以接,可以完成,但是不一定可以做</value>
|
||||
</data>
|
||||
<data name="TPQuest.Text" xml:space="preserve">
|
||||
<value>任務</value>
|
||||
</data>
|
||||
<data name="TPArtifact.Text" xml:space="preserve">
|
||||
<value>聖遺物</value>
|
||||
</data>
|
||||
<data name="LblArtifactSet.Text" xml:space="preserve">
|
||||
<value>套裝</value>
|
||||
</data>
|
||||
<data name="LblArtifactLevel.Text" xml:space="preserve">
|
||||
<value>等級</value>
|
||||
</data>
|
||||
<data name="LblSubAttribution.Text" xml:space="preserve">
|
||||
<value>副詞條</value>
|
||||
</data>
|
||||
<data name="LblMainAttribution.Text" xml:space="preserve">
|
||||
<value>主詞條</value>
|
||||
</data>
|
||||
<data name="LblArtifactStars.Text" xml:space="preserve">
|
||||
<value>星級</value>
|
||||
</data>
|
||||
<data name="TPCustom.Text" xml:space="preserve">
|
||||
<value>自定義</value>
|
||||
</data>
|
||||
<data name="BtnExportCustomCommands.Text" xml:space="preserve">
|
||||
<value>導出</value>
|
||||
</data>
|
||||
<data name="BtnLoadCustomCommands.Text" xml:space="preserve">
|
||||
<value>載入</value>
|
||||
</data>
|
||||
<data name="LblCustomName.Text" xml:space="preserve">
|
||||
<value>標籤</value>
|
||||
</data>
|
||||
<data name="BtnRemoveCustomCommand.Text" xml:space="preserve">
|
||||
<value>× 刪除</value>
|
||||
</data>
|
||||
<data name="TPHome.Text" xml:space="preserve">
|
||||
<value>主頁</value>
|
||||
</data>
|
||||
<data name="BtnOpenDropEditor.Text" xml:space="preserve">
|
||||
<value>掉落物編輯器</value>
|
||||
</data>
|
||||
<data name="BtnOpenTextMap.Text" xml:space="preserve">
|
||||
<value>文本瀏覽器</value>
|
||||
</data>
|
||||
<data name="BtnOpenGachaBannerEditor.Text" xml:space="preserve">
|
||||
<value>獎池編輯器</value>
|
||||
</data>
|
||||
<data name="ChkTopMost.Text" xml:space="preserve">
|
||||
<value>置頂</value>
|
||||
</data>
|
||||
<data name="TPMail.Text" xml:space="preserve">
|
||||
<value>郵件</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="LblClearMailContent.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="BtnDeleteMailItem.Text" xml:space="preserve">
|
||||
<value>- 刪除</value>
|
||||
</data>
|
||||
<data name="NUDMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>171, 4</value>
|
||||
</data>
|
||||
<data name="NUDMailItemCount.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>47, 4</value>
|
||||
</data>
|
||||
<data name="LblMailItemCount.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>-3, 6</value>
|
||||
</data>
|
||||
<data name="LblMailItemCount.Text" xml:space="preserve">
|
||||
<value>數量:</value>
|
||||
</data>
|
||||
<data name="LblMailItemLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>123, 6</value>
|
||||
</data>
|
||||
<data name="LblMailItemLevel.Text" xml:space="preserve">
|
||||
<value>等級:</value>
|
||||
</data>
|
||||
<data name="tabPage2.Text" xml:space="preserve">
|
||||
<value>郵件列表</value>
|
||||
</data>
|
||||
<data name="BtnRemoveMail.Text" xml:space="preserve">
|
||||
<value>- 刪除</value>
|
||||
</data>
|
||||
<data name="BtnSendMail.Text" xml:space="preserve">
|
||||
<value>發送</value>
|
||||
</data>
|
||||
<data name="LblMailContentLabel.Text" xml:space="preserve">
|
||||
<value>內容:</value>
|
||||
</data>
|
||||
<data name="LblMailTitleLabel.Text" xml:space="preserve">
|
||||
<value>標題:</value>
|
||||
</data>
|
||||
<data name="LblMailSenderLabel.Text" xml:space="preserve">
|
||||
<value>發件人:</value>
|
||||
</data>
|
||||
</root>
|
702
Source/GrasscutterTools/Forms/FormShopEditor.Designer.cs
generated
Normal file
@@ -0,0 +1,702 @@
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
partial class FormShopEditor
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormShopEditor));
|
||||
this.ListShop = new System.Windows.Forms.ListBox();
|
||||
this.ListGoods = new System.Windows.Forms.ListBox();
|
||||
this.ListItems = new System.Windows.Forms.ListBox();
|
||||
this.GrpShopList = new System.Windows.Forms.GroupBox();
|
||||
this.GrpGoodsList = new System.Windows.Forms.GroupBox();
|
||||
this.BtnClearGoods = new System.Windows.Forms.Button();
|
||||
this.BtnDeleteGoods = new System.Windows.Forms.Button();
|
||||
this.GrpItems = new System.Windows.Forms.GroupBox();
|
||||
this.TxtItemFilter = new System.Windows.Forms.TextBox();
|
||||
this.GrpGoodsInfo = new System.Windows.Forms.GroupBox();
|
||||
this.BtnSaveGoods = new System.Windows.Forms.Button();
|
||||
this.CmbRefreshType = new System.Windows.Forms.ComboBox();
|
||||
this.NUDRefreshParm = new System.Windows.Forms.NumericUpDown();
|
||||
this.DTPEndTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.DTPBeginTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.NUDGoodsId = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDMaxLevel = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDMinLevel = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostItem4 = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostItem3 = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostItem2 = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostItem1 = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostMcoin = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostScoin = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostHcoin = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDBuyLimit = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostItem4Count = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostItem3Count = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostItem2Count = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDCostItem1Count = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDGoodsItemCount = new System.Windows.Forms.NumericUpDown();
|
||||
this.TxtGoodsItem = new System.Windows.Forms.TextBox();
|
||||
this.LblRefreshModeLabel = new System.Windows.Forms.Label();
|
||||
this.LblBuyLevelLabel = new System.Windows.Forms.Label();
|
||||
this.LblEndTimeLabel = new System.Windows.Forms.Label();
|
||||
this.LblBeginTimeLabel = new System.Windows.Forms.Label();
|
||||
this.LblCostItem4Label = new System.Windows.Forms.Label();
|
||||
this.LblCostItem3Label = new System.Windows.Forms.Label();
|
||||
this.LblCostItem2Label = new System.Windows.Forms.Label();
|
||||
this.LblCostItem1Label = new System.Windows.Forms.Label();
|
||||
this.LblCostMcoinLabel = new System.Windows.Forms.Label();
|
||||
this.LblCostScoinLabel = new System.Windows.Forms.Label();
|
||||
this.LblCostHcoinLabel = new System.Windows.Forms.Label();
|
||||
this.LblBuyLimitLabel = new System.Windows.Forms.Label();
|
||||
this.LblGoodsIdLabel = new System.Windows.Forms.Label();
|
||||
this.LblGoodsItemLabel = new System.Windows.Forms.Label();
|
||||
this.label13 = new System.Windows.Forms.Label();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.label14 = new System.Windows.Forms.Label();
|
||||
this.LnkGenGoodsId = new System.Windows.Forms.LinkLabel();
|
||||
this.label18 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.BtnSave = new System.Windows.Forms.Button();
|
||||
this.BtnLoad = new System.Windows.Forms.Button();
|
||||
this.TxtShopJsonPath = new System.Windows.Forms.TextBox();
|
||||
this.LblShopPathLabel = new System.Windows.Forms.Label();
|
||||
this.GrpShopList.SuspendLayout();
|
||||
this.GrpGoodsList.SuspendLayout();
|
||||
this.GrpItems.SuspendLayout();
|
||||
this.GrpGoodsInfo.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDRefreshParm)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDGoodsId)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDMaxLevel)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDMinLevel)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostMcoin)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostScoin)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostHcoin)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDBuyLimit)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem4Count)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem3Count)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem2Count)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem1Count)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDGoodsItemCount)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// ListShop
|
||||
//
|
||||
resources.ApplyResources(this.ListShop, "ListShop");
|
||||
this.ListShop.FormattingEnabled = true;
|
||||
this.ListShop.Name = "ListShop";
|
||||
this.ListShop.SelectedIndexChanged += new System.EventHandler(this.ListShop_SelectedIndexChanged);
|
||||
//
|
||||
// ListGoods
|
||||
//
|
||||
resources.ApplyResources(this.ListGoods, "ListGoods");
|
||||
this.ListGoods.FormattingEnabled = true;
|
||||
this.ListGoods.Name = "ListGoods";
|
||||
this.ListGoods.SelectedIndexChanged += new System.EventHandler(this.ListGoods_SelectedIndexChanged);
|
||||
//
|
||||
// ListItems
|
||||
//
|
||||
resources.ApplyResources(this.ListItems, "ListItems");
|
||||
this.ListItems.FormattingEnabled = true;
|
||||
this.ListItems.Name = "ListItems";
|
||||
this.ListItems.SelectedIndexChanged += new System.EventHandler(this.ListItems_SelectedIndexChanged);
|
||||
//
|
||||
// GrpShopList
|
||||
//
|
||||
resources.ApplyResources(this.GrpShopList, "GrpShopList");
|
||||
this.GrpShopList.Controls.Add(this.ListShop);
|
||||
this.GrpShopList.Name = "GrpShopList";
|
||||
this.GrpShopList.TabStop = false;
|
||||
//
|
||||
// GrpGoodsList
|
||||
//
|
||||
resources.ApplyResources(this.GrpGoodsList, "GrpGoodsList");
|
||||
this.GrpGoodsList.Controls.Add(this.BtnClearGoods);
|
||||
this.GrpGoodsList.Controls.Add(this.BtnDeleteGoods);
|
||||
this.GrpGoodsList.Controls.Add(this.ListGoods);
|
||||
this.GrpGoodsList.Name = "GrpGoodsList";
|
||||
this.GrpGoodsList.TabStop = false;
|
||||
//
|
||||
// BtnClearGoods
|
||||
//
|
||||
resources.ApplyResources(this.BtnClearGoods, "BtnClearGoods");
|
||||
this.BtnClearGoods.Name = "BtnClearGoods";
|
||||
this.BtnClearGoods.UseVisualStyleBackColor = true;
|
||||
this.BtnClearGoods.Click += new System.EventHandler(this.BtnClearGoods_Click);
|
||||
//
|
||||
// BtnDeleteGoods
|
||||
//
|
||||
resources.ApplyResources(this.BtnDeleteGoods, "BtnDeleteGoods");
|
||||
this.BtnDeleteGoods.Name = "BtnDeleteGoods";
|
||||
this.BtnDeleteGoods.UseVisualStyleBackColor = true;
|
||||
this.BtnDeleteGoods.Click += new System.EventHandler(this.BtnDeleteGoods_Click);
|
||||
//
|
||||
// GrpItems
|
||||
//
|
||||
resources.ApplyResources(this.GrpItems, "GrpItems");
|
||||
this.GrpItems.Controls.Add(this.TxtItemFilter);
|
||||
this.GrpItems.Controls.Add(this.ListItems);
|
||||
this.GrpItems.Name = "GrpItems";
|
||||
this.GrpItems.TabStop = false;
|
||||
//
|
||||
// TxtItemFilter
|
||||
//
|
||||
resources.ApplyResources(this.TxtItemFilter, "TxtItemFilter");
|
||||
this.TxtItemFilter.Name = "TxtItemFilter";
|
||||
this.TxtItemFilter.TextChanged += new System.EventHandler(this.TxtItemFilter_TextChanged);
|
||||
//
|
||||
// GrpGoodsInfo
|
||||
//
|
||||
resources.ApplyResources(this.GrpGoodsInfo, "GrpGoodsInfo");
|
||||
this.GrpGoodsInfo.Controls.Add(this.BtnSaveGoods);
|
||||
this.GrpGoodsInfo.Controls.Add(this.CmbRefreshType);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDRefreshParm);
|
||||
this.GrpGoodsInfo.Controls.Add(this.DTPEndTime);
|
||||
this.GrpGoodsInfo.Controls.Add(this.DTPBeginTime);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDGoodsId);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDMaxLevel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDMinLevel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostItem4);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostItem3);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostItem2);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostItem1);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostMcoin);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostScoin);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostHcoin);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDBuyLimit);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostItem4Count);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostItem3Count);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostItem2Count);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDCostItem1Count);
|
||||
this.GrpGoodsInfo.Controls.Add(this.NUDGoodsItemCount);
|
||||
this.GrpGoodsInfo.Controls.Add(this.TxtGoodsItem);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblRefreshModeLabel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblBuyLevelLabel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblEndTimeLabel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblBeginTimeLabel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblCostItem4Label);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblCostItem3Label);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblCostItem2Label);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblCostItem1Label);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblCostMcoinLabel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblCostScoinLabel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblCostHcoinLabel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblBuyLimitLabel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblGoodsIdLabel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LblGoodsItemLabel);
|
||||
this.GrpGoodsInfo.Controls.Add(this.label13);
|
||||
this.GrpGoodsInfo.Controls.Add(this.label12);
|
||||
this.GrpGoodsInfo.Controls.Add(this.label11);
|
||||
this.GrpGoodsInfo.Controls.Add(this.label14);
|
||||
this.GrpGoodsInfo.Controls.Add(this.LnkGenGoodsId);
|
||||
this.GrpGoodsInfo.Controls.Add(this.label18);
|
||||
this.GrpGoodsInfo.Controls.Add(this.label1);
|
||||
this.GrpGoodsInfo.Name = "GrpGoodsInfo";
|
||||
this.GrpGoodsInfo.TabStop = false;
|
||||
//
|
||||
// BtnSaveGoods
|
||||
//
|
||||
resources.ApplyResources(this.BtnSaveGoods, "BtnSaveGoods");
|
||||
this.BtnSaveGoods.Name = "BtnSaveGoods";
|
||||
this.BtnSaveGoods.UseVisualStyleBackColor = true;
|
||||
this.BtnSaveGoods.Click += new System.EventHandler(this.BtnSaveGoods_Click);
|
||||
//
|
||||
// CmbRefreshType
|
||||
//
|
||||
resources.ApplyResources(this.CmbRefreshType, "CmbRefreshType");
|
||||
this.CmbRefreshType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CmbRefreshType.FormattingEnabled = true;
|
||||
this.CmbRefreshType.Items.AddRange(new object[] {
|
||||
resources.GetString("CmbRefreshType.Items"),
|
||||
resources.GetString("CmbRefreshType.Items1"),
|
||||
resources.GetString("CmbRefreshType.Items2"),
|
||||
resources.GetString("CmbRefreshType.Items3")});
|
||||
this.CmbRefreshType.Name = "CmbRefreshType";
|
||||
this.CmbRefreshType.SelectedIndexChanged += new System.EventHandler(this.CmbRefreshType_SelectedIndexChanged);
|
||||
//
|
||||
// NUDRefreshParm
|
||||
//
|
||||
resources.ApplyResources(this.NUDRefreshParm, "NUDRefreshParm");
|
||||
this.NUDRefreshParm.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDRefreshParm.Name = "NUDRefreshParm";
|
||||
//
|
||||
// DTPEndTime
|
||||
//
|
||||
resources.ApplyResources(this.DTPEndTime, "DTPEndTime");
|
||||
this.DTPEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
|
||||
this.DTPEndTime.Name = "DTPEndTime";
|
||||
this.DTPEndTime.Value = new System.DateTime(2035, 1, 1, 0, 0, 0, 0);
|
||||
//
|
||||
// DTPBeginTime
|
||||
//
|
||||
resources.ApplyResources(this.DTPBeginTime, "DTPBeginTime");
|
||||
this.DTPBeginTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
|
||||
this.DTPBeginTime.Name = "DTPBeginTime";
|
||||
this.DTPBeginTime.Value = new System.DateTime(2022, 1, 1, 0, 0, 0, 0);
|
||||
//
|
||||
// NUDGoodsId
|
||||
//
|
||||
resources.ApplyResources(this.NUDGoodsId, "NUDGoodsId");
|
||||
this.NUDGoodsId.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDGoodsId.Name = "NUDGoodsId";
|
||||
this.NUDGoodsId.Value = new decimal(new int[] {
|
||||
101001,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// NUDMaxLevel
|
||||
//
|
||||
resources.ApplyResources(this.NUDMaxLevel, "NUDMaxLevel");
|
||||
this.NUDMaxLevel.Maximum = new decimal(new int[] {
|
||||
99,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDMaxLevel.Name = "NUDMaxLevel";
|
||||
this.NUDMaxLevel.Value = new decimal(new int[] {
|
||||
61,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// NUDMinLevel
|
||||
//
|
||||
resources.ApplyResources(this.NUDMinLevel, "NUDMinLevel");
|
||||
this.NUDMinLevel.Maximum = new decimal(new int[] {
|
||||
99,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDMinLevel.Name = "NUDMinLevel";
|
||||
this.NUDMinLevel.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// NUDCostItem4
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItem4, "NUDCostItem4");
|
||||
this.NUDCostItem4.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItem4.Name = "NUDCostItem4";
|
||||
//
|
||||
// NUDCostItem3
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItem3, "NUDCostItem3");
|
||||
this.NUDCostItem3.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItem3.Name = "NUDCostItem3";
|
||||
//
|
||||
// NUDCostItem2
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItem2, "NUDCostItem2");
|
||||
this.NUDCostItem2.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItem2.Name = "NUDCostItem2";
|
||||
//
|
||||
// NUDCostItem1
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItem1, "NUDCostItem1");
|
||||
this.NUDCostItem1.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItem1.Name = "NUDCostItem1";
|
||||
//
|
||||
// NUDCostMcoin
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostMcoin, "NUDCostMcoin");
|
||||
this.NUDCostMcoin.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostMcoin.Name = "NUDCostMcoin";
|
||||
//
|
||||
// NUDCostScoin
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostScoin, "NUDCostScoin");
|
||||
this.NUDCostScoin.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostScoin.Name = "NUDCostScoin";
|
||||
//
|
||||
// NUDCostHcoin
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostHcoin, "NUDCostHcoin");
|
||||
this.NUDCostHcoin.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostHcoin.Name = "NUDCostHcoin";
|
||||
//
|
||||
// NUDBuyLimit
|
||||
//
|
||||
resources.ApplyResources(this.NUDBuyLimit, "NUDBuyLimit");
|
||||
this.NUDBuyLimit.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDBuyLimit.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDBuyLimit.Name = "NUDBuyLimit";
|
||||
this.NUDBuyLimit.Value = new decimal(new int[] {
|
||||
100,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// NUDCostItem4Count
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItem4Count, "NUDCostItem4Count");
|
||||
this.NUDCostItem4Count.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItem4Count.Name = "NUDCostItem4Count";
|
||||
//
|
||||
// NUDCostItem3Count
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItem3Count, "NUDCostItem3Count");
|
||||
this.NUDCostItem3Count.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItem3Count.Name = "NUDCostItem3Count";
|
||||
//
|
||||
// NUDCostItem2Count
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItem2Count, "NUDCostItem2Count");
|
||||
this.NUDCostItem2Count.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItem2Count.Name = "NUDCostItem2Count";
|
||||
//
|
||||
// NUDCostItem1Count
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItem1Count, "NUDCostItem1Count");
|
||||
this.NUDCostItem1Count.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItem1Count.Name = "NUDCostItem1Count";
|
||||
//
|
||||
// NUDGoodsItemCount
|
||||
//
|
||||
resources.ApplyResources(this.NUDGoodsItemCount, "NUDGoodsItemCount");
|
||||
this.NUDGoodsItemCount.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDGoodsItemCount.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDGoodsItemCount.Name = "NUDGoodsItemCount";
|
||||
this.NUDGoodsItemCount.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// TxtGoodsItem
|
||||
//
|
||||
resources.ApplyResources(this.TxtGoodsItem, "TxtGoodsItem");
|
||||
this.TxtGoodsItem.Name = "TxtGoodsItem";
|
||||
//
|
||||
// LblRefreshModeLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblRefreshModeLabel, "LblRefreshModeLabel");
|
||||
this.LblRefreshModeLabel.Name = "LblRefreshModeLabel";
|
||||
//
|
||||
// LblBuyLevelLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblBuyLevelLabel, "LblBuyLevelLabel");
|
||||
this.LblBuyLevelLabel.Name = "LblBuyLevelLabel";
|
||||
//
|
||||
// LblEndTimeLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblEndTimeLabel, "LblEndTimeLabel");
|
||||
this.LblEndTimeLabel.Name = "LblEndTimeLabel";
|
||||
//
|
||||
// LblBeginTimeLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblBeginTimeLabel, "LblBeginTimeLabel");
|
||||
this.LblBeginTimeLabel.Name = "LblBeginTimeLabel";
|
||||
//
|
||||
// LblCostItem4Label
|
||||
//
|
||||
resources.ApplyResources(this.LblCostItem4Label, "LblCostItem4Label");
|
||||
this.LblCostItem4Label.Name = "LblCostItem4Label";
|
||||
//
|
||||
// LblCostItem3Label
|
||||
//
|
||||
resources.ApplyResources(this.LblCostItem3Label, "LblCostItem3Label");
|
||||
this.LblCostItem3Label.Name = "LblCostItem3Label";
|
||||
//
|
||||
// LblCostItem2Label
|
||||
//
|
||||
resources.ApplyResources(this.LblCostItem2Label, "LblCostItem2Label");
|
||||
this.LblCostItem2Label.Name = "LblCostItem2Label";
|
||||
//
|
||||
// LblCostItem1Label
|
||||
//
|
||||
resources.ApplyResources(this.LblCostItem1Label, "LblCostItem1Label");
|
||||
this.LblCostItem1Label.Name = "LblCostItem1Label";
|
||||
//
|
||||
// LblCostMcoinLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblCostMcoinLabel, "LblCostMcoinLabel");
|
||||
this.LblCostMcoinLabel.Name = "LblCostMcoinLabel";
|
||||
//
|
||||
// LblCostScoinLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblCostScoinLabel, "LblCostScoinLabel");
|
||||
this.LblCostScoinLabel.Name = "LblCostScoinLabel";
|
||||
//
|
||||
// LblCostHcoinLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblCostHcoinLabel, "LblCostHcoinLabel");
|
||||
this.LblCostHcoinLabel.Name = "LblCostHcoinLabel";
|
||||
//
|
||||
// LblBuyLimitLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblBuyLimitLabel, "LblBuyLimitLabel");
|
||||
this.LblBuyLimitLabel.Name = "LblBuyLimitLabel";
|
||||
//
|
||||
// LblGoodsIdLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblGoodsIdLabel, "LblGoodsIdLabel");
|
||||
this.LblGoodsIdLabel.Name = "LblGoodsIdLabel";
|
||||
//
|
||||
// LblGoodsItemLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblGoodsItemLabel, "LblGoodsItemLabel");
|
||||
this.LblGoodsItemLabel.Name = "LblGoodsItemLabel";
|
||||
//
|
||||
// label13
|
||||
//
|
||||
resources.ApplyResources(this.label13, "label13");
|
||||
this.label13.Name = "label13";
|
||||
//
|
||||
// label12
|
||||
//
|
||||
resources.ApplyResources(this.label12, "label12");
|
||||
this.label12.Name = "label12";
|
||||
//
|
||||
// label11
|
||||
//
|
||||
resources.ApplyResources(this.label11, "label11");
|
||||
this.label11.Name = "label11";
|
||||
//
|
||||
// label14
|
||||
//
|
||||
resources.ApplyResources(this.label14, "label14");
|
||||
this.label14.Name = "label14";
|
||||
//
|
||||
// LnkGenGoodsId
|
||||
//
|
||||
resources.ApplyResources(this.LnkGenGoodsId, "LnkGenGoodsId");
|
||||
this.LnkGenGoodsId.Name = "LnkGenGoodsId";
|
||||
this.LnkGenGoodsId.TabStop = true;
|
||||
this.LnkGenGoodsId.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkGenGoodsId_LinkClicked);
|
||||
//
|
||||
// label18
|
||||
//
|
||||
resources.ApplyResources(this.label18, "label18");
|
||||
this.label18.Name = "label18";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
resources.ApplyResources(this.label1, "label1");
|
||||
this.label1.Name = "label1";
|
||||
//
|
||||
// BtnSave
|
||||
//
|
||||
resources.ApplyResources(this.BtnSave, "BtnSave");
|
||||
this.BtnSave.Name = "BtnSave";
|
||||
this.BtnSave.UseVisualStyleBackColor = true;
|
||||
this.BtnSave.Click += new System.EventHandler(this.BtnSave_Click);
|
||||
//
|
||||
// BtnLoad
|
||||
//
|
||||
resources.ApplyResources(this.BtnLoad, "BtnLoad");
|
||||
this.BtnLoad.Name = "BtnLoad";
|
||||
this.BtnLoad.UseVisualStyleBackColor = true;
|
||||
this.BtnLoad.Click += new System.EventHandler(this.BtnLoad_Click);
|
||||
//
|
||||
// TxtShopJsonPath
|
||||
//
|
||||
resources.ApplyResources(this.TxtShopJsonPath, "TxtShopJsonPath");
|
||||
this.TxtShopJsonPath.Name = "TxtShopJsonPath";
|
||||
//
|
||||
// LblShopPathLabel
|
||||
//
|
||||
resources.ApplyResources(this.LblShopPathLabel, "LblShopPathLabel");
|
||||
this.LblShopPathLabel.Name = "LblShopPathLabel";
|
||||
//
|
||||
// FormShopEditor
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.BtnSave);
|
||||
this.Controls.Add(this.BtnLoad);
|
||||
this.Controls.Add(this.TxtShopJsonPath);
|
||||
this.Controls.Add(this.LblShopPathLabel);
|
||||
this.Controls.Add(this.GrpGoodsInfo);
|
||||
this.Controls.Add(this.GrpItems);
|
||||
this.Controls.Add(this.GrpGoodsList);
|
||||
this.Controls.Add(this.GrpShopList);
|
||||
this.Name = "FormShopEditor";
|
||||
this.GrpShopList.ResumeLayout(false);
|
||||
this.GrpGoodsList.ResumeLayout(false);
|
||||
this.GrpItems.ResumeLayout(false);
|
||||
this.GrpItems.PerformLayout();
|
||||
this.GrpGoodsInfo.ResumeLayout(false);
|
||||
this.GrpGoodsInfo.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDRefreshParm)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDGoodsId)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDMaxLevel)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDMinLevel)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostMcoin)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostScoin)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostHcoin)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDBuyLimit)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem4Count)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem3Count)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem2Count)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItem1Count)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDGoodsItemCount)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ListBox ListShop;
|
||||
private System.Windows.Forms.ListBox ListGoods;
|
||||
private System.Windows.Forms.ListBox ListItems;
|
||||
private System.Windows.Forms.GroupBox GrpShopList;
|
||||
private System.Windows.Forms.GroupBox GrpGoodsList;
|
||||
private System.Windows.Forms.GroupBox GrpItems;
|
||||
private System.Windows.Forms.GroupBox GrpGoodsInfo;
|
||||
private System.Windows.Forms.Button BtnSave;
|
||||
private System.Windows.Forms.Button BtnLoad;
|
||||
private System.Windows.Forms.TextBox TxtShopJsonPath;
|
||||
private System.Windows.Forms.Label LblShopPathLabel;
|
||||
private System.Windows.Forms.NumericUpDown NUDGoodsItemCount;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox TxtGoodsItem;
|
||||
private System.Windows.Forms.Label LblGoodsItemLabel;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItem3;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItem2;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItem1;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostMcoin;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostScoin;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostHcoin;
|
||||
private System.Windows.Forms.NumericUpDown NUDBuyLimit;
|
||||
private System.Windows.Forms.NumericUpDown NUDMaxLevel;
|
||||
private System.Windows.Forms.NumericUpDown NUDMinLevel;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItem4;
|
||||
private System.Windows.Forms.Label LblGoodsIdLabel;
|
||||
private System.Windows.Forms.NumericUpDown NUDGoodsId;
|
||||
private System.Windows.Forms.Label LblBuyLimitLabel;
|
||||
private System.Windows.Forms.Label LblCostItem4Label;
|
||||
private System.Windows.Forms.Label LblCostItem3Label;
|
||||
private System.Windows.Forms.Label LblCostItem2Label;
|
||||
private System.Windows.Forms.Label LblCostItem1Label;
|
||||
private System.Windows.Forms.Label LblCostMcoinLabel;
|
||||
private System.Windows.Forms.Label LblCostScoinLabel;
|
||||
private System.Windows.Forms.Label LblCostHcoinLabel;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItem4Count;
|
||||
private System.Windows.Forms.Label label14;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItem3Count;
|
||||
private System.Windows.Forms.Label label13;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItem2Count;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItem1Count;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.DateTimePicker DTPEndTime;
|
||||
private System.Windows.Forms.DateTimePicker DTPBeginTime;
|
||||
private System.Windows.Forms.Label LblEndTimeLabel;
|
||||
private System.Windows.Forms.Label LblBeginTimeLabel;
|
||||
private System.Windows.Forms.Label LblBuyLevelLabel;
|
||||
private System.Windows.Forms.Label label18;
|
||||
private System.Windows.Forms.LinkLabel LnkGenGoodsId;
|
||||
private System.Windows.Forms.ComboBox CmbRefreshType;
|
||||
private System.Windows.Forms.NumericUpDown NUDRefreshParm;
|
||||
private System.Windows.Forms.Label LblRefreshModeLabel;
|
||||
private System.Windows.Forms.Button BtnSaveGoods;
|
||||
private System.Windows.Forms.TextBox TxtItemFilter;
|
||||
private System.Windows.Forms.Button BtnClearGoods;
|
||||
private System.Windows.Forms.Button BtnDeleteGoods;
|
||||
}
|
||||
}
|
545
Source/GrasscutterTools/Forms/FormShopEditor.cs
Normal file
@@ -0,0 +1,545 @@
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using GrasscutterTools.Game;
|
||||
using GrasscutterTools.Game.Shop;
|
||||
using GrasscutterTools.Properties;
|
||||
using GrasscutterTools.Utils;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
public partial class FormShopEditor : Form
|
||||
{
|
||||
#region - 成员 -
|
||||
|
||||
/// <summary>
|
||||
/// 商店列表数据
|
||||
/// </summary>
|
||||
private Dictionary<int, List<ShopInfo>> Shops = new Dictionary<int, List<ShopInfo>>();
|
||||
|
||||
/// <summary>
|
||||
/// 选中的商店类型
|
||||
/// </summary>
|
||||
private int SelectedShopType;
|
||||
|
||||
#endregion - 成员 -
|
||||
|
||||
#region - 构造与窗体事件 -
|
||||
|
||||
public FormShopEditor()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Icon = Resources.IconGrasscutter;
|
||||
|
||||
ListShop.Items.AddRange(GameData.ShopType.Lines);
|
||||
ListItems.Items.AddRange(GameData.Items.Lines);
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
try
|
||||
{
|
||||
// 加载文件路径
|
||||
var path = Settings.Default.ShopJsonPath;
|
||||
TxtShopJsonPath.Text = path;
|
||||
if (!string.IsNullOrEmpty(path) && File.Exists(path))
|
||||
LoadShops(path);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnFormClosed(FormClosedEventArgs e)
|
||||
{
|
||||
Settings.Default.ShopJsonPath = TxtShopJsonPath.Text;
|
||||
|
||||
base.OnFormClosed(e);
|
||||
}
|
||||
|
||||
#endregion - 构造与窗体事件 -
|
||||
|
||||
#region - Shop.json 文件相关 -
|
||||
|
||||
/// <summary>
|
||||
/// 点击加载Shop.json按钮时触发
|
||||
/// </summary>
|
||||
private void BtnLoad_Click(object sender, EventArgs e)
|
||||
{
|
||||
var path = TxtShopJsonPath.Text.Trim();
|
||||
try
|
||||
{
|
||||
if (path == string.Empty)
|
||||
{
|
||||
var dialog = new OpenFileDialog
|
||||
{
|
||||
FileName = "Shop.json",
|
||||
Filter = "Shop.json/ShopGoodsExcelConfigData.json (*.json)|*.json|ShopGoodsData.txt (*.txt)|*.txt|All files (*.*)|*.*",
|
||||
};
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
path = TxtShopJsonPath.Text = dialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
// 反序列化
|
||||
LoadShops(path);
|
||||
MessageBox.Show("OK", Resources.Tips, MessageBoxButtons.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载商店
|
||||
/// </summary>
|
||||
/// <param name="path">文件路径</param>
|
||||
private void LoadShops(string path)
|
||||
{
|
||||
var name = Path.GetFileName(path);
|
||||
var content = File.ReadAllText(path);
|
||||
var funs = new Action<string>[3]
|
||||
{
|
||||
LoadShopsFromShopJson,
|
||||
LoadShopsFromShopGoodsExcelConfigData,
|
||||
LoadShopsFromTsv
|
||||
};
|
||||
if (name == "ShopGoodsExcelConfigData.json")
|
||||
{
|
||||
funs[0] = LoadShopsFromShopGoodsExcelConfigData;
|
||||
funs[1] = LoadShopsFromShopJson;
|
||||
}
|
||||
else if (name == "ShopGoodsData.txt")
|
||||
{
|
||||
funs[0] = LoadShopsFromTsv;
|
||||
funs[1] = LoadShopsFromShopJson;
|
||||
funs[2] = LoadShopsFromShopGoodsExcelConfigData;
|
||||
}
|
||||
|
||||
Exception firstEx = null;
|
||||
|
||||
foreach (var fun in funs)
|
||||
{
|
||||
try
|
||||
{
|
||||
fun(content);
|
||||
return;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (firstEx == null)
|
||||
firstEx = ex;
|
||||
}
|
||||
}
|
||||
throw firstEx;
|
||||
|
||||
//{
|
||||
// try
|
||||
// {
|
||||
// // 尝试当作Shop.json解析
|
||||
// LoadShopsFromShopJson(content);
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// // 尝试当作ShopGoodsExcelConfigData.json解析
|
||||
// LoadShopsFromShopGoodsExcelConfigData(path);
|
||||
// }
|
||||
// catch
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// // 当Json解析失败时尝试以tsv方式解析
|
||||
// LoadShopsFromTsv(content);
|
||||
// }
|
||||
// catch
|
||||
// {
|
||||
// throw ex;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
private void LoadShopsFromShopJson(string content)
|
||||
{
|
||||
var banners = JsonConvert.DeserializeObject<List<ShopTable>>(content);
|
||||
Shops = new Dictionary<int, List<ShopInfo>>(banners.Count);
|
||||
foreach (var item in banners)
|
||||
Shops.Add(item.ShopType, item.Items);
|
||||
}
|
||||
|
||||
private void LoadShopsFromShopGoodsExcelConfigData(string content)
|
||||
{
|
||||
var banners = JsonConvert.DeserializeObject<List<ShopGoodsData>>(content);
|
||||
Shops = new Dictionary<int, List<ShopInfo>>();
|
||||
foreach (var kv in banners.GroupBy(it => it.ShopType))
|
||||
Shops.Add(kv.Key, kv.Select(it => new ShopInfo(it)).ToList());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 从TSV加载商店
|
||||
/// </summary>
|
||||
/// <param name="content">文件内容</param>
|
||||
private void LoadShopsFromTsv(string content)
|
||||
{
|
||||
var lines = content.Split('\n');
|
||||
Shops = new Dictionary<int, List<ShopInfo>>();
|
||||
for (int i = 1; i < lines.Length; i++)
|
||||
{
|
||||
var cells = lines[i].Split('\t');
|
||||
if (cells.Length < 31) continue;
|
||||
var goods = new ShopInfo
|
||||
{
|
||||
GoodsId = int.Parse(cells[0]),
|
||||
GoodsItem = new ItemParamData(int.Parse(cells[2]), int.Parse(cells[4])),
|
||||
BuyLimit = TryParse(cells[16]),
|
||||
MinLevel = TryParse(cells[29]),
|
||||
MaxLevel = TryParse(cells[30]),
|
||||
BeginTime = (int)new DateTimeOffset(DateTime.Parse(cells[20])).ToUnixTimeSeconds(),
|
||||
EndTime = (int)new DateTimeOffset(DateTime.Parse(cells[21])).ToUnixTimeSeconds(),
|
||||
RefreshType = (ShopRefreshType)TryParse(cells[17]),
|
||||
ShopRefreshParam = TryParse(cells[18]),
|
||||
HCoin = TryParse(cells[5]),
|
||||
SCoin = TryParse(cells[6]),
|
||||
MCoin = TryParse(cells[7]),
|
||||
CostItemList = new List<ItemParamData>
|
||||
{
|
||||
new ItemParamData(TryParse(cells[8]), TryParse(cells[9])),
|
||||
new ItemParamData(TryParse(cells[10]), TryParse(cells[11])),
|
||||
new ItemParamData(TryParse(cells[12]), TryParse(cells[13])),
|
||||
new ItemParamData(TryParse(cells[14]), TryParse(cells[15])),
|
||||
}
|
||||
};
|
||||
|
||||
var shopType = int.Parse(cells[1]);
|
||||
if (!Shops.TryGetValue(shopType, out List<ShopInfo> shops))
|
||||
Shops.Add(shopType, shops = new List<ShopInfo>());
|
||||
shops.Add(goods);
|
||||
}
|
||||
}
|
||||
|
||||
private static int TryParse(string value) => int.TryParse(value, out int n) ? n : 0;
|
||||
|
||||
/// <summary>
|
||||
/// 点击保存Shop.json按钮时触发
|
||||
/// </summary>
|
||||
private void BtnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = TxtShopJsonPath.Text.Trim();
|
||||
if (path == string.Empty)
|
||||
{
|
||||
var dialog = new SaveFileDialog
|
||||
{
|
||||
FileName = "Shop.json",
|
||||
Filter = "Shop.json (*.json)|*.json|All files (*.*)|*.*",
|
||||
};
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
path = TxtShopJsonPath.Text = dialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
if (Path.GetFileName(path) != "Shop.json")
|
||||
{
|
||||
var ret = MessageBox.Show(Resources.ShopJsonOverrideWarning + '\n' + path, Resources.Warning, MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
||||
if (ret != DialogResult.Yes)
|
||||
return;
|
||||
}
|
||||
|
||||
// 序列化
|
||||
var banners = new List<ShopTable>(Shops.Count);
|
||||
foreach (var shop in Shops)
|
||||
{
|
||||
if (shop.Value != null && shop.Value.Count > 0)
|
||||
{
|
||||
banners.Add(new ShopTable
|
||||
{
|
||||
ShopType = shop.Key,
|
||||
Items = shop.Value,
|
||||
});
|
||||
}
|
||||
}
|
||||
File.WriteAllText(path, JsonConvert.SerializeObject(banners, new JsonSerializerSettings
|
||||
{
|
||||
Formatting = Formatting.Indented,
|
||||
DefaultValueHandling = DefaultValueHandling.Ignore,
|
||||
}));
|
||||
MessageBox.Show("OK", Resources.Tips, MessageBoxButtons.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion - Shop.json 文件相关 -
|
||||
|
||||
#region - 商店列表 -
|
||||
|
||||
/// <summary>
|
||||
/// 商店列表选中项改变时触发
|
||||
/// </summary>
|
||||
private void ListShop_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (ListShop.SelectedIndex == -1)
|
||||
{
|
||||
SelectedShopType = 0;
|
||||
return;
|
||||
}
|
||||
SelectedShopType = ItemMap.ToId(ListShop.SelectedItem as string);
|
||||
Shops.TryGetValue(SelectedShopType, out var shop);
|
||||
ShowGoodsList(shop);
|
||||
}
|
||||
|
||||
#endregion - 商店列表 -
|
||||
|
||||
#region - 商品列表 -
|
||||
|
||||
/// <summary>
|
||||
/// 显示商品列表
|
||||
/// </summary>
|
||||
private void ShowGoodsList(List<ShopInfo> banner)
|
||||
{
|
||||
ListGoods.BeginUpdate();
|
||||
ListGoods.Items.Clear();
|
||||
if (banner != null && banner.Count > 0)
|
||||
{
|
||||
ListGoods.Items.AddRange(banner.Select(it => it.ToString()).ToArray());
|
||||
//ListGoods.SelectedIndex = 0;
|
||||
}
|
||||
ListGoods.EndUpdate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 商品列表选中项改变时触发
|
||||
/// </summary>
|
||||
private void ListGoods_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (ListGoods.SelectedIndex == -1) return;
|
||||
ShowGoods(Shops[SelectedShopType][ListGoods.SelectedIndex]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击删除商品按钮时触发
|
||||
/// </summary>
|
||||
private void BtnDeleteGoods_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ListGoods.SelectedIndex == -1) return;
|
||||
if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
Shops[SelectedShopType].RemoveAt(ListGoods.SelectedIndex);
|
||||
ListGoods.Items.RemoveAt(ListGoods.SelectedIndex);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击清空商品按钮时触发
|
||||
/// </summary>
|
||||
private void BtnClearGoods_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ListGoods.Items.Count == 0) return;
|
||||
if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
Shops.Remove(SelectedShopType);
|
||||
ListGoods.Items.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion - 商品列表 -
|
||||
|
||||
#region - 商品信息 -
|
||||
|
||||
/// <summary>
|
||||
/// 显示商品
|
||||
/// </summary>
|
||||
/// <param name="goods"></param>
|
||||
private void ShowGoods(ShopInfo goods)
|
||||
{
|
||||
NUDGoodsId.Value = goods.GoodsId;
|
||||
TxtGoodsItem.Text = $"{goods.GoodsItem.Id}:{GameData.Items[goods.GoodsItem.Id]}";
|
||||
NUDGoodsItemCount.Value = goods.GoodsItem.Count;
|
||||
NUDBuyLimit.Value = goods.BuyLimit;
|
||||
NUDMinLevel.Value = goods.MinLevel;
|
||||
NUDMaxLevel.Value = goods.MaxLevel;
|
||||
DTPBeginTime.Value = DateTimeOffset.FromUnixTimeSeconds(goods.BeginTime).LocalDateTime;
|
||||
DTPEndTime.Value = DateTimeOffset.FromUnixTimeSeconds(goods.EndTime).LocalDateTime;
|
||||
NUDRefreshParm.Value = goods.ShopRefreshParam;
|
||||
CmbRefreshType.SelectedIndex = (int)goods.RefreshType;
|
||||
NUDCostHcoin.Value = goods.HCoin;
|
||||
NUDCostScoin.Value = goods.SCoin;
|
||||
NUDCostMcoin.Value = goods.MCoin;
|
||||
var items = new ItemParamData[4];
|
||||
goods.CostItemList?.CopyTo(items, 0);
|
||||
NUDCostItem1.Value = items[0].Id;
|
||||
NUDCostItem1Count.Value = items[0].Count;
|
||||
NUDCostItem2.Value = items[1].Id;
|
||||
NUDCostItem2Count.Value = items[1].Count;
|
||||
NUDCostItem3.Value = items[2].Id;
|
||||
NUDCostItem3Count.Value = items[2].Count;
|
||||
NUDCostItem4.Value = items[3].Id;
|
||||
NUDCostItem4Count.Value = items[3].Count;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击生成商品ID链接标签时触发
|
||||
/// </summary>
|
||||
private void LnkGenGoodsId_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
if (ListShop.SelectedIndex == -1) return;
|
||||
|
||||
if (ItemMap.TryToId(TxtGoodsItem.Text, out int itemId))
|
||||
NUDGoodsId.Value = SelectedShopType * 1000 + itemId % 1000;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 刷新类型选中项改变时触发
|
||||
/// </summary>
|
||||
private void CmbRefreshType_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
NUDRefreshParm.Enabled = CmbRefreshType.SelectedIndex > 0;
|
||||
if (CmbRefreshType.SelectedIndex == 0)
|
||||
NUDRefreshParm.Value = 0;
|
||||
else if (NUDRefreshParm.Value == 0)
|
||||
NUDRefreshParm.Value = 1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击保存商品按钮时触发
|
||||
/// </summary>
|
||||
private void BtnSaveGoods_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!ItemMap.TryToId(TxtGoodsItem.Text, out int itemId))
|
||||
{
|
||||
MessageBox.Show(Resources.EmptyInputTip, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
// 检查ID冲突
|
||||
var goodsId = (int)NUDGoodsId.Value;
|
||||
if (Shops.Any(kv => kv.Key != SelectedShopType && kv.Value.Any(it => it.GoodsId == goodsId)))
|
||||
{
|
||||
MessageBox.Show(Resources.GoodsIDConflictPrompt, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
List<ItemParamData> costs = new List<ItemParamData>();
|
||||
if (NUDCostItem1Count.Value > 0 && NUDCostItem1.Value > 0)
|
||||
costs.Add(new ItemParamData((int)NUDCostItem1.Value, (int)NUDCostItem1Count.Value));
|
||||
if (NUDCostItem2Count.Value > 0 && NUDCostItem2.Value > 0)
|
||||
costs.Add(new ItemParamData((int)NUDCostItem2.Value, (int)NUDCostItem2Count.Value));
|
||||
if (NUDCostItem3Count.Value > 0 && NUDCostItem3.Value > 0)
|
||||
costs.Add(new ItemParamData((int)NUDCostItem3.Value, (int)NUDCostItem3Count.Value));
|
||||
if (NUDCostItem4Count.Value > 0 && NUDCostItem4.Value > 0)
|
||||
costs.Add(new ItemParamData((int)NUDCostItem4.Value, (int)NUDCostItem4Count.Value));
|
||||
ShopInfo goods = new ShopInfo
|
||||
{
|
||||
GoodsId = goodsId,
|
||||
GoodsItem = new ItemParamData(itemId, (int)NUDGoodsItemCount.Value),
|
||||
BuyLimit = (int)NUDBuyLimit.Value,
|
||||
MinLevel = (int)NUDMinLevel.Value,
|
||||
MaxLevel = (int)NUDMaxLevel.Value,
|
||||
BeginTime = (int)new DateTimeOffset(DTPBeginTime.Value).ToUnixTimeSeconds(),
|
||||
EndTime = (int)new DateTimeOffset(DTPEndTime.Value).ToUnixTimeSeconds(),
|
||||
RefreshType = CmbRefreshType.SelectedIndex == -1 ? ShopRefreshType.NONE : (ShopRefreshType)CmbRefreshType.SelectedIndex,
|
||||
ShopRefreshParam = (int)NUDRefreshParm.Value,
|
||||
HCoin = (int)NUDCostHcoin.Value,
|
||||
SCoin = (int)NUDCostScoin.Value,
|
||||
MCoin = (int)NUDCostMcoin.Value,
|
||||
CostItemList = costs,
|
||||
// 以下属性不认识,代码里看似也没用,不写了
|
||||
//BoughtNum
|
||||
//DisableType
|
||||
//PreGoodsIdList
|
||||
//SecondarySheetId
|
||||
};
|
||||
|
||||
if (Shops.TryGetValue(SelectedShopType, out var shop))
|
||||
{
|
||||
var i = shop.FindIndex(it => it.GoodsId == goodsId);
|
||||
if (i == -1)
|
||||
{
|
||||
// 增加到现有列表
|
||||
shop.Add(goods);
|
||||
ListGoods.Items.Add(goods.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
// 修改
|
||||
shop[i] = goods;
|
||||
ListGoods.Items[i] = goods.ToString();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 增加到新列表
|
||||
Shops[SelectedShopType] = new List<ShopInfo> { goods };
|
||||
ListGoods.Items.Add(goods.ToString());
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion - 商品信息 -
|
||||
|
||||
#region - 物品列表 -
|
||||
|
||||
/// <summary>
|
||||
/// 物品列表过滤框输入改变事件
|
||||
/// </summary>
|
||||
private void TxtItemFilter_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
UIUtil.ListBoxFilter(ListItems, GameData.Items.Lines, TxtItemFilter.Text);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 物品列表选中项改变时触发
|
||||
/// </summary>
|
||||
private void ListItems_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (ListItems.SelectedIndex == -1) return;
|
||||
TxtGoodsItem.Text = ListItems.SelectedItem as string;
|
||||
}
|
||||
|
||||
#endregion - 物品列表 -
|
||||
}
|
||||
}
|
259
Source/GrasscutterTools/Forms/FormShopEditor.en-US.resx
Normal file
@@ -0,0 +1,259 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="GrpShopList.Text" xml:space="preserve">
|
||||
<value>Shop list</value>
|
||||
</data>
|
||||
<data name="BtnClearGoods.Text" xml:space="preserve">
|
||||
<value>× Clear</value>
|
||||
</data>
|
||||
<data name="BtnDeleteGoods.Text" xml:space="preserve">
|
||||
<value>- Delete</value>
|
||||
</data>
|
||||
<data name="GrpGoodsList.Text" xml:space="preserve">
|
||||
<value>Shop info list</value>
|
||||
</data>
|
||||
<data name="GrpItems.Text" xml:space="preserve">
|
||||
<value>Item list</value>
|
||||
</data>
|
||||
<data name="BtnSaveGoods.Text" xml:space="preserve">
|
||||
<value>√ Add or Update</value>
|
||||
</data>
|
||||
<data name="CmbRefreshType.Items" xml:space="preserve">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="CmbRefreshType.Items1" xml:space="preserve">
|
||||
<value>Daily</value>
|
||||
</data>
|
||||
<data name="CmbRefreshType.Items2" xml:space="preserve">
|
||||
<value>Weekly</value>
|
||||
</data>
|
||||
<data name="CmbRefreshType.Items3" xml:space="preserve">
|
||||
<value>Monthly</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="LblRefreshModeLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>55, 17</value>
|
||||
</data>
|
||||
<data name="LblRefreshModeLabel.Text" xml:space="preserve">
|
||||
<value>Refresh:</value>
|
||||
</data>
|
||||
<data name="LblBuyLevelLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>62, 17</value>
|
||||
</data>
|
||||
<data name="LblBuyLevelLabel.Text" xml:space="preserve">
|
||||
<value>Buy level:</value>
|
||||
</data>
|
||||
<data name="LblEndTimeLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>62, 17</value>
|
||||
</data>
|
||||
<data name="LblEndTimeLabel.Text" xml:space="preserve">
|
||||
<value>End time:</value>
|
||||
</data>
|
||||
<data name="LblBeginTimeLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 17</value>
|
||||
</data>
|
||||
<data name="LblBeginTimeLabel.Text" xml:space="preserve">
|
||||
<value>Begin time:</value>
|
||||
</data>
|
||||
<data name="LblCostItem4Label.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>77, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem4Label.Text" xml:space="preserve">
|
||||
<value>Cost item 4:</value>
|
||||
</data>
|
||||
<data name="LblCostItem3Label.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>77, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem3Label.Text" xml:space="preserve">
|
||||
<value>Cost item 3:</value>
|
||||
</data>
|
||||
<data name="LblCostItem2Label.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>77, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem2Label.Text" xml:space="preserve">
|
||||
<value>Cost item 2:</value>
|
||||
</data>
|
||||
<data name="LblCostItem1Label.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>77, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem1Label.Text" xml:space="preserve">
|
||||
<value>Cost item 1:</value>
|
||||
</data>
|
||||
<data name="LblCostMcoinLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>45, 298</value>
|
||||
</data>
|
||||
<data name="LblCostMcoinLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>77, 17</value>
|
||||
</data>
|
||||
<data name="LblCostMcoinLabel.Text" xml:space="preserve">
|
||||
<value>Cost Mcion:</value>
|
||||
</data>
|
||||
<data name="LblCostScoinLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>72, 17</value>
|
||||
</data>
|
||||
<data name="LblCostScoinLabel.Text" xml:space="preserve">
|
||||
<value>Cost Scion:</value>
|
||||
</data>
|
||||
<data name="LblCostHcoinLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>74, 17</value>
|
||||
</data>
|
||||
<data name="LblCostHcoinLabel.Text" xml:space="preserve">
|
||||
<value>Cost Hcion:</value>
|
||||
</data>
|
||||
<data name="LblBuyLimitLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 17</value>
|
||||
</data>
|
||||
<data name="LblBuyLimitLabel.Text" xml:space="preserve">
|
||||
<value>Buy limit:</value>
|
||||
</data>
|
||||
<data name="LblGoodsIdLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>62, 17</value>
|
||||
</data>
|
||||
<data name="LblGoodsIdLabel.Text" xml:space="preserve">
|
||||
<value>GoodsId:</value>
|
||||
</data>
|
||||
<data name="LblGoodsItemLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>50, 17</value>
|
||||
</data>
|
||||
<data name="LblGoodsItemLabel.Text" xml:space="preserve">
|
||||
<value>Goods:</value>
|
||||
</data>
|
||||
<data name="LnkGenGoodsId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>78, 17</value>
|
||||
</data>
|
||||
<data name="LnkGenGoodsId.Text" xml:space="preserve">
|
||||
<value>Generate ID</value>
|
||||
</data>
|
||||
<data name="GrpGoodsInfo.Text" xml:space="preserve">
|
||||
<value>Shop info</value>
|
||||
</data>
|
||||
<data name="BtnSave.Text" xml:space="preserve">
|
||||
<value>Save</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>Load</value>
|
||||
</data>
|
||||
<data name="LblShopPathLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>97, 17</value>
|
||||
</data>
|
||||
<data name="LblShopPathLabel.Text" xml:space="preserve">
|
||||
<value>Shop.json Path:</value>
|
||||
</data>
|
||||
</root>
|
1698
Source/GrasscutterTools/Forms/FormShopEditor.resx
Normal file
286
Source/GrasscutterTools/Forms/FormShopEditor.ru-RU.resx
Normal file
@@ -0,0 +1,286 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="GrpShopList.Text" xml:space="preserve">
|
||||
<value>Список магазинов</value>
|
||||
</data>
|
||||
<data name="GrpGoodsList.Text" xml:space="preserve">
|
||||
<value>Список товаров</value>
|
||||
</data>
|
||||
<data name="BtnClearGoods.Text" xml:space="preserve">
|
||||
<value>× Очистить</value>
|
||||
</data>
|
||||
<data name="BtnDeleteGoods.Text" xml:space="preserve">
|
||||
<value>- Удалить</value>
|
||||
</data>
|
||||
<data name="GrpItems.Text" xml:space="preserve">
|
||||
<value>Список предметов</value>
|
||||
</data>
|
||||
<data name="GrpGoodsInfo.Text" xml:space="preserve">
|
||||
<value>Информация о товарах</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="BtnSaveGoods.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>74, 472</value>
|
||||
</data>
|
||||
<data name="BtnSaveGoods.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>200, 30</value>
|
||||
</data>
|
||||
<data name="BtnSaveGoods.Text" xml:space="preserve">
|
||||
<value>√ Добавить или обновить</value>
|
||||
</data>
|
||||
<data name="CmbRefreshType.Items" xml:space="preserve">
|
||||
<value>Никогда</value>
|
||||
</data>
|
||||
<data name="CmbRefreshType.Items1" xml:space="preserve">
|
||||
<value>Ежедневно</value>
|
||||
</data>
|
||||
<data name="CmbRefreshType.Items2" xml:space="preserve">
|
||||
<value>Еженедельно</value>
|
||||
</data>
|
||||
<data name="CmbRefreshType.Items3" xml:space="preserve">
|
||||
<value>Ежемесячно</value>
|
||||
</data>
|
||||
<data name="LblRefreshModeLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 211</value>
|
||||
</data>
|
||||
<data name="LblRefreshModeLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>118, 17</value>
|
||||
</data>
|
||||
<data name="LblRefreshModeLabel.Text" xml:space="preserve">
|
||||
<value>Обновить режим:</value>
|
||||
</data>
|
||||
<data name="LblBuyLevelLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>62, 17</value>
|
||||
</data>
|
||||
<data name="LblBuyLevelLabel.Text" xml:space="preserve">
|
||||
<value>Уровень:</value>
|
||||
</data>
|
||||
<data name="LblEndTimeLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>1, 183</value>
|
||||
</data>
|
||||
<data name="LblEndTimeLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>122, 17</value>
|
||||
</data>
|
||||
<data name="LblEndTimeLabel.Text" xml:space="preserve">
|
||||
<value>Время окончания:</value>
|
||||
</data>
|
||||
<data name="LblBeginTimeLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>10, 156</value>
|
||||
</data>
|
||||
<data name="LblBeginTimeLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>97, 17</value>
|
||||
</data>
|
||||
<data name="LblBeginTimeLabel.Text" xml:space="preserve">
|
||||
<value>Время начала:</value>
|
||||
</data>
|
||||
<data name="LblCostItem4Label.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>76, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem4Label.Text" xml:space="preserve">
|
||||
<value>Стоимость 4:</value>
|
||||
</data>
|
||||
<data name="LblCostItem3Label.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>76, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem3Label.Text" xml:space="preserve">
|
||||
<value>Стоимость 3:</value>
|
||||
</data>
|
||||
<data name="LblCostItem2Label.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>76, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem2Label.Text" xml:space="preserve">
|
||||
<value>Стоимость 2:</value>
|
||||
</data>
|
||||
<data name="LblCostItem1Label.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>76, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem1Label.Text" xml:space="preserve">
|
||||
<value>Стоимость 1:</value>
|
||||
</data>
|
||||
<data name="LblCostMcoinLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>46, 298</value>
|
||||
</data>
|
||||
<data name="LblCostMcoinLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>67, 17</value>
|
||||
</data>
|
||||
<data name="LblCostMcoinLabel.Text" xml:space="preserve">
|
||||
<value>Кристаллы:</value>
|
||||
</data>
|
||||
<data name="LblCostScoinLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>67, 269</value>
|
||||
</data>
|
||||
<data name="LblCostScoinLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>46, 17</value>
|
||||
</data>
|
||||
<data name="LblCostScoinLabel.Text" xml:space="preserve">
|
||||
<value>Мора:</value>
|
||||
</data>
|
||||
<data name="LblCostHcoinLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>9, 240</value>
|
||||
</data>
|
||||
<data name="LblCostHcoinLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>104, 17</value>
|
||||
</data>
|
||||
<data name="LblCostHcoinLabel.Text" xml:space="preserve">
|
||||
<value>Камни истока:</value>
|
||||
</data>
|
||||
<data name="LblBuyLimitLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 17</value>
|
||||
</data>
|
||||
<data name="LblBuyLimitLabel.Text" xml:space="preserve">
|
||||
<value>Лимит:</value>
|
||||
</data>
|
||||
<data name="LblGoodsIdLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>66, 17</value>
|
||||
</data>
|
||||
<data name="LblGoodsIdLabel.Text" xml:space="preserve">
|
||||
<value>Goods ID:</value>
|
||||
</data>
|
||||
<data name="LblGoodsItemLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>50, 17</value>
|
||||
</data>
|
||||
<data name="LblGoodsItemLabel.Text" xml:space="preserve">
|
||||
<value>Goods:</value>
|
||||
</data>
|
||||
<data name="LnkGenGoodsId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 17</value>
|
||||
</data>
|
||||
<data name="LnkGenGoodsId.Text" xml:space="preserve">
|
||||
<value>Создать ID</value>
|
||||
</data>
|
||||
<data name="BtnSave.Text" xml:space="preserve">
|
||||
<value>Сохранить</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>Загрузить</value>
|
||||
</data>
|
||||
<data name="TxtShopJsonPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>144, 12</value>
|
||||
</data>
|
||||
<data name="TxtShopJsonPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>516, 23</value>
|
||||
</data>
|
||||
<data name="LblShopPathLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>127, 17</value>
|
||||
</data>
|
||||
<data name="LblShopPathLabel.Text" xml:space="preserve">
|
||||
<value>Путь до Shop.json:</value>
|
||||
</data>
|
||||
</root>
|
150
Source/GrasscutterTools/Forms/FormShopEditor.zh-TW.resx
Normal file
@@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="BtnDeleteGoods.Text" xml:space="preserve">
|
||||
<value>- 刪除</value>
|
||||
</data>
|
||||
<data name="CmbRefreshType.Items" xml:space="preserve">
|
||||
<value>無</value>
|
||||
</data>
|
||||
<data name="CmbRefreshType.Items2" xml:space="preserve">
|
||||
<value>週</value>
|
||||
</data>
|
||||
<data name="LblBuyLevelLabel.Text" xml:space="preserve">
|
||||
<value>限購等級:</value>
|
||||
</data>
|
||||
<data name="LblEndTimeLabel.Text" xml:space="preserve">
|
||||
<value>下架時間:</value>
|
||||
</data>
|
||||
<data name="LblBeginTimeLabel.Text" xml:space="preserve">
|
||||
<value>上架時間:</value>
|
||||
</data>
|
||||
<data name="LblCostMcoinLabel.Text" xml:space="preserve">
|
||||
<value>消耗創世結晶:</value>
|
||||
</data>
|
||||
<data name="LblBuyLimitLabel.Text" xml:space="preserve">
|
||||
<value>限購數量:</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>加載</value>
|
||||
</data>
|
||||
<data name="LblShopPathLabel.Text" xml:space="preserve">
|
||||
<value>Shop.json 路徑:</value>
|
||||
</data>
|
||||
</root>
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -57,7 +58,6 @@ namespace GrasscutterTools.Forms
|
||||
if (Settings.Default.ResourcesDirPath != resourcesDirPath)
|
||||
{
|
||||
Settings.Default.ResourcesDirPath = resourcesDirPath;
|
||||
Settings.Default.Save();
|
||||
}
|
||||
|
||||
CmbLanguage.Items.Clear();
|
||||
@@ -104,7 +104,6 @@ namespace GrasscutterTools.Forms
|
||||
|
||||
GenLines();
|
||||
Settings.Default.TextMapFileName = CmbLanguage.Text;
|
||||
Settings.Default.Save();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.GOOD
|
||||
@@ -91,4 +92,4 @@ namespace GrasscutterTools.GOOD
|
||||
public double Value { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.GOOD
|
||||
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
@@ -26,7 +27,7 @@ namespace GrasscutterTools.GOOD
|
||||
/// Genshin Open Object Description (GOOD)
|
||||
/// Doc: https://frzyc.github.io/genshin-optimizer/#/doc
|
||||
/// Modified from https://github.com/Andrewthe13th/Inventory_Kamera/blob/master/InventoryKamera/data/GOOD.cs
|
||||
///
|
||||
///
|
||||
/// Available for
|
||||
/// https://frzyc.github.io/genshin-optimizer/
|
||||
/// https://github.com/Andrewthe13th/Inventory_Kamera
|
||||
@@ -60,4 +61,4 @@ namespace GrasscutterTools.GOOD
|
||||
[JsonProperty("materials", DefaultValueHandling = DefaultValueHandling.Ignore)]
|
||||
public Dictionary<string, int> Materials { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text.RegularExpressions;
|
||||
@@ -55,10 +56,8 @@ namespace GrasscutterTools.GOOD
|
||||
Weapons = ToGOODMap(weapons);
|
||||
}
|
||||
|
||||
|
||||
public static Dictionary<string, int> ArtifactCats { get; private set; }
|
||||
|
||||
|
||||
public static Dictionary<string, int> ArtifactSlotMap = new Dictionary<string, int> {
|
||||
{"goblet", 1}, {"plume", 2}, {"circlet", 3}, {"flower", 4}, {"sands", 5}
|
||||
};
|
||||
@@ -103,6 +102,5 @@ namespace GrasscutterTools.GOOD
|
||||
public static Dictionary<string, int> Avatars { get; private set; }
|
||||
|
||||
public static Dictionary<string, int> Weapons { get; private set; }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@@ -14,9 +14,11 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.GOOD
|
||||
|
@@ -14,18 +14,19 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
|
||||
namespace GrasscutterTools.Game
|
||||
{
|
||||
/// <summary>
|
||||
/// 命令版本
|
||||
///
|
||||
///
|
||||
/// 用法:
|
||||
/// ver = Version.TryParse(input, out Version current) ? new CommandVersion(current) : CommandVersion.Latest();
|
||||
///
|
||||
///
|
||||
/// </summary>
|
||||
internal class CommandVersion
|
||||
{
|
||||
@@ -71,6 +72,12 @@ namespace GrasscutterTools.Game
|
||||
/// </summary>
|
||||
public static CommandVersion Latest() => new CommandVersion(List[List.Length - 1]);
|
||||
|
||||
/// <summary>
|
||||
/// 检查命令版本
|
||||
/// </summary>
|
||||
/// <param name="version">最低要求版本</param>
|
||||
/// <returns>当前版本是否满足</returns>
|
||||
public bool Check(Version version) => Current >= version;
|
||||
|
||||
#region - 版本列表 Version List -
|
||||
|
||||
@@ -120,11 +127,16 @@ namespace GrasscutterTools.Game
|
||||
/// </summary>
|
||||
public static readonly Version V1_4_2 = new Version(1, 4, 2);
|
||||
|
||||
/// <summary>
|
||||
/// 2022/11/15
|
||||
/// </summary>
|
||||
public static readonly Version V1_4_3 = new Version(1, 4, 3);
|
||||
|
||||
// More...
|
||||
/// <summary>
|
||||
/// 2022/10/18
|
||||
/// Date
|
||||
/// </summary>
|
||||
//public static readonly Version V1_4_3 = new Version(1, 4, 2);
|
||||
//public static readonly Version V1_4_4 = new Version(1, 4, 4);
|
||||
|
||||
public static Version[] List { get; } = new Version[] {
|
||||
V1_2_1,
|
||||
@@ -135,9 +147,10 @@ namespace GrasscutterTools.Game
|
||||
V1_4_0,
|
||||
V1_4_1,
|
||||
V1_4_2,
|
||||
//V1_4_3,
|
||||
V1_4_3,
|
||||
//V1_4_4,
|
||||
};
|
||||
|
||||
#endregion - 版本列表 Version List -
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +1,23 @@
|
||||
using Newtonsoft.Json;
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.Game.Drop
|
||||
{
|
||||
|
@@ -1,4 +1,23 @@
|
||||
using System.Collections.Generic;
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
@@ -18,4 +37,4 @@ namespace GrasscutterTools.Game.Drop
|
||||
[JsonProperty("dropDataList")]
|
||||
public List<DropData> DropDataList { get; set; } = new List<DropData>();
|
||||
}
|
||||
}
|
||||
}
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
namespace GrasscutterTools.Game.Gacha
|
||||
{
|
||||
public enum BannerType
|
||||
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
|
230
Source/GrasscutterTools/Game/Gacha/GachaBanner3.cs
Normal file
@@ -0,0 +1,230 @@
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
namespace GrasscutterTools.Game.Gacha
|
||||
{
|
||||
/// <summary>
|
||||
/// https://github.com/Grasscutters/Grasscutter/pull/639
|
||||
/// </summary>
|
||||
public class GachaBanner3
|
||||
{
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[JsonProperty("comment")]
|
||||
public string Comment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 添加卡池请从400开始增加id数值进行添加,这个id需要每个池子不一样,
|
||||
/// 如果你想添加大量卡池,请按照每次增加固定数值的id进行添加,比如:411,412,413....
|
||||
/// </summary>
|
||||
[JsonProperty("gachaType")]
|
||||
public int GachaType { get; set; } = 400;
|
||||
|
||||
/// <summary>
|
||||
/// 这个id需要每个池子不一样,如果你想添加大量卡池,
|
||||
/// 请按照每次增加固定数值的id进行添加,比如:2100,2200,2300....
|
||||
/// </summary>
|
||||
[JsonProperty("scheduleId")]
|
||||
public int ScheduleId { get; set; } = 800;
|
||||
|
||||
/// <summary>
|
||||
/// 这个是卡池的预制路径id
|
||||
/// </summary>
|
||||
[JsonProperty("prefabPath")]
|
||||
public string PrefabPath { get; set; } = "GachaShowPanel_A007";
|
||||
|
||||
/// <summary>
|
||||
/// 这个是抽卡的预览背景路径id
|
||||
/// </summary>
|
||||
[JsonProperty("previewPrefabPath")]
|
||||
public string PreviewPrefabPath { get; set; } = "UI_Tab_GachaShowPanel_A007";
|
||||
|
||||
/// <summary>
|
||||
/// 这个是抽卡的标题路径id,有可能与之前两项的id不同
|
||||
/// (一般这3项的id只需保持一致即可,就是A0xx,xx为同一id)
|
||||
/// </summary>
|
||||
[JsonProperty("titlePath")]
|
||||
public string TitlePath { get; set; } = "UI_GACHA_SHOW_PANEL_A007_TITLE";
|
||||
|
||||
/// <summary>
|
||||
/// 这个表示祈愿用的道具,224是相遇之缘,223是纠缠之缘 - 选择一个作为该卡池的抽卡道具
|
||||
/// (提示:请不要随便修改祈愿道具除了蓝球和粉球,有可能会引发bug,比如修改成摩拉抽卡可能导致卡住)
|
||||
/// </summary>
|
||||
[JsonProperty("costItemId")]
|
||||
public int CostItemId { get; set; } = 224;
|
||||
|
||||
/// <summary>
|
||||
/// 抽卡消耗
|
||||
/// </summary>
|
||||
[JsonProperty("coseItemAmount"), DefaultValue(1)]
|
||||
public int CoseItemAmount { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 这个表示十连祈愿用的道具,224是相遇之缘,223是纠缠之缘 - 选择一个作为该卡池的抽卡道具
|
||||
/// (提示:请不要随便修改祈愿道具除了蓝球和粉球,有可能会引发bug,比如修改成摩拉抽卡可能导致卡住)
|
||||
/// </summary>
|
||||
[JsonProperty("costItemId10")]
|
||||
public int CostItemId10 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 十连抽卡消耗
|
||||
/// </summary>
|
||||
[JsonProperty("coseItemAmount10"), DefaultValue(10)]
|
||||
public int CoseItemAmount10 { get; set; } = 10;
|
||||
|
||||
/// <summary>
|
||||
/// 开始时间(Unix时间戳)
|
||||
/// </summary>
|
||||
[JsonProperty("beginTime")]
|
||||
public int BeginTime { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 结束时间(Unix时间戳)
|
||||
/// </summary>
|
||||
[JsonProperty("endTime")]
|
||||
public int EndTime { get; set; } = 1924992000;
|
||||
|
||||
/// <summary>
|
||||
/// 卡池顺序
|
||||
/// </summary>
|
||||
[JsonProperty("sortId")]
|
||||
public int SortId { get; set; } = 1000;
|
||||
|
||||
/// <summary>
|
||||
/// 抽卡次数限制
|
||||
/// </summary>
|
||||
[JsonProperty("gachaTimesLimit"), DefaultValue(int.MaxValue)]
|
||||
public int GachaTimesLimit { get; set; } = int.MaxValue;
|
||||
|
||||
/// <summary>
|
||||
/// 4星的up角色或物品
|
||||
/// </summary>
|
||||
[JsonProperty("rateUpItems4")]
|
||||
public int[] RateUpItems4 { get; set; } = { };
|
||||
|
||||
/// <summary>
|
||||
/// 5星的up物品或者角色
|
||||
/// </summary>
|
||||
[JsonProperty("rateUpItems5")]
|
||||
public int[] RateUpItems5 { get; set; } = { };
|
||||
|
||||
/// <summary>
|
||||
/// 3星普通池
|
||||
/// </summary>
|
||||
[JsonProperty("fallbackItems3")]
|
||||
public int[] FallbackItems3 { get; set; } = { 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 };
|
||||
|
||||
/// <summary>
|
||||
/// 4星普通角色池
|
||||
/// </summary>
|
||||
[JsonProperty("fallbackItems4Pool1")]
|
||||
public int[] FallbackItems4Pool1 { get; set; } = { 1014, 1020, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 };
|
||||
|
||||
/// <summary>
|
||||
/// 4星普通武器池
|
||||
/// </summary>
|
||||
[JsonProperty("fallbackItems4Pool2")]
|
||||
public int[] FallbackItems4Pool2 { get; set; } = { 11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405 };
|
||||
|
||||
/// <summary>
|
||||
/// 5星普通角色池
|
||||
/// </summary>
|
||||
[JsonProperty("fallbackItems5Pool1")]
|
||||
public int[] FallbackItems5Pool1 { get; set; } = { 1003, 1016, 1042, 1035, 1041 };
|
||||
|
||||
/// <summary>
|
||||
/// 5星普通角色池
|
||||
/// </summary>
|
||||
[JsonProperty("fallbackItems5Pool2")]
|
||||
public int[] FallbackItems5Pool2 { get; set; } = { 11501, 11502, 12501, 12502, 13502, 13505, 14501, 14502, 15501, 15502 };
|
||||
|
||||
/// <summary>
|
||||
/// 是否从奖池中移除玩家星座等级6级以上的角色
|
||||
/// </summary>
|
||||
[JsonProperty("removeC6FromPool"), DefaultValue(false)]
|
||||
public bool RemoveC6FromPool { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 自动从普通池中移除UP池物品或角色
|
||||
/// </summary>
|
||||
[JsonProperty("autoStripRateUpFromFallback"), DefaultValue(true)]
|
||||
public bool AutoStripRateUpFromFallback { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 4星权重
|
||||
/// </summary>
|
||||
[JsonProperty("weights4")]
|
||||
public int[,] Weights4 { get; set; } = { { 1, 510 }, { 8, 510 }, { 10, 10000 } };
|
||||
|
||||
/// <summary>
|
||||
/// 5星权重
|
||||
/// </summary>
|
||||
[JsonProperty("weights5")]
|
||||
public int[,] Weights5 { get; set; } = { { 1, 75 }, { 73, 150 }, { 90, 10000 } };
|
||||
|
||||
/// <summary>
|
||||
/// 4星平衡奖池权重(即中的是武器还是角色)
|
||||
/// </summary>
|
||||
[JsonProperty("poolBalanceWeights4")]
|
||||
public int[,] PoolBalanceWeights4 { get; set; } = { { 1, 255 }, { 17, 255 }, { 21, 10455 } };
|
||||
|
||||
/// <summary>
|
||||
/// 5星平衡奖池权重(即中的是武器还是角色)
|
||||
/// </summary>
|
||||
[JsonProperty("poolBalanceWeights5")]
|
||||
public int[,] PoolBalanceWeights5 { get; set; } = { { 1, 30 }, { 147, 150 }, { 181, 10230 } };
|
||||
|
||||
/// <summary>
|
||||
/// 4星事件概率(抽中后,摇1~100随机数,如果大于该值则抽中up池)
|
||||
/// </summary>
|
||||
[JsonProperty("eventChance4"), DefaultValue(50)]
|
||||
public int EventChance4 { get; set; } = 50;
|
||||
|
||||
/// <summary>
|
||||
/// 5星事件概率(抽中后,摇1~100随机数,如果大于该值则抽中up池)
|
||||
/// </summary>
|
||||
[JsonProperty("eventChance5"), DefaultValue(50)]
|
||||
public int EventChance5 { get; set; } = 50;
|
||||
|
||||
/// <summary>
|
||||
/// 这个有3种类型,standard表示常驻池,event表示限时角色祈愿池,
|
||||
/// weapon表示限时武器祈愿池,选择一种类型的卡池
|
||||
/// </summary>
|
||||
[JsonProperty("bannerType"), JsonConverter(typeof(StringEnumConverter)), DefaultValue(BannerType.STANDARD)]
|
||||
public BannerType BannerType { get; set; } = BannerType.STANDARD;
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"[{GachaType}|{ScheduleId}] 5*:[{string.Join(",", RateUpItems5.Select(GetName))}] 4*:[{string.Join(",", RateUpItems4.Select(GetName))}]";
|
||||
}
|
||||
|
||||
private static string GetName(int id)
|
||||
{
|
||||
var a = GameData.Avatars[id];
|
||||
return a == ItemMap.EmptyName ? GameData.Weapons[id] : a;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +1,7 @@
|
||||
/**
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
@@ -14,8 +17,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
namespace GrasscutterTools.Game
|
||||
{
|
||||
public class GameCommand
|
||||
@@ -29,5 +33,37 @@ namespace GrasscutterTools.Game
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Command { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取命令记录
|
||||
/// (反序列化)
|
||||
/// </summary>
|
||||
/// <param name="commandsText">命令记录文本(示例:"标签1\n命令1\n标签2\n命令2...")</param>
|
||||
/// <returns>命令列表</returns>
|
||||
public static List<GameCommand> Parse(string commandsText)
|
||||
{
|
||||
var lines = commandsText.Split('\n');
|
||||
List<GameCommand> commands = new List<GameCommand>(lines.Length / 2);
|
||||
for (int i = 0; i < lines.Length - 1; i += 2)
|
||||
commands.Add(new GameCommand(lines[i].Trim(), lines[i + 1].Trim()));
|
||||
return commands;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取命令记录文本
|
||||
/// (序列化)
|
||||
/// </summary>
|
||||
/// <param name="commands">命令列表</param>
|
||||
/// <returns>命令记录文本(示例:"标签1\n命令1\n标签2\n命令2...")</returns>
|
||||
public static string ToString(List<GameCommand> commands)
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
foreach (var cmd in commands)
|
||||
{
|
||||
builder.AppendLine(cmd.Name);
|
||||
builder.AppendLine(cmd.Command);
|
||||
}
|
||||
return builder.ToString();
|
||||
}
|
||||
}
|
||||
}
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using GrasscutterTools.Properties;
|
||||
|
||||
namespace GrasscutterTools.Game
|
||||
@@ -24,7 +25,6 @@ namespace GrasscutterTools.Game
|
||||
{
|
||||
public static void LoadResources()
|
||||
{
|
||||
Animals = new ItemMap(Resources.Animal);
|
||||
Artifacts = new ItemMap(Resources.Artifact);
|
||||
ArtifactCats = new ItemMap(Resources.ArtifactCat);
|
||||
ArtifactMainAttribution = new ItemMap(Resources.ArtifactMainAttribution);
|
||||
@@ -32,17 +32,18 @@ namespace GrasscutterTools.Game
|
||||
Avatars = new ItemMap(Resources.Avatar);
|
||||
AvatarColors = new ItemMap(Resources.AvatarColor);
|
||||
Items = new ItemMap(Resources.Item);
|
||||
Monsters = new ItemMap(Resources.Monster);
|
||||
//NPCs = new ItemMap(Resources.NPC);
|
||||
Monsters = new ItemMapGroup(Resources.Monsters);
|
||||
Gadgets = new ItemMapGroup(Resources.Gadget);
|
||||
Scenes = new ItemMap(Resources.Scene);
|
||||
Dungeons = new ItemMap(Resources.Dungeon);
|
||||
Weapons = new ItemMap(Resources.Weapon);
|
||||
WeaponColors = new ItemMap(Resources.WeaponColor);
|
||||
GachaBannerPrefabs = new ItemMap(Resources.GachaBennerPrefab);
|
||||
GachaBannerTitles = new ItemMap(Resources.GachaBannerTitle);
|
||||
Quests = new ItemMap(Resources.Quest);
|
||||
ShopType = new ItemMap(Resources.ShopType);
|
||||
}
|
||||
|
||||
public static ItemMap Animals { get; private set; }
|
||||
|
||||
public static ItemMap Artifacts { get; private set; }
|
||||
|
||||
public static ItemMap ArtifactCats { get; private set; }
|
||||
@@ -57,18 +58,24 @@ namespace GrasscutterTools.Game
|
||||
|
||||
public static ItemMap Items { get; private set; }
|
||||
|
||||
public static ItemMap Monsters { get; private set; }
|
||||
public static ItemMapGroup Monsters { get; private set; }
|
||||
|
||||
//public static ItemMap NPCs { get; private set; }
|
||||
public static ItemMapGroup Gadgets { get; private set; }
|
||||
|
||||
public static ItemMap Scenes { get; private set; }
|
||||
|
||||
public static ItemMap Dungeons { get; private set; }
|
||||
|
||||
public static ItemMap Weapons { get; private set; }
|
||||
|
||||
public static ItemMap WeaponColors { get; private set; }
|
||||
|
||||
public static ItemMap GachaBannerPrefabs { get; private set; }
|
||||
|
||||
public static ItemMap GachaBannerTitles { get; private set; }
|
||||
|
||||
public static ItemMap Quests { get; private set; }
|
||||
|
||||
public static ItemMap ShopType { get; private set; }
|
||||
}
|
||||
}
|
||||
}
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@@ -72,5 +73,13 @@ namespace GrasscutterTools.Game
|
||||
public string[] Lines { get; }
|
||||
|
||||
public static int ToId(string line) => int.Parse(line.Substring(0, line.IndexOf(':')).Trim());
|
||||
|
||||
public static bool TryToId(string line, out int id)
|
||||
{
|
||||
id = 0;
|
||||
var sp = line.IndexOf(':');
|
||||
if (sp == -1) return false;
|
||||
return int.TryParse(line.Substring(0, sp).Trim(), out id);
|
||||
}
|
||||
}
|
||||
}
|
67
Source/GrasscutterTools/Game/ItemMapGroup.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace GrasscutterTools.Game
|
||||
{
|
||||
/// <summary>
|
||||
/// ID映射组,Key为分类,双斜杠构造
|
||||
/// </summary>
|
||||
public class ItemMapGroup : Dictionary<string, ItemMap>
|
||||
{
|
||||
public ItemMapGroup(string idNamePairs)
|
||||
{
|
||||
for (int i = 0; i < idNamePairs.Length;)
|
||||
{
|
||||
var categoryLineStartIndex = idNamePairs.IndexOf("//", i);
|
||||
if (categoryLineStartIndex == -1)
|
||||
break;
|
||||
var categoryLineEndIndex = idNamePairs.IndexOf('\n', categoryLineStartIndex);
|
||||
if (categoryLineEndIndex == -1)
|
||||
break;
|
||||
|
||||
var category = idNamePairs.Substring(categoryLineStartIndex + 2, categoryLineEndIndex - categoryLineStartIndex - 3).Trim();
|
||||
|
||||
var nextStartIndex = idNamePairs.IndexOf("//", categoryLineEndIndex);
|
||||
if (nextStartIndex == -1)
|
||||
{
|
||||
var itemMap = new ItemMap(idNamePairs.Substring(categoryLineEndIndex + 1));
|
||||
if (itemMap.Count > 0)
|
||||
Add(category, itemMap);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
var pairs = idNamePairs.Substring(categoryLineEndIndex + 1, nextStartIndex - categoryLineEndIndex - 1);
|
||||
var itemMap = new ItemMap(pairs);
|
||||
if (itemMap.Count > 0)
|
||||
Add(category, itemMap);
|
||||
i = nextStartIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有行
|
||||
/// </summary>
|
||||
public IEnumerable<string> AllLines => Values.SelectMany(it => it.Lines);
|
||||
}
|
||||
}
|
@@ -1,4 +1,23 @@
|
||||
using System;
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
@@ -40,7 +59,7 @@ namespace GrasscutterTools.Game.Mail
|
||||
/// 附件列表
|
||||
/// </summary>
|
||||
public List<MailItem> ItemList { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 发送时间
|
||||
/// </summary>
|
||||
@@ -54,4 +73,4 @@ namespace GrasscutterTools.Game.Mail
|
||||
return $"To[{Recipient}]: [{Title}] {Content} | {SendTime}";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +1,23 @@
|
||||
namespace GrasscutterTools.Game.Mail
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
namespace GrasscutterTools.Game.Mail
|
||||
{
|
||||
/// <summary>
|
||||
/// 附件
|
||||
@@ -35,4 +54,4 @@
|
||||
return $"{ItemId}:{name}";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
43
Source/GrasscutterTools/Game/Player/PlayerData.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
namespace GrasscutterTools.Game.Player
|
||||
{
|
||||
/// <summary>
|
||||
/// 玩家数据
|
||||
/// </summary>
|
||||
internal class PlayerData
|
||||
{
|
||||
/// <summary>
|
||||
/// 升到下一级所需经验,索引为当前等级
|
||||
/// </summary>
|
||||
public static int[] LevelExp = new int[]
|
||||
{
|
||||
0, 375, 500, 625, 725, 850, 950, 1075, 1200, 1300, 1425, 1525, 1650, 1775, 1875, 2000, 2375, 2500, 2625,
|
||||
2775, 2825, 3425, 3725, 4000, 4300, 4575, 4875, 5150, 5450, 5725, 6025, 6300, 6600, 6900, 7175, 7475, 7750,
|
||||
8050, 8325, 8625, 10550, 11525, 12475, 13450, 14400, 15350, 16325, 17275, 18250, 19200, 26400, 28800, 31200,
|
||||
33600, 36000, 232350, 258950, 285750, 312825, 340125, 0,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// 玩家最大等级数
|
||||
/// </summary>
|
||||
public const int PlayerMaxLevel = 60;
|
||||
}
|
||||
}
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System.Text;
|
||||
|
||||
using GrasscutterTools.Properties;
|
||||
|
38
Source/GrasscutterTools/Game/Shop/ItemParamData.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.Game.Shop
|
||||
{
|
||||
public struct ItemParamData
|
||||
{
|
||||
public ItemParamData(int id, int count)
|
||||
{
|
||||
Id = id;
|
||||
Count = count;
|
||||
}
|
||||
|
||||
[JsonProperty("id")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[JsonProperty("count")]
|
||||
public int Count { get; set; }
|
||||
}
|
||||
}
|
78
Source/GrasscutterTools/Game/Shop/ShopGoodsData.cs
Normal file
@@ -0,0 +1,78 @@
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
namespace GrasscutterTools.Game.Shop
|
||||
{
|
||||
public class ShopGoodsData
|
||||
{
|
||||
[JsonProperty("goodsId")]
|
||||
public int GoodsId { get; set; }
|
||||
|
||||
[JsonProperty("shopType")]
|
||||
public int ShopType { get; set; }
|
||||
|
||||
[JsonProperty("itemId")]
|
||||
public int ItemId { get; set; }
|
||||
|
||||
[JsonProperty("itemCount")]
|
||||
public int ItemCount { get; set; }
|
||||
|
||||
[JsonProperty("costScoin")]
|
||||
public int CostScoin { get; set; }
|
||||
|
||||
[JsonProperty("costHcoin")]
|
||||
public int CostHcoin { get; set; }
|
||||
|
||||
[JsonProperty("costMcion")]
|
||||
public int CostMcion { get; set; }
|
||||
|
||||
[JsonProperty("costItems")]
|
||||
public List<ItemParamData> CostItems { get; set; }
|
||||
|
||||
[JsonProperty("minPlayerLevel")]
|
||||
public int MinPlayerLevel { get; set; }
|
||||
|
||||
[JsonProperty("maxPlayerLevel")]
|
||||
public int MaxPlayerLevel { get; set; }
|
||||
|
||||
[JsonProperty("buyLimit")]
|
||||
public int BuyLimit { get; set; }
|
||||
|
||||
[JsonProperty("subTabId")]
|
||||
public int SubTabId { get; set; }
|
||||
|
||||
[JsonProperty("refreshType"), JsonConverter(typeof(StringEnumConverter))]
|
||||
public ShopRefreshType RefreshType { get; set; }
|
||||
|
||||
[JsonProperty("refreshParam")]
|
||||
public int RefreshParam { get; set; }
|
||||
|
||||
[JsonProperty("beginTime")]
|
||||
public DateTime? BeginTime { get; set; }
|
||||
|
||||
[JsonProperty("endTime")]
|
||||
public DateTime? EndTime { get; set; }
|
||||
}
|
||||
}
|
123
Source/GrasscutterTools/Game/Shop/ShopInfo.cs
Normal file
@@ -0,0 +1,123 @@
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2022 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
namespace GrasscutterTools.Game.Shop
|
||||
{
|
||||
public class ShopInfo
|
||||
{
|
||||
public ShopInfo()
|
||||
{
|
||||
}
|
||||
|
||||
public ShopInfo(ShopGoodsData sgd)
|
||||
{
|
||||
GoodsId = sgd.GoodsId;
|
||||
GoodsItem = new ItemParamData(sgd.ItemId, sgd.ItemCount);
|
||||
SCoin = sgd.CostScoin;
|
||||
MCoin = sgd.CostMcion;
|
||||
HCoin = sgd.CostHcoin;
|
||||
BuyLimit = sgd.BuyLimit;
|
||||
|
||||
MinLevel = sgd.MinPlayerLevel;
|
||||
MaxLevel = sgd.MaxPlayerLevel;
|
||||
CostItemList = sgd.CostItems.Where(it => it.Id != 0).ToList();
|
||||
SecondarySheetId = sgd.SubTabId;
|
||||
RefreshType = sgd.RefreshType;
|
||||
ShopRefreshParam = sgd.RefreshParam;
|
||||
if (sgd.BeginTime != null && sgd.EndTime != null)
|
||||
{
|
||||
BeginTime = (int)new DateTimeOffset(sgd.BeginTime.Value).ToUnixTimeSeconds();
|
||||
EndTime = (int)new DateTimeOffset(sgd.EndTime.Value).ToUnixTimeSeconds();
|
||||
}
|
||||
}
|
||||
|
||||
[JsonProperty("goodsId")]
|
||||
public int GoodsId { get; set; }
|
||||
|
||||
[JsonProperty("goodsItem")]
|
||||
public ItemParamData GoodsItem { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 消耗摩拉
|
||||
/// </summary>
|
||||
[JsonProperty("scoin")]
|
||||
public int SCoin { get; set; }
|
||||
|
||||
[JsonProperty("costItemList")]
|
||||
public List<ItemParamData> CostItemList { get; set; }
|
||||
|
||||
[JsonProperty("boughtNum")]
|
||||
public int BoughtNum { get; set; }
|
||||
|
||||
[JsonProperty("buyLimit")]
|
||||
public int BuyLimit { get; set; }
|
||||
|
||||
[JsonProperty("beginTime")]
|
||||
public int BeginTime { get; set; }
|
||||
|
||||
[JsonProperty("endTime")]
|
||||
public int EndTime { get; set; } = 1924992000;
|
||||
|
||||
[JsonProperty("minLevel")]
|
||||
public int MinLevel { get; set; }
|
||||
|
||||
[JsonProperty("maxLevel")]
|
||||
public int MaxLevel { get; set; } = 61;
|
||||
|
||||
[JsonProperty("preGoodsIdList")]
|
||||
public List<int> PreGoodsIdList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 消耗创世结晶
|
||||
/// </summary>
|
||||
[JsonProperty("mcoin")]
|
||||
public int MCoin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 消耗原石
|
||||
/// </summary>
|
||||
|
||||
[JsonProperty("hcoin")]
|
||||
public int HCoin { get; set; }
|
||||
|
||||
[JsonProperty("disableType")]
|
||||
public int DisableType { get; set; }
|
||||
|
||||
[JsonProperty("secondarySheetId")]
|
||||
public int SecondarySheetId { get; set; }
|
||||
|
||||
[JsonProperty("refreshType"), JsonConverter(typeof(StringEnumConverter))]
|
||||
public ShopRefreshType RefreshType { get; set; }
|
||||
|
||||
[JsonProperty("shopRefreshParam")]
|
||||
public int ShopRefreshParam { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"{GoodsId}:{GameData.Items[GoodsItem.Id]} x{GoodsItem.Count}";
|
||||
}
|
||||
}
|
||||
}
|