Compare commits
167 Commits
Author | SHA1 | Date | |
---|---|---|---|
c94a7683e4 | |||
b407012bef | |||
bb7d28153f | |||
627d9c7cd2 | |||
53a83fd7a7 | |||
c2ca091662 | |||
738a755353 | |||
dcbd946407 | |||
2a8cebcbb5 | |||
434ec7b2df | |||
c2ff37facf | |||
f48c9b4d0b | |||
1d734479d1 | |||
a989581d59 | |||
6ab9d3842c | |||
b69b2941b6 | |||
90deaa84b4 | |||
403cc3fe52 | |||
dd4eb36c17 | |||
2645e16bee | |||
82668c4c6a | |||
8fce4a8995 | |||
![]() |
4cfbebcc5a | ||
40db4236ba | |||
eef4687ed6 | |||
e9a3f4014e | |||
749aae02ca | |||
fc3fd10081 | |||
65e664f35f | |||
ab9a617619 | |||
f629bc9993 | |||
dc7f48139e | |||
da8c511d60 | |||
eb60f402a4 | |||
c82ce1ea35 | |||
9524ea5ab4 | |||
caf18eaa7a | |||
2cdcb4a599 | |||
![]() |
3407ca61fd | ||
964b7ced8b | |||
![]() |
702267003b | ||
abf970b783 | |||
6855b6299f | |||
b77d242bd9 | |||
01016b1fa1 | |||
b2b656b6cb | |||
aabe6664b4 | |||
![]() |
5869a72645 | ||
df3ab12165 | |||
03fe8909d0 | |||
2ec4bc9333 | |||
c1b89a2b9a | |||
6706525e77 | |||
981b8377d8 | |||
945329d109 | |||
304f3484e3 | |||
47ad6dae6a | |||
0448bb0ea9 | |||
![]() |
5009d148a1 | ||
![]() |
8427103a7e | ||
2767cb44d7 | |||
![]() |
416ffd6435 | ||
ff554ce369 | |||
0698671c05 | |||
67468cf28b | |||
058a6b7ab2 | |||
1ccb3656c2 | |||
6da7e1d4d0 | |||
119c8c87ee | |||
2758b4d896 | |||
d8c7f0ad56 | |||
0d8b51f199 | |||
6e296edf11 | |||
072066ac87 | |||
a359dea603 | |||
29decd4899 | |||
92a5d53d35 | |||
40e33dcb1c | |||
![]() |
2b2757ccff | ||
f57f4097ac | |||
5865441074 | |||
2d916392c1 | |||
dec3b2261f | |||
5b0cb912e4 | |||
5cbdaa7134 | |||
b2f59431a6 | |||
04ec214714 | |||
196b56ab71 | |||
226742776f | |||
f4ec2ee5fa | |||
f33d37cd90 | |||
2394ec7f5d | |||
8baa61b72c | |||
f35ea79475 | |||
46b8ca0b63 | |||
b8cfaf308d | |||
c7d3e5021c | |||
a689b425ca | |||
9bd45157a4 | |||
![]() |
169b8997ec | ||
![]() |
aa6ea882d9 | ||
![]() |
c86b275096 | ||
![]() |
a81985549e | ||
![]() |
f4e9409afa | ||
6647e5bd37 | |||
64b7c25de5 | |||
7c562228c6 | |||
91a194c948 | |||
50a30331e5 | |||
![]() |
da47941564 | ||
![]() |
6e999f92a0 | ||
f4fc0ef3c5 | |||
![]() |
2dc8dc734b | ||
![]() |
98663240de | ||
ba782c85d4 | |||
dea067b21f | |||
d56c73e2a3 | |||
5d208d1220 | |||
47a3a1c7ab | |||
56059b4f4f | |||
09577d5403 | |||
fb77f9432a | |||
0f70405041 | |||
399888f976 | |||
a8a0a14713 | |||
59af1e468d | |||
0d1bad5551 | |||
7eb2ff1624 | |||
72351ba60f | |||
7dc2dcc9db | |||
5b4a7d784d | |||
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 |
32
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
name: Build project
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- Source/**
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- Source/**
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup MSBuild.exe
|
||||
uses: microsoft/setup-msbuild@v1.1.3
|
||||
|
||||
- name: Build release
|
||||
run: msbuild Source/GrasscutterTools.sln /p:Configuration=Release /t:build /restore
|
||||
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: GrasscutterTools
|
||||
path: Source/GrasscutterTools/bin/Release/GrasscutterTools.exe
|
BIN
Doc/Screenshots-en/18-TaskPage.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Doc/Screenshots-en/19-AchievementPage.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
Doc/Screenshots-en/20-ActivityEditor.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
Doc/Screenshots-en/21-HotKey.png
Normal file
After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 49 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: 24 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: 54 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: 52 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: 78 KiB |
BIN
Doc/Screenshots-ru/18-TaskPage.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Doc/Screenshots-ru/19-AchievementPage.png
Normal file
After Width: | Height: | Size: 40 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/20-ActivityEditor.png
Normal file
After Width: | Height: | Size: 50 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: 35 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-tw/0-Home.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
Doc/Screenshots-tw/1-CustomCommands.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
Doc/Screenshots-tw/10-GachaBannerEditor.png
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
Doc/Screenshots-tw/11-TextMapBrowser.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
Doc/Screenshots-tw/12-Remote.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
Doc/Screenshots-tw/13-Quest.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
Doc/Screenshots-tw/15-DropEditor.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
Doc/Screenshots-tw/16-MailEditor.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
Doc/Screenshots-tw/17-ShopEditor.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
Doc/Screenshots-tw/18-TaskPage.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
Doc/Screenshots-tw/19-AchievementPage.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
Doc/Screenshots-tw/2-CustomArtifact.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
Doc/Screenshots-tw/20-ActivityEditor.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
Doc/Screenshots-tw/3-CustomWeapon.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
Doc/Screenshots-tw/4-GiveItem.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
Doc/Screenshots-tw/5-GiveAvatar.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
Doc/Screenshots-tw/6-SpawnEntity.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
Doc/Screenshots-tw/6.1-AttackMod.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
Doc/Screenshots-tw/6.2-AttackInfuse.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
Doc/Screenshots-tw/7-ChangeScene.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
Doc/Screenshots-tw/9-Manage.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
Doc/Screenshots-tw/AttackMod.gif
Normal file
After Width: | Height: | Size: 3.6 MiB |
BIN
Doc/Screenshots-tw/ConfigHttp.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
Doc/Screenshots-tw/GrasscutterLogo.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
Doc/Screenshots-tw/OpenCommand.gif
Normal file
After Width: | Height: | Size: 821 KiB |
BIN
Doc/Screenshots-tw/RunMultipleCommands.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
Doc/Screenshots/18-TaskPage.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
Doc/Screenshots/19-AchievementPage.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
Doc/Screenshots/20-ActivityEditor.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
Doc/Screenshots/21-HotKey.png
Normal file
After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 48 KiB |
66
README.md
@@ -3,19 +3,60 @@
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
[](https://qm.qq.com/cgi-bin/qm/qr?k=PdS9--b-n8LEAmYjX8fNFXtKDcsp4NHN&jump_from=webapi&authKey=7ty3ZCKYMKLGWLmO8O84qiNAZ0EuCnSGF+acP+74xuDMKYXXNjuPP7iUzffHz4r2)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
|
||||
[](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=fBizzp6RwJsIY7gFlmd4L-WG0V3aF8X3&authKey=mTjf%2B7jCIZess1HTRi05e5yi%2FHKA1auMwE8%2FJ960PFWk8WMATST654gWPi4OTHTZ&noverify=0&group_code=835489603)
|
||||
|
||||
English | [简体中文](README_zh-cn.md) | [Русский](README_ru-RU.md)
|
||||
English | [简体中文](README_zh-cn.md) | [繁體中文](README_zh-tw.md) | [Русский](README_ru-RU.md)
|
||||
|
||||
## Commands Generator
|
||||
|
||||
Please download the latest version from [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
Please download the latest committed automated build from [Action](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml), or a release from [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) (may be behind)
|
||||
|
||||
Support 简体中文, 繁体中文, English and Русский languages.
|
||||
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)**
|
||||
|
||||
## Remote command
|
||||
|
||||
The server require [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) support
|
||||
|
||||

|
||||
|
||||
> If you cannot connect to the server, please make sure the server address is correct.
|
||||
>
|
||||
> It is recommended to configure the server to HTTP mode, as shown in the figure(config.json):
|
||||
> 
|
||||
>
|
||||
> You can visit http://127.0.0.1/status/server with a browser to test whether the service is working properly.
|
||||
>
|
||||
> If you are not using port `80`, specify the port number to access in the url: http://127.0.0.1:443
|
||||
|
||||
## Update log
|
||||
|
||||
### GrasscutterTools-v1.11
|
||||

|
||||
|
||||
Commandline Usages:
|
||||
```bash
|
||||
GcTools.exe -help
|
||||
GcTools.exe -version
|
||||
GcTools.exe -c "cmd arg"
|
||||
GcTools.exe -c "cmd1 arg" && GcTools -c "cmd2 arg1 arg2"
|
||||
GcTools.exe -host http://127.0.0.1:443 -token 123456 -c "cmd1 arg1 arg2 | cmd2 | cmd3 arg"
|
||||
```
|
||||
|
||||
### GrasscutterTools-v1.10
|
||||

|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.9
|
||||

|
||||
|
||||
### GrasscutterTools-v1.8
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.3
|
||||

|
||||
|
||||
@@ -37,21 +78,6 @@ Added [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfu
|
||||
|
||||

|
||||
|
||||
## Remote command
|
||||
|
||||
The server require [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) support
|
||||
|
||||

|
||||
|
||||
> If you cannot connect to the server, please make sure the server address is correct.
|
||||
>
|
||||
> It is recommended to configure the server to HTTP mode, as shown in the figure(config.json):
|
||||
> 
|
||||
>
|
||||
> You can visit http://127.0.0.1/status/server with a browser to test whether the service is working properly.
|
||||
>
|
||||
> If you are not using port `80`, specify the port number to access in the url: http://127.0.0.1:443
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
112
README_ru-RU.md
@@ -3,39 +3,18 @@
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
|
||||
|
||||
[English](README.md) | [简体中文](README_zh-cn.md) | Русский - Перевод [Юрий Дворецкий](https://github.com/yurikenjx) (с исправлениями от [EgorBron](https://github.com/EgorBron))
|
||||
[English](README.md) | [简体中文](README_zh-cn.md) | [繁體中文](README_zh-tw.md) | Русский - Перевод [Юрий Дворецкий](https://github.com/yurikenjx) (с исправлениями от [EgorBron](https://github.com/EgorBron))
|
||||
|
||||
## Генератор команд (GCG)
|
||||
|
||||
Загрузите последнюю версию из вкладки [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases).
|
||||
Пожалуйста, загрузите последнюю подтвержденную автоматизированную сборку из [Action](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml) или выпуск из [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) (может отставать)
|
||||
|
||||
GCG поддерживает 简体中文 (китайский упр.), 繁体中文 (китайский трад.), English (английский) и Русский языки.
|
||||
GCG поддерживает 简体中文 (китайский упр.), 繁體中文 (китайский трад.), English (английский) и Русский языки.
|
||||
|
||||
Приглашаем всех улучшить [ID ресурсов и перевод](/Source/GrasscutterTools/Resources/ru-ru)
|
||||
|
||||
## 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
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
> **Warning**: вид приложения может отличаться от скриншотов. Также в нём могут присутствовать ошибки в переводе и отсутсвие некоторых ресурсов. **Мы приглашаем всех сделать вклад в их [улучшение](/Source/GrasscutterTools/Resources/ru-ru)**
|
||||
|
||||
## Удаленная команда (OpenCommand)
|
||||
|
||||
@@ -53,34 +32,87 @@ Added [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfu
|
||||
>
|
||||
> Если вы не указали порт `80` в конфиге, вам нужно указать свой порт в URL-адресе (например, http://127.0.0.1:443)
|
||||
|
||||
|
||||
## Лог обновлений
|
||||
|
||||
### GrasscutterTools-v1.11
|
||||

|
||||
|
||||
Commandline Usages:
|
||||
```bash
|
||||
GcTools.exe -help
|
||||
GcTools.exe -version
|
||||
GcTools.exe -c "cmd arg"
|
||||
GcTools.exe -c "cmd1 arg" && GcTools -c "cmd2 arg1 arg2"
|
||||
GcTools.exe -host http://127.0.0.1:443 -token 123456 -c "cmd1 arg1 arg2 | cmd2 | cmd3 arg"
|
||||
```
|
||||
|
||||
### GrasscutterTools-v1.10
|
||||

|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.9
|
||||

|
||||
|
||||
### GrasscutterTools-v1.8
|
||||

|
||||
|
||||
### 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
|
||||
- Гаджеты (пока что только на китайском)
|
||||
|
||||
### GrasscutterTools-v1.7.0
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Скриншоты
|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
@@ -3,19 +3,60 @@
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
[](https://qm.qq.com/cgi-bin/qm/qr?k=PdS9--b-n8LEAmYjX8fNFXtKDcsp4NHN&jump_from=webapi&authKey=7ty3ZCKYMKLGWLmO8O84qiNAZ0EuCnSGF+acP+74xuDMKYXXNjuPP7iUzffHz4r2)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
|
||||
[](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=fBizzp6RwJsIY7gFlmd4L-WG0V3aF8X3&authKey=mTjf%2B7jCIZess1HTRi05e5yi%2FHKA1auMwE8%2FJ960PFWk8WMATST654gWPi4OTHTZ&noverify=0&group_code=835489603)
|
||||
|
||||
[English](README.md) | 简体中文 | [Русский](README_ru-RU.md)
|
||||
[English](README.md) | 简体中文 | [繁體中文](README_zh-tw.md) | [Русский](README_ru-RU.md)
|
||||
|
||||
## Commands Generator
|
||||
|
||||
请从 [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) 中获取最新版本
|
||||
请从 [Action](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml) 中下载最新提交的自动构建版本,或者从 [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) 中下载发布版本(可能落后)
|
||||
|
||||
本工具支持 简体中文, 繁体中文, English 与 Русский 语言。
|
||||
本工具支持 简体中文, 繁體中文, English 与 Русский 语言。
|
||||
|
||||
欢迎大家一起来完善工具的[内置资源](/Source/GrasscutterTools/Resources/zh-cn)。
|
||||
> **Warning**: 应用程序的外观可能与截图上的不同。它也可能包含翻译错误和缺乏某些资源。**我们欢迎各位为此工具做出贡献并<a href="./Source/GrasscutterTools/Resources/zh-cn">改进</a> : )**
|
||||
|
||||
## Update log
|
||||
## 远程执行
|
||||
|
||||
服务端需要 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件支持
|
||||
|
||||

|
||||
|
||||
> 如果你无法连接到服务器,请确认填写的服务器地址是否正确。
|
||||
>
|
||||
> 建议配置服务器为HTTP模式,如图所示(config.json):
|
||||
> 
|
||||
>
|
||||
> 你可以用浏览器访问 http://127.0.0.1/status/server 来测试服务是否正常工作。
|
||||
>
|
||||
> 如果使用的不是`80`端口,则要在url中指定访问的端口号:http://127.0.0.1:443
|
||||
|
||||
|
||||
## 更新概要
|
||||
|
||||
### GrasscutterTools-v1.11
|
||||

|
||||
|
||||
命令行用法:
|
||||
```bash
|
||||
GcTools.exe -help
|
||||
GcTools.exe -version
|
||||
GcTools.exe -c "cmd arg"
|
||||
GcTools.exe -c "cmd1 arg" && GcTools -c "cmd2 arg1 arg2"
|
||||
GcTools.exe -host http://127.0.0.1:443 -token 123456 -c "cmd1 arg1 arg2 | cmd2 | cmd3 arg"
|
||||
```
|
||||
|
||||
### GrasscutterTools-v1.10
|
||||

|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.9
|
||||

|
||||
|
||||
### GrasscutterTools-v1.8
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.3
|
||||

|
||||
@@ -42,21 +83,6 @@
|
||||
|
||||

|
||||
|
||||
## 远程执行
|
||||
|
||||
服务端需要 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件支持
|
||||
|
||||

|
||||
|
||||
> 如果你无法连接到服务器,请确认填写的服务器地址是否正确。
|
||||
>
|
||||
> 建议配置服务器为HTTP模式,如图所示(config.json):
|
||||
> 
|
||||
>
|
||||
> 你可以用浏览器访问 http://127.0.0.1/status/server 来测试服务是否正常工作。
|
||||
>
|
||||
> 如果使用的不是`80`端口,则要在url中指定访问的端口号:http://127.0.0.1:443
|
||||
|
||||
---
|
||||
|
||||
## 软件截图
|
||||
|
116
README_zh-tw.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# Grasscutter Tools
|
||||
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
|
||||
[](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=fBizzp6RwJsIY7gFlmd4L-WG0V3aF8X3&authKey=mTjf%2B7jCIZess1HTRi05e5yi%2FHKA1auMwE8%2FJ960PFWk8WMATST654gWPi4OTHTZ&noverify=0&group_code=835489603)
|
||||
|
||||
[English](README.md) | [简体中文](README_zh-cn.md) | 繁體中文 | [Русский](README_ru-RU.md)
|
||||
|
||||
## 指令產生工具
|
||||
|
||||
請從 [Action](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml) 中下載最新提交的自動構建版本,或者從 [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) 中下載發布版本(可能落後)
|
||||
|
||||
本工具支援 简体中文、繁體中文、English 及 Русский 上述語言。
|
||||
|
||||
> **Warning**: 程式中的實際外觀可能會與截圖中的內容不同。其中也可能包含翻譯錯誤及缺乏特定資源。**我們歡迎各位為此工具做出貢獻並[改進](/Source/GrasscutterTools/Resources/zh-tw)**
|
||||
|
||||
## 遠端控制
|
||||
|
||||
伺服器需要安裝 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件
|
||||
|
||||

|
||||
|
||||
> 如果你無法連接至伺服器,請確認輸入的伺服器位址是否正確。
|
||||
>
|
||||
> 建議將伺服器調整為HTTP模式,如下圖所示(config.json):
|
||||
> 
|
||||
>
|
||||
> 你可藉由任何瀏覽器輸入網址 http://127.0.0.1/status/server 以測試伺服器是否正常運作。
|
||||
>
|
||||
> 如果你並非使用`80`端口, 則須在網址後輸入指定端口: http://127.0.0.1:443
|
||||
|
||||
## 更新日誌
|
||||
|
||||
### GrasscutterTools-v1.11
|
||||

|
||||
|
||||
Commandline Usages:
|
||||
```bash
|
||||
GcTools.exe -help
|
||||
GcTools.exe -version
|
||||
GcTools.exe -c "cmd arg"
|
||||
GcTools.exe -c "cmd1 arg" && GcTools -c "cmd2 arg1 arg2"
|
||||
GcTools.exe -host http://127.0.0.1:443 -token 123456 -c "cmd1 arg1 arg2 | cmd2 | cmd3 arg"
|
||||
```
|
||||
|
||||
### GrasscutterTools-v1.10
|
||||

|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.9
|
||||

|
||||
|
||||
### GrasscutterTools-v1.8
|
||||

|
||||
|
||||
### 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
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
|
||||
## 工具截圖
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
@@ -29,7 +29,7 @@
|
||||
<value>10001</value>
|
||||
</setting>
|
||||
<setting name="Host" serializeAs="String">
|
||||
<value>https://127.0.0.1</value>
|
||||
<value>http://127.0.0.1:443</value>
|
||||
</setting>
|
||||
<setting name="CheckedLastVersion" serializeAs="String">
|
||||
<value />
|
||||
@@ -58,6 +58,24 @@
|
||||
<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>
|
||||
<setting name="NavContainerSplitterDistance" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="ActivityConfigJsonPath" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ProjectResourcePath" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="IsUpgraded" 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;
|
||||
@@ -23,7 +24,7 @@ using GrasscutterTools.Utils;
|
||||
|
||||
namespace GrasscutterTools.DispatchServer
|
||||
{
|
||||
public static class DispatchServerAPI
|
||||
internal static class DispatchServerAPI
|
||||
{
|
||||
public static async Task<ServerStatus> QueryServerStatus(string host)
|
||||
{
|
||||
|
@@ -14,13 +14,14 @@
|
||||
*
|
||||
* 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
|
||||
{
|
||||
public class ServerStatus
|
||||
internal class ServerStatus
|
||||
{
|
||||
[JsonProperty("playerCount")]
|
||||
public int PlayerCount { get; set; }
|
||||
@@ -32,7 +33,7 @@ namespace GrasscutterTools.DispatchServer.Model
|
||||
public string Version { get; set; }
|
||||
}
|
||||
|
||||
public class ServerStatusResponse
|
||||
internal class ServerStatusResponse
|
||||
{
|
||||
[JsonProperty("retcode")]
|
||||
public int RetCode { get; set; }
|
||||
|
@@ -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>
|
346
Source/GrasscutterTools/Forms/FormActivityEditor.Designer.cs
generated
Normal file
@@ -0,0 +1,346 @@
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
partial class FormActivityEditor
|
||||
{
|
||||
/// <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(FormActivityEditor));
|
||||
this.BtnSave = new System.Windows.Forms.Button();
|
||||
this.BtnLoad = new System.Windows.Forms.Button();
|
||||
this.ActivityConfigJsonPath = new System.Windows.Forms.TextBox();
|
||||
this.LblActivityConfigJsonPath = new System.Windows.Forms.Label();
|
||||
this.GrpAllActivity = new System.Windows.Forms.GroupBox();
|
||||
this.ListAllActivity = new System.Windows.Forms.ListView();
|
||||
this.ColumnActivityId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColumnActivityName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.GrpFileActivity = new System.Windows.Forms.GroupBox();
|
||||
this.ListActivityConfigItems = new System.Windows.Forms.ListView();
|
||||
this.ColActivityId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColActivityTitle = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColActivityBeginTime = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColActivityEndTime = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.GrpActivityInfo = new System.Windows.Forms.GroupBox();
|
||||
this.LblActivityTitle = new System.Windows.Forms.Label();
|
||||
this.LblActivityParmEditTip = new System.Windows.Forms.Label();
|
||||
this.BtnDelete = new System.Windows.Forms.Button();
|
||||
this.BtnAddOrUpdate = new System.Windows.Forms.Button();
|
||||
this.DTPEndTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.DTPBeginTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.TxtMeetCondList = new System.Windows.Forms.TextBox();
|
||||
this.NUDScheduleId = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDActivityType = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDActivityId = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblEndTime = new System.Windows.Forms.Label();
|
||||
this.LblBeginTime = new System.Windows.Forms.Label();
|
||||
this.LblMeetCondList = new System.Windows.Forms.Label();
|
||||
this.LblScheduleId = new System.Windows.Forms.Label();
|
||||
this.LblActivityType = new System.Windows.Forms.Label();
|
||||
this.LblActivityId = new System.Windows.Forms.Label();
|
||||
this.GrpAllActivity.SuspendLayout();
|
||||
this.GrpFileActivity.SuspendLayout();
|
||||
this.GrpActivityInfo.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDActivityType)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDActivityId)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// 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);
|
||||
//
|
||||
// ActivityConfigJsonPath
|
||||
//
|
||||
resources.ApplyResources(this.ActivityConfigJsonPath, "ActivityConfigJsonPath");
|
||||
this.ActivityConfigJsonPath.Name = "ActivityConfigJsonPath";
|
||||
//
|
||||
// LblActivityConfigJsonPath
|
||||
//
|
||||
resources.ApplyResources(this.LblActivityConfigJsonPath, "LblActivityConfigJsonPath");
|
||||
this.LblActivityConfigJsonPath.Name = "LblActivityConfigJsonPath";
|
||||
//
|
||||
// GrpAllActivity
|
||||
//
|
||||
resources.ApplyResources(this.GrpAllActivity, "GrpAllActivity");
|
||||
this.GrpAllActivity.Controls.Add(this.ListAllActivity);
|
||||
this.GrpAllActivity.Name = "GrpAllActivity";
|
||||
this.GrpAllActivity.TabStop = false;
|
||||
//
|
||||
// ListAllActivity
|
||||
//
|
||||
resources.ApplyResources(this.ListAllActivity, "ListAllActivity");
|
||||
this.ListAllActivity.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.ColumnActivityId,
|
||||
this.ColumnActivityName});
|
||||
this.ListAllActivity.FullRowSelect = true;
|
||||
this.ListAllActivity.HideSelection = false;
|
||||
this.ListAllActivity.MultiSelect = false;
|
||||
this.ListAllActivity.Name = "ListAllActivity";
|
||||
this.ListAllActivity.UseCompatibleStateImageBehavior = false;
|
||||
this.ListAllActivity.View = System.Windows.Forms.View.Details;
|
||||
this.ListAllActivity.SelectedIndexChanged += new System.EventHandler(this.ListAllActivity_SelectedIndexChanged);
|
||||
//
|
||||
// ColumnActivityId
|
||||
//
|
||||
resources.ApplyResources(this.ColumnActivityId, "ColumnActivityId");
|
||||
//
|
||||
// ColumnActivityName
|
||||
//
|
||||
resources.ApplyResources(this.ColumnActivityName, "ColumnActivityName");
|
||||
//
|
||||
// GrpFileActivity
|
||||
//
|
||||
resources.ApplyResources(this.GrpFileActivity, "GrpFileActivity");
|
||||
this.GrpFileActivity.Controls.Add(this.ListActivityConfigItems);
|
||||
this.GrpFileActivity.Name = "GrpFileActivity";
|
||||
this.GrpFileActivity.TabStop = false;
|
||||
//
|
||||
// ListActivityConfigItems
|
||||
//
|
||||
resources.ApplyResources(this.ListActivityConfigItems, "ListActivityConfigItems");
|
||||
this.ListActivityConfigItems.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.ColActivityId,
|
||||
this.ColActivityTitle,
|
||||
this.ColActivityBeginTime,
|
||||
this.ColActivityEndTime});
|
||||
this.ListActivityConfigItems.FullRowSelect = true;
|
||||
this.ListActivityConfigItems.HideSelection = false;
|
||||
this.ListActivityConfigItems.MultiSelect = false;
|
||||
this.ListActivityConfigItems.Name = "ListActivityConfigItems";
|
||||
this.ListActivityConfigItems.UseCompatibleStateImageBehavior = false;
|
||||
this.ListActivityConfigItems.View = System.Windows.Forms.View.Details;
|
||||
this.ListActivityConfigItems.SelectedIndexChanged += new System.EventHandler(this.ListActivityConfigItems_SelectedIndexChanged);
|
||||
//
|
||||
// ColActivityId
|
||||
//
|
||||
resources.ApplyResources(this.ColActivityId, "ColActivityId");
|
||||
//
|
||||
// ColActivityTitle
|
||||
//
|
||||
resources.ApplyResources(this.ColActivityTitle, "ColActivityTitle");
|
||||
//
|
||||
// ColActivityBeginTime
|
||||
//
|
||||
resources.ApplyResources(this.ColActivityBeginTime, "ColActivityBeginTime");
|
||||
//
|
||||
// ColActivityEndTime
|
||||
//
|
||||
resources.ApplyResources(this.ColActivityEndTime, "ColActivityEndTime");
|
||||
//
|
||||
// GrpActivityInfo
|
||||
//
|
||||
resources.ApplyResources(this.GrpActivityInfo, "GrpActivityInfo");
|
||||
this.GrpActivityInfo.Controls.Add(this.LblActivityTitle);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblActivityParmEditTip);
|
||||
this.GrpActivityInfo.Controls.Add(this.BtnDelete);
|
||||
this.GrpActivityInfo.Controls.Add(this.BtnAddOrUpdate);
|
||||
this.GrpActivityInfo.Controls.Add(this.DTPEndTime);
|
||||
this.GrpActivityInfo.Controls.Add(this.DTPBeginTime);
|
||||
this.GrpActivityInfo.Controls.Add(this.TxtMeetCondList);
|
||||
this.GrpActivityInfo.Controls.Add(this.NUDScheduleId);
|
||||
this.GrpActivityInfo.Controls.Add(this.NUDActivityType);
|
||||
this.GrpActivityInfo.Controls.Add(this.NUDActivityId);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblEndTime);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblBeginTime);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblMeetCondList);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblScheduleId);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblActivityType);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblActivityId);
|
||||
this.GrpActivityInfo.Name = "GrpActivityInfo";
|
||||
this.GrpActivityInfo.TabStop = false;
|
||||
//
|
||||
// LblActivityTitle
|
||||
//
|
||||
resources.ApplyResources(this.LblActivityTitle, "LblActivityTitle");
|
||||
this.LblActivityTitle.AutoEllipsis = true;
|
||||
this.LblActivityTitle.ForeColor = System.Drawing.SystemColors.GrayText;
|
||||
this.LblActivityTitle.Name = "LblActivityTitle";
|
||||
//
|
||||
// LblActivityParmEditTip
|
||||
//
|
||||
resources.ApplyResources(this.LblActivityParmEditTip, "LblActivityParmEditTip");
|
||||
this.LblActivityParmEditTip.ForeColor = System.Drawing.SystemColors.GrayText;
|
||||
this.LblActivityParmEditTip.Name = "LblActivityParmEditTip";
|
||||
//
|
||||
// BtnDelete
|
||||
//
|
||||
resources.ApplyResources(this.BtnDelete, "BtnDelete");
|
||||
this.BtnDelete.Name = "BtnDelete";
|
||||
this.BtnDelete.UseVisualStyleBackColor = true;
|
||||
this.BtnDelete.Click += new System.EventHandler(this.BtnDelete_Click);
|
||||
//
|
||||
// BtnAddOrUpdate
|
||||
//
|
||||
resources.ApplyResources(this.BtnAddOrUpdate, "BtnAddOrUpdate");
|
||||
this.BtnAddOrUpdate.Name = "BtnAddOrUpdate";
|
||||
this.BtnAddOrUpdate.UseVisualStyleBackColor = true;
|
||||
this.BtnAddOrUpdate.Click += new System.EventHandler(this.BtnAddOrUpdate_Click);
|
||||
//
|
||||
// DTPEndTime
|
||||
//
|
||||
resources.ApplyResources(this.DTPEndTime, "DTPEndTime");
|
||||
this.DTPEndTime.Name = "DTPEndTime";
|
||||
//
|
||||
// DTPBeginTime
|
||||
//
|
||||
resources.ApplyResources(this.DTPBeginTime, "DTPBeginTime");
|
||||
this.DTPBeginTime.Name = "DTPBeginTime";
|
||||
//
|
||||
// TxtMeetCondList
|
||||
//
|
||||
resources.ApplyResources(this.TxtMeetCondList, "TxtMeetCondList");
|
||||
this.TxtMeetCondList.Name = "TxtMeetCondList";
|
||||
//
|
||||
// NUDScheduleId
|
||||
//
|
||||
resources.ApplyResources(this.NUDScheduleId, "NUDScheduleId");
|
||||
this.NUDScheduleId.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDScheduleId.Name = "NUDScheduleId";
|
||||
//
|
||||
// NUDActivityType
|
||||
//
|
||||
resources.ApplyResources(this.NUDActivityType, "NUDActivityType");
|
||||
this.NUDActivityType.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDActivityType.Name = "NUDActivityType";
|
||||
//
|
||||
// NUDActivityId
|
||||
//
|
||||
resources.ApplyResources(this.NUDActivityId, "NUDActivityId");
|
||||
this.NUDActivityId.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDActivityId.Name = "NUDActivityId";
|
||||
this.NUDActivityId.ValueChanged += new System.EventHandler(this.NUDActivityId_ValueChanged);
|
||||
//
|
||||
// LblEndTime
|
||||
//
|
||||
resources.ApplyResources(this.LblEndTime, "LblEndTime");
|
||||
this.LblEndTime.Name = "LblEndTime";
|
||||
//
|
||||
// LblBeginTime
|
||||
//
|
||||
resources.ApplyResources(this.LblBeginTime, "LblBeginTime");
|
||||
this.LblBeginTime.Name = "LblBeginTime";
|
||||
//
|
||||
// LblMeetCondList
|
||||
//
|
||||
resources.ApplyResources(this.LblMeetCondList, "LblMeetCondList");
|
||||
this.LblMeetCondList.Name = "LblMeetCondList";
|
||||
//
|
||||
// LblScheduleId
|
||||
//
|
||||
resources.ApplyResources(this.LblScheduleId, "LblScheduleId");
|
||||
this.LblScheduleId.Name = "LblScheduleId";
|
||||
//
|
||||
// LblActivityType
|
||||
//
|
||||
resources.ApplyResources(this.LblActivityType, "LblActivityType");
|
||||
this.LblActivityType.Name = "LblActivityType";
|
||||
//
|
||||
// LblActivityId
|
||||
//
|
||||
resources.ApplyResources(this.LblActivityId, "LblActivityId");
|
||||
this.LblActivityId.Name = "LblActivityId";
|
||||
//
|
||||
// FormActivityEditor
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.GrpAllActivity);
|
||||
this.Controls.Add(this.GrpActivityInfo);
|
||||
this.Controls.Add(this.GrpFileActivity);
|
||||
this.Controls.Add(this.BtnSave);
|
||||
this.Controls.Add(this.BtnLoad);
|
||||
this.Controls.Add(this.ActivityConfigJsonPath);
|
||||
this.Controls.Add(this.LblActivityConfigJsonPath);
|
||||
this.Name = "FormActivityEditor";
|
||||
this.GrpAllActivity.ResumeLayout(false);
|
||||
this.GrpFileActivity.ResumeLayout(false);
|
||||
this.GrpActivityInfo.ResumeLayout(false);
|
||||
this.GrpActivityInfo.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDActivityType)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDActivityId)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button BtnSave;
|
||||
private System.Windows.Forms.Button BtnLoad;
|
||||
private System.Windows.Forms.TextBox ActivityConfigJsonPath;
|
||||
private System.Windows.Forms.Label LblActivityConfigJsonPath;
|
||||
private System.Windows.Forms.GroupBox GrpAllActivity;
|
||||
private System.Windows.Forms.GroupBox GrpFileActivity;
|
||||
private System.Windows.Forms.GroupBox GrpActivityInfo;
|
||||
private System.Windows.Forms.ListView ListAllActivity;
|
||||
private System.Windows.Forms.Label LblEndTime;
|
||||
private System.Windows.Forms.Label LblBeginTime;
|
||||
private System.Windows.Forms.Label LblMeetCondList;
|
||||
private System.Windows.Forms.Label LblScheduleId;
|
||||
private System.Windows.Forms.Label LblActivityType;
|
||||
private System.Windows.Forms.Label LblActivityId;
|
||||
private System.Windows.Forms.Button BtnDelete;
|
||||
private System.Windows.Forms.Button BtnAddOrUpdate;
|
||||
private System.Windows.Forms.DateTimePicker DTPEndTime;
|
||||
private System.Windows.Forms.DateTimePicker DTPBeginTime;
|
||||
private System.Windows.Forms.TextBox TxtMeetCondList;
|
||||
private System.Windows.Forms.NumericUpDown NUDScheduleId;
|
||||
private System.Windows.Forms.NumericUpDown NUDActivityType;
|
||||
private System.Windows.Forms.NumericUpDown NUDActivityId;
|
||||
private System.Windows.Forms.Label LblActivityParmEditTip;
|
||||
private System.Windows.Forms.Label LblActivityTitle;
|
||||
private System.Windows.Forms.ColumnHeader ColumnActivityId;
|
||||
private System.Windows.Forms.ColumnHeader ColumnActivityName;
|
||||
private System.Windows.Forms.ListView ListActivityConfigItems;
|
||||
private System.Windows.Forms.ColumnHeader ColActivityId;
|
||||
private System.Windows.Forms.ColumnHeader ColActivityTitle;
|
||||
private System.Windows.Forms.ColumnHeader ColActivityBeginTime;
|
||||
private System.Windows.Forms.ColumnHeader ColActivityEndTime;
|
||||
}
|
||||
}
|
310
Source/GrasscutterTools/Forms/FormActivityEditor.cs
Normal file
@@ -0,0 +1,310 @@
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2023 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.Activity;
|
||||
using GrasscutterTools.Properties;
|
||||
using GrasscutterTools.Utils;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
public partial class FormActivityEditor : Form
|
||||
{
|
||||
#region - 成员 -
|
||||
|
||||
private List<ActivityConfigItem> ActivityConfigItems = new List<ActivityConfigItem>();
|
||||
|
||||
#endregion - 成员 -
|
||||
|
||||
#region - 构造与窗体事件 -
|
||||
|
||||
public FormActivityEditor()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Icon = Resources.IconGrasscutter;
|
||||
|
||||
DTPBeginTime.Value = DateTime.Today;
|
||||
DTPEndTime.Value = DateTime.Today.AddMonths(1);
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
LoadAllActivity();
|
||||
|
||||
try
|
||||
{
|
||||
// 加载文件路径
|
||||
var path = Settings.Default.ActivityConfigJsonPath;
|
||||
ActivityConfigJsonPath.Text = path;
|
||||
if (!string.IsNullOrEmpty(path) && File.Exists(path))
|
||||
LoadActivityConfig(path);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnFormClosed(FormClosedEventArgs e)
|
||||
{
|
||||
Settings.Default.ActivityConfigJsonPath = ActivityConfigJsonPath.Text;
|
||||
|
||||
base.OnFormClosed(e);
|
||||
}
|
||||
|
||||
#endregion - 构造与窗体事件 -
|
||||
|
||||
#region - ActivityConfig.json 文件相关 -
|
||||
|
||||
/// <summary>
|
||||
/// 加载按钮点击时触发
|
||||
/// </summary>
|
||||
private void BtnLoad_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = ActivityConfigJsonPath.Text.Trim();
|
||||
if (path == string.Empty)
|
||||
{
|
||||
var dialog = new OpenFileDialog
|
||||
{
|
||||
FileName = "ActivityConfig.json",
|
||||
Filter = "ActivityConfig.Json (*.json)|*.json|All files (*.*)|*.*",
|
||||
};
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
path = ActivityConfigJsonPath.Text = dialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
// 反序列化
|
||||
LoadActivityConfig(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">ActivityConfig.json 文件路径</param>
|
||||
private void LoadActivityConfig(string path)
|
||||
{
|
||||
ActivityConfigItems = JsonConvert.DeserializeObject<List<ActivityConfigItem>>(File.ReadAllText(path)) ?? new List<ActivityConfigItem>();
|
||||
ListActivityConfigItems.BeginUpdate();
|
||||
ListActivityConfigItems.Items.Clear();
|
||||
ListActivityConfigItems.Items.AddRange(ActivityConfigItems.Select(Convert).ToArray());
|
||||
ListActivityConfigItems.EndUpdate();
|
||||
}
|
||||
|
||||
private ListViewItem Convert(ActivityConfigItem item)
|
||||
{
|
||||
return new ListViewItem(new[]
|
||||
{
|
||||
item.ActivityId.ToString(),
|
||||
GameData.Activity[item.ActivityId],
|
||||
item.BeginTime.ToShortDateString(),
|
||||
item.EndTime.ToShortDateString(),
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存按钮点击时触发
|
||||
/// </summary>
|
||||
private void BtnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = ActivityConfigJsonPath.Text.Trim();
|
||||
if (path == string.Empty)
|
||||
{
|
||||
var dialog = new SaveFileDialog
|
||||
{
|
||||
FileName = "ActivityConfig.json",
|
||||
Filter = "ActivityConfig.json (*.json)|*.json|All files (*.*)|*.*",
|
||||
};
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
path = ActivityConfigJsonPath.Text = dialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
// 序列化
|
||||
File.WriteAllText(path, JsonConvert.SerializeObject(ActivityConfigItems, Formatting.Indented));
|
||||
MessageBox.Show("OK", Resources.Tips, MessageBoxButtons.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion - ActivityConfig.json 文件相关 -
|
||||
|
||||
#region - 活动列表 -
|
||||
|
||||
/// <summary>
|
||||
/// 加载所有活动
|
||||
/// </summary>
|
||||
private void LoadAllActivity()
|
||||
{
|
||||
ListAllActivity.BeginUpdate();
|
||||
foreach (var grp in GameData.Activity)
|
||||
{
|
||||
var grpControl = ListAllActivity.Groups.Add(grp.Key, grp.Key);
|
||||
for (var i = 0; i < grp.Value.Count; i++)
|
||||
{
|
||||
ListAllActivity.Items.Add(new ListViewItem(new[]
|
||||
{
|
||||
grp.Value.Ids[i].ToString(), grp.Value.Names[i]
|
||||
}, grpControl));
|
||||
}
|
||||
}
|
||||
ListAllActivity.EndUpdate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 所有活动列表选中项改变时触发
|
||||
/// </summary>
|
||||
private void ListAllActivity_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (ListAllActivity.SelectedItems.Count == 0)
|
||||
return;
|
||||
NUDActivityId.Text = ListAllActivity.SelectedItems[0].Text;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 活动ID改变时触发
|
||||
/// </summary>
|
||||
private void NUDActivityId_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
// 更新活动名称到提示文本
|
||||
var activityId = (int)NUDActivityId.Value;
|
||||
LblActivityTitle.Text = GameData.Activity[activityId];
|
||||
|
||||
// 检查是否在列表中,允许删除
|
||||
var item = ActivityConfigItems.Find(it => it.ActivityId == activityId);
|
||||
BtnDelete.Enabled = item != null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击添加或更新按钮时触发
|
||||
/// </summary>
|
||||
private async void BtnAddOrUpdate_Click(object sender, EventArgs e)
|
||||
{
|
||||
var activityId = (int)NUDActivityId.Value;
|
||||
var isNew = false;
|
||||
var item = ActivityConfigItems.Find(it => it.ActivityId == activityId);
|
||||
if (item == null)
|
||||
{
|
||||
item = new ActivityConfigItem();
|
||||
isNew = true;
|
||||
}
|
||||
|
||||
item.ActivityId = activityId;
|
||||
item.ActivityType = (int)NUDActivityType.Value;
|
||||
item.ScheduleId = (int)NUDScheduleId.Value;
|
||||
try
|
||||
{
|
||||
item.MeetCondList = !string.IsNullOrEmpty(TxtMeetCondList.Text)
|
||||
? TxtMeetCondList.Text.Split(',').Select(it => int.Parse(it.Trim())).ToList()
|
||||
: new List<int>();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
item.MeetCondList = new List<int>();
|
||||
}
|
||||
|
||||
if (DTPBeginTime.Value > DTPEndTime.Value)
|
||||
{
|
||||
// ?
|
||||
}
|
||||
|
||||
item.BeginTime = DTPBeginTime.Value.Date;
|
||||
item.EndTime = DTPEndTime.Value.Date.AddDays(1).AddSeconds(-1);
|
||||
|
||||
if (isNew)
|
||||
{
|
||||
ActivityConfigItems.Add(item);
|
||||
ListActivityConfigItems.Items.Add(Convert(item));
|
||||
}
|
||||
|
||||
BtnDelete.Enabled = true;
|
||||
await UIUtil.ButtonComplete(BtnAddOrUpdate);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击删除按钮时触发
|
||||
/// </summary>
|
||||
private void BtnDelete_Click(object sender, EventArgs e)
|
||||
{
|
||||
var activityId = (int)NUDActivityId.Value;
|
||||
var index = ActivityConfigItems.FindIndex(it => it.ActivityId == activityId);
|
||||
if (index != -1)
|
||||
{
|
||||
ListActivityConfigItems.Items.RemoveAt(index);
|
||||
ActivityConfigItems.RemoveAt(index);
|
||||
}
|
||||
BtnDelete.Enabled = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 当前文件活动配置列表选中项改变时触发
|
||||
/// </summary>
|
||||
private void ListActivityConfigItems_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (ListActivityConfigItems.SelectedItems.Count == 0)
|
||||
return;
|
||||
var index = ListActivityConfigItems.SelectedIndices[0];
|
||||
var configItem = ActivityConfigItems[index];
|
||||
NUDActivityId.Value = configItem.ActivityId;
|
||||
NUDActivityType.Value = configItem.ActivityType;
|
||||
NUDScheduleId.Value = configItem.ScheduleId;
|
||||
TxtMeetCondList.Text = configItem.MeetCondList?.Count > 0
|
||||
? string.Join(",", configItem.MeetCondList)
|
||||
: string.Empty;
|
||||
DTPBeginTime.Value = configItem.BeginTime;
|
||||
DTPEndTime.Value = configItem.EndTime;
|
||||
}
|
||||
|
||||
#endregion - 活动列表 -
|
||||
}
|
||||
}
|
208
Source/GrasscutterTools/Forms/FormActivityEditor.en-US.resx
Normal file
@@ -0,0 +1,208 @@
|
||||
<?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="BtnSave.Text" xml:space="preserve">
|
||||
<value>Save</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>Load</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="LblActivityConfigJsonPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>145, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityConfigJsonPath.Text" xml:space="preserve">
|
||||
<value>ActivityConfig.json Path:</value>
|
||||
</data>
|
||||
<data name="GrpAllActivity.Text" xml:space="preserve">
|
||||
<value>All Activity by dplek</value>
|
||||
</data>
|
||||
<data name="ColumnActivityName.Text" xml:space="preserve">
|
||||
<value>Activity name</value>
|
||||
</data>
|
||||
<data name="GrpFileActivity.Text" xml:space="preserve">
|
||||
<value>File</value>
|
||||
</data>
|
||||
<data name="ColActivityTitle.Text" xml:space="preserve">
|
||||
<value>Activity name</value>
|
||||
</data>
|
||||
<data name="ColActivityBeginTime.Text" xml:space="preserve">
|
||||
<value>Begin time</value>
|
||||
</data>
|
||||
<data name="ColActivityEndTime.Text" xml:space="preserve">
|
||||
<value>End time</value>
|
||||
</data>
|
||||
<data name="GrpActivityInfo.Text" xml:space="preserve">
|
||||
<value>Activity info</value>
|
||||
</data>
|
||||
<data name="LblActivityTitle.Text" xml:space="preserve">
|
||||
<value>Activity name</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 251</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>314, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Text" xml:space="preserve">
|
||||
<value>Tip: Usually you only need to modify the activity time</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Text" xml:space="preserve">
|
||||
<value>- Delete</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Text" xml:space="preserve">
|
||||
<value>√ Add or Update</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.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="LblMeetCondList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>88, 17</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.Text" xml:space="preserve">
|
||||
<value>MeetCondList</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>77, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Text" xml:space="preserve">
|
||||
<value>Schedule ID</value>
|
||||
</data>
|
||||
<data name="LblActivityType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>80, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityType.Text" xml:space="preserve">
|
||||
<value>Activity Type</value>
|
||||
</data>
|
||||
<data name="LblActivityId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>65, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityId.Text" xml:space="preserve">
|
||||
<value>Activity ID</value>
|
||||
</data>
|
||||
</root>
|
858
Source/GrasscutterTools/Forms/FormActivityEditor.resx
Normal file
@@ -0,0 +1,858 @@
|
||||
<?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=">>LblActivityId.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="ListAllActivity.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name=">>LblActivityConfigJsonPath.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="GrpActivityInfo.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>278, 41</value>
|
||||
</data>
|
||||
<data name="LblActivityConfigJsonPath.Text" xml:space="preserve">
|
||||
<value>ActivityConfig.json 路径:</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="ColActivityEndTime.Width" type="System.Int32, mscorlib">
|
||||
<value>120</value>
|
||||
</data>
|
||||
<data name=">>BtnAddOrUpdate.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name="ListActivityConfigItems.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 19</value>
|
||||
</data>
|
||||
<data name=">>LblActivityParmEditTip.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name=">>LblActivityType.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=">>LblActivityTitle.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>NUDActivityId.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="LblActivityParmEditTip.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="NUDActivityType.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="BtnLoad.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="NUDScheduleId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>107, 101</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name=">>NUDScheduleId.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="ListAllActivity.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 19</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>21, 103</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>
|
||||
<data name=">>TxtMeetCondList.Name" xml:space="preserve">
|
||||
<value>TxtMeetCondList</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>671, 12</value>
|
||||
</data>
|
||||
<data name=">>ColActivityEndTime.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=">>BtnDelete.Name" xml:space="preserve">
|
||||
<value>BtnDelete</value>
|
||||
</data>
|
||||
<data name=">>NUDScheduleId.Name" xml:space="preserve">
|
||||
<value>NUDScheduleId</value>
|
||||
</data>
|
||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||
<value>7, 17</value>
|
||||
</data>
|
||||
<data name=">>ListAllActivity.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>LblActivityType.Name" xml:space="preserve">
|
||||
<value>LblActivityType</value>
|
||||
</data>
|
||||
<data name="LblActivityId.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="LblActivityType.Text" xml:space="preserve">
|
||||
<value>活动类型</value>
|
||||
</data>
|
||||
<data name=">>ListActivityConfigItems.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>GrpFileActivity.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>21, 193</value>
|
||||
</data>
|
||||
<data name=">>NUDActivityId.Name" xml:space="preserve">
|
||||
<value>NUDActivityId</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Text" xml:space="preserve">
|
||||
<value>活动开始时间</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>80, 17</value>
|
||||
</data>
|
||||
<data name=">>BtnAddOrUpdate.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="BtnSave.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name=">>GrpAllActivity.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>ColumnActivityId.Name" xml:space="preserve">
|
||||
<value>ColumnActivityId</value>
|
||||
</data>
|
||||
<data name=">>BtnSave.Name" xml:space="preserve">
|
||||
<value>BtnSave</value>
|
||||
</data>
|
||||
<data name=">>LblBeginTime.Name" xml:space="preserve">
|
||||
<value>LblBeginTime</value>
|
||||
</data>
|
||||
<data name=">>DTPEndTime.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name=">>GrpAllActivity.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name="LblEndTime.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</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>
|
||||
<data name=">>LblEndTime.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name="ColActivityBeginTime.Text" xml:space="preserve">
|
||||
<value>开始时间</value>
|
||||
</data>
|
||||
<data name="GrpActivityInfo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Right</value>
|
||||
</data>
|
||||
<data name=">>GrpAllActivity.Name" xml:space="preserve">
|
||||
<value>GrpAllActivity</value>
|
||||
</data>
|
||||
<data name="NUDActivityId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>107, 43</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>21, 164</value>
|
||||
</data>
|
||||
<data name="BtnSave.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>199, 271</value>
|
||||
</data>
|
||||
<data name=">>LblActivityConfigJsonPath.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name="ColActivityId.Text" xml:space="preserve">
|
||||
<value>ID</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Text" xml:space="preserve">
|
||||
<value>活动结束时间</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Text" xml:space="preserve">
|
||||
<value>- 删除</value>
|
||||
</data>
|
||||
<data name="ActivityConfigJsonPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>176, 12</value>
|
||||
</data>
|
||||
<data name="LblActivityTitle.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>134, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityTitle.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="LblActivityId.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>TxtMeetCondList.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||
<value>CenterScreen</value>
|
||||
</data>
|
||||
<data name="ColumnActivityId.Text" xml:space="preserve">
|
||||
<value>ID</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=">>LblActivityConfigJsonPath.Name" xml:space="preserve">
|
||||
<value>LblActivityConfigJsonPath</value>
|
||||
</data>
|
||||
<data name=">>ListActivityConfigItems.Name" xml:space="preserve">
|
||||
<value>ListActivityConfigItems</value>
|
||||
</data>
|
||||
<data name="GrpAllActivity.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>612, 41</value>
|
||||
</data>
|
||||
<data name=">>BtnDelete.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name=">>ColActivityId.Name" xml:space="preserve">
|
||||
<value>ColActivityId</value>
|
||||
</data>
|
||||
<data name="BtnLoad.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name=">>NUDActivityType.Name" xml:space="preserve">
|
||||
<value>NUDActivityType</value>
|
||||
</data>
|
||||
<data name="GrpFileActivity.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 41</value>
|
||||
</data>
|
||||
<data name="LblActivityType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>56, 17</value>
|
||||
</data>
|
||||
<data name=">>BtnAddOrUpdate.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name=">>NUDScheduleId.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name="GrpAllActivity.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Right</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Text" xml:space="preserve">
|
||||
<value>提示:通常情况下你只需要修改活动进行时间</value>
|
||||
</data>
|
||||
<data name="DTPBeginTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>200, 23</value>
|
||||
</data>
|
||||
<data name=">>LblActivityId.ZOrder" xml:space="preserve">
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="LblActivityType.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="DTPEndTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>107, 188</value>
|
||||
</data>
|
||||
<data name=">>LblActivityId.Name" xml:space="preserve">
|
||||
<value>LblActivityId</value>
|
||||
</data>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>900, 420</value>
|
||||
</data>
|
||||
<data name="GrpFileActivity.Text" xml:space="preserve">
|
||||
<value>当前文件</value>
|
||||
</data>
|
||||
<data name=">>TxtMeetCondList.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>LblMeetCondList.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>ActivityConfig.json Editor</value>
|
||||
</data>
|
||||
<data name=">>ListActivityConfigItems.Parent" xml:space="preserve">
|
||||
<value>GrpFileActivity</value>
|
||||
</data>
|
||||
<data name="DTPBeginTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>107, 159</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>100, 23</value>
|
||||
</data>
|
||||
<data name=">>ListActivityConfigItems.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=">>GrpAllActivity.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="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Microsoft YaHei UI, 9pt</value>
|
||||
</data>
|
||||
<data name="ColActivityId.Width" type="System.Int32, mscorlib">
|
||||
<value>50</value>
|
||||
</data>
|
||||
<data name=">>LblMeetCondList.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="NUDActivityType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 23</value>
|
||||
</data>
|
||||
<data name=">>NUDActivityId.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name=">>LblEndTime.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="LblActivityParmEditTip.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="NUDActivityId.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>89, 30</value>
|
||||
</data>
|
||||
<data name="BtnDelete.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name=">>BtnLoad.Name" xml:space="preserve">
|
||||
<value>BtnLoad</value>
|
||||
</data>
|
||||
<data name=">>LblEndTime.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="NUDActivityType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>107, 72</value>
|
||||
</data>
|
||||
<data name=">>LblActivityConfigJsonPath.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=">>NUDActivityType.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name=">>GrpActivityInfo.Name" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name=">>ColActivityId.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=">>GrpFileActivity.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="LblActivityId.Text" xml:space="preserve">
|
||||
<value>活动ID</value>
|
||||
</data>
|
||||
<data name="ColumnActivityId.Width" type="System.Int32, mscorlib">
|
||||
<value>50</value>
|
||||
</data>
|
||||
<data name="LblActivityConfigJsonPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="ColActivityBeginTime.Width" type="System.Int32, mscorlib">
|
||||
<value>120</value>
|
||||
</data>
|
||||
<data name="GrpFileActivity.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>DTPBeginTime.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name=">>LblActivityTitle.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=">>LblActivityType.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name=">>DTPBeginTime.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>150, 30</value>
|
||||
</data>
|
||||
<data name="ColActivityEndTime.Text" xml:space="preserve">
|
||||
<value>结束时间</value>
|
||||
</data>
|
||||
<data name=">>TxtMeetCondList.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=">>GrpFileActivity.Name" xml:space="preserve">
|
||||
<value>GrpFileActivity</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>
|
||||
<data name=">>LblActivityParmEditTip.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="ActivityConfigJsonPath.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>ActivityConfigJsonPath.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="ActivityConfigJsonPath.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name=">>BtnLoad.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name="LblEndTime.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>LblBeginTime.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>加载</value>
|
||||
</data>
|
||||
<data name=">>LblActivityTitle.Name" xml:space="preserve">
|
||||
<value>LblActivityTitle</value>
|
||||
</data>
|
||||
<data name="GrpAllActivity.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>DTPBeginTime.Name" xml:space="preserve">
|
||||
<value>DTPBeginTime</value>
|
||||
</data>
|
||||
<data name="TxtMeetCondList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>200, 23</value>
|
||||
</data>
|
||||
<data name="ListActivityConfigItems.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>254, 306</value>
|
||||
</data>
|
||||
<data name="LblActivityConfigJsonPath.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>FormActivityEditor</value>
|
||||
</data>
|
||||
<data name=">>LblScheduleId.ZOrder" xml:space="preserve">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="LblActivityConfigJsonPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>17, 15</value>
|
||||
</data>
|
||||
<data name=">>LblActivityId.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=">>ListAllActivity.Parent" xml:space="preserve">
|
||||
<value>GrpAllActivity</value>
|
||||
</data>
|
||||
<data name="LblActivityType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>21, 74</value>
|
||||
</data>
|
||||
<data name="ColActivityTitle.Text" xml:space="preserve">
|
||||
<value>活动名称</value>
|
||||
</data>
|
||||
<data name=">>BtnSave.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name="ColumnActivityName.Width" type="System.Int32, mscorlib">
|
||||
<value>300</value>
|
||||
</data>
|
||||
<data name="ListActivityConfigItems.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>248, 17</value>
|
||||
</data>
|
||||
<data name=">>NUDActivityType.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="BtnSave.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>776, 12</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="LblActivityTitle.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>173, 45</value>
|
||||
</data>
|
||||
<data name="ActivityConfigJsonPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>489, 23</value>
|
||||
</data>
|
||||
<data name=">>NUDActivityType.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="LblActivityConfigJsonPath.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>884, 381</value>
|
||||
</data>
|
||||
<data name=">>BtnDelete.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="GrpAllActivity.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>260, 328</value>
|
||||
</data>
|
||||
<data name="BtnSave.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>100, 23</value>
|
||||
</data>
|
||||
<data name="LblActivityId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>45, 17</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="GrpFileActivity.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>260, 328</value>
|
||||
</data>
|
||||
<data name="BtnSave.Text" xml:space="preserve">
|
||||
<value>保存</value>
|
||||
</data>
|
||||
<data name="DTPEndTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>200, 23</value>
|
||||
</data>
|
||||
<data name="ColActivityTitle.Width" type="System.Int32, mscorlib">
|
||||
<value>150</value>
|
||||
</data>
|
||||
<data name=">>DTPEndTime.Name" xml:space="preserve">
|
||||
<value>DTPEndTime</value>
|
||||
</data>
|
||||
<data name=">>DTPBeginTime.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name=">>ColumnActivityName.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="ListAllActivity.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>254, 306</value>
|
||||
</data>
|
||||
<data name=">>LblScheduleId.Name" xml:space="preserve">
|
||||
<value>LblScheduleId</value>
|
||||
</data>
|
||||
<data name=">>ListAllActivity.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=">>LblActivityParmEditTip.Name" xml:space="preserve">
|
||||
<value>LblActivityParmEditTip</value>
|
||||
</data>
|
||||
<data name=">>BtnLoad.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name=">>GrpActivityInfo.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>GrpActivityInfo.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="GrpActivityInfo.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Text" xml:space="preserve">
|
||||
<value>计划ID</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>21, 133</value>
|
||||
</data>
|
||||
<data name="GrpFileActivity.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="GrpActivityInfo.Text" xml:space="preserve">
|
||||
<value>活动信息</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="NUDActivityId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 23</value>
|
||||
</data>
|
||||
<data name=">>LblActivityTitle.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name=">>LblMeetCondList.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="LblActivityConfigJsonPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>153, 17</value>
|
||||
</data>
|
||||
<data name="ListAllActivity.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>BtnAddOrUpdate.Name" xml:space="preserve">
|
||||
<value>BtnAddOrUpdate</value>
|
||||
</data>
|
||||
<data name="GrpActivityInfo.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>328, 328</value>
|
||||
</data>
|
||||
<data name=">>ColumnActivityId.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=">>DTPEndTime.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>BtnLoad.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="GrpAllActivity.Text" xml:space="preserve">
|
||||
<value>已知活动 by dplek</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Text" xml:space="preserve">
|
||||
<value>√ 添加或更新</value>
|
||||
</data>
|
||||
<data name="ColumnActivityName.Text" xml:space="preserve">
|
||||
<value>活动名称</value>
|
||||
</data>
|
||||
<data name=">>LblScheduleId.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name=">>ActivityConfigJsonPath.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="NUDScheduleId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>80, 23</value>
|
||||
</data>
|
||||
<data name=">>ColActivityEndTime.Name" xml:space="preserve">
|
||||
<value>ColActivityEndTime</value>
|
||||
</data>
|
||||
<data name=">>BtnSave.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name=">>BtnSave.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>GrpFileActivity.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="TxtMeetCondList.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>107, 130</value>
|
||||
</data>
|
||||
<data name=">>LblBeginTime.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name=">>ColActivityTitle.Name" xml:space="preserve">
|
||||
<value>ColActivityTitle</value>
|
||||
</data>
|
||||
<data name="LblActivityType.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>LblActivityType.ZOrder" xml:space="preserve">
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name=">>DTPEndTime.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>BtnDelete.Parent" xml:space="preserve">
|
||||
<value>GrpActivityInfo</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>80, 17</value>
|
||||
</data>
|
||||
<data name=">>LblEndTime.Name" xml:space="preserve">
|
||||
<value>LblEndTime</value>
|
||||
</data>
|
||||
<data name="LblActivityId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>21, 45</value>
|
||||
</data>
|
||||
<data name="BtnSave.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="DTPEndTime.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="NUDScheduleId.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>GrpActivityInfo.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>ColActivityTitle.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="LblScheduleId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>45, 17</value>
|
||||
</data>
|
||||
<data name=">>NUDActivityId.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name=">>LblMeetCondList.Name" xml:space="preserve">
|
||||
<value>LblMeetCondList</value>
|
||||
</data>
|
||||
<data name="LblActivityTitle.Text" xml:space="preserve">
|
||||
<value>活动名称</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>43, 271</value>
|
||||
</data>
|
||||
<data name=">>LblActivityParmEditTip.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=">>ColActivityBeginTime.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="TxtMeetCondList.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>ActivityConfigJsonPath.Name" xml:space="preserve">
|
||||
<value>ActivityConfigJsonPath</value>
|
||||
</data>
|
||||
<data name="DTPBeginTime.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>40, 251</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>80, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name=">>ColActivityBeginTime.Name" xml:space="preserve">
|
||||
<value>ColActivityBeginTime</value>
|
||||
</data>
|
||||
<data name=">>ColumnActivityName.Name" xml:space="preserve">
|
||||
<value>ColumnActivityName</value>
|
||||
</data>
|
||||
<data name=">>ListAllActivity.Name" xml:space="preserve">
|
||||
<value>ListAllActivity</value>
|
||||
</data>
|
||||
<data name="ListActivityConfigItems.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name=">>ActivityConfigJsonPath.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.Text" xml:space="preserve">
|
||||
<value>满足条件列表</value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
221
Source/GrasscutterTools/Forms/FormActivityEditor.ru-RU.resx
Normal file
@@ -0,0 +1,221 @@
|
||||
<?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="BtnSave.Text" xml:space="preserve">
|
||||
<value>Сохранить</value>
|
||||
</data>
|
||||
<data name="BtnLoad.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="LblActivityConfigJsonPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityConfigJsonPath.Text" xml:space="preserve">
|
||||
<value>ActivityConfig.json Путь:</value>
|
||||
</data>
|
||||
<data name="GrpAllActivity.Text" xml:space="preserve">
|
||||
<value>Вся деятельность by dplek</value>
|
||||
</data>
|
||||
<data name="ColumnActivityName.Text" xml:space="preserve">
|
||||
<value>Activity name</value>
|
||||
</data>
|
||||
<data name="GrpFileActivity.Text" xml:space="preserve">
|
||||
<value>Текущий файл</value>
|
||||
</data>
|
||||
<data name="ColActivityTitle.Text" xml:space="preserve">
|
||||
<value>Activity name</value>
|
||||
</data>
|
||||
<data name="ColActivityBeginTime.Text" xml:space="preserve">
|
||||
<value>Begin time</value>
|
||||
</data>
|
||||
<data name="ColActivityEndTime.Text" xml:space="preserve">
|
||||
<value>End time</value>
|
||||
</data>
|
||||
<data name="GrpActivityInfo.Text" xml:space="preserve">
|
||||
<value>Информация об активности</value>
|
||||
</data>
|
||||
<data name="LblActivityTitle.Text" xml:space="preserve">
|
||||
<value>Название деятельности</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Microsoft YaHei UI, 8pt</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>40, 236</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>244, 32</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Text" xml:space="preserve">
|
||||
<value>Совет: обычно вам нужно изменить только
|
||||
время активности</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>213, 271</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Text" xml:space="preserve">
|
||||
<value>- Удалить</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>27, 271</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>180, 30</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Text" xml:space="preserve">
|
||||
<value>√ Добавить или обновить</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>59, 17</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Text" xml:space="preserve">
|
||||
<value>End time</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>70, 17</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Text" xml:space="preserve">
|
||||
<value>Begin time</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>88, 17</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.Text" xml:space="preserve">
|
||||
<value>MeetCondList</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>85, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Text" xml:space="preserve">
|
||||
<value>Scheduled ID</value>
|
||||
</data>
|
||||
<data name="LblActivityType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>77, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityType.Text" xml:space="preserve">
|
||||
<value>Activty Type</value>
|
||||
</data>
|
||||
<data name="LblActivityId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>65, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityId.Text" xml:space="preserve">
|
||||
<value>Activity ID</value>
|
||||
</data>
|
||||
</root>
|
174
Source/GrasscutterTools/Forms/FormActivityEditor.zh-TW.resx
Normal file
@@ -0,0 +1,174 @@
|
||||
<?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="BtnLoad.Text" xml:space="preserve">
|
||||
<value>加載</value>
|
||||
</data>
|
||||
<data name="LblActivityConfigJsonPath.Text" xml:space="preserve">
|
||||
<value>ActivityConfig.json 路徑:</value>
|
||||
</data>
|
||||
<data name="GrpAllActivity.Text" xml:space="preserve">
|
||||
<value>已知活動 by dplek</value>
|
||||
</data>
|
||||
<data name="ColumnActivityName.Text" xml:space="preserve">
|
||||
<value>活動名稱</value>
|
||||
</data>
|
||||
<data name="GrpFileActivity.Text" xml:space="preserve">
|
||||
<value>當前文件</value>
|
||||
</data>
|
||||
<data name="ColActivityTitle.Text" xml:space="preserve">
|
||||
<value>活動名稱</value>
|
||||
</data>
|
||||
<data name="ColActivityBeginTime.Text" xml:space="preserve">
|
||||
<value>開始時間</value>
|
||||
</data>
|
||||
<data name="ColActivityEndTime.Text" xml:space="preserve">
|
||||
<value>結束時間</value>
|
||||
</data>
|
||||
<data name="GrpActivityInfo.Text" xml:space="preserve">
|
||||
<value>活動信息</value>
|
||||
</data>
|
||||
<data name="LblActivityTitle.Text" xml:space="preserve">
|
||||
<value>活動名稱</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Text" xml:space="preserve">
|
||||
<value>提示:通常情況下你只需要修改活動進行時間</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Text" xml:space="preserve">
|
||||
<value>- 刪除</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Text" xml:space="preserve">
|
||||
<value>活動結束時間</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Text" xml:space="preserve">
|
||||
<value>活動開始時間</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.Text" xml:space="preserve">
|
||||
<value>滿足條件列表</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Text" xml:space="preserve">
|
||||
<value>計劃ID</value>
|
||||
</data>
|
||||
<data name="LblActivityType.Text" xml:space="preserve">
|
||||
<value>活動類型</value>
|
||||
</data>
|
||||
<data name="LblActivityId.Text" xml:space="preserve">
|
||||
<value>活動ID</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.IO;
|
||||
@@ -98,7 +99,6 @@ namespace GrasscutterTools.Forms
|
||||
{
|
||||
// 保存文件路径
|
||||
Settings.Default.DropJsonPath = TxtDropJsonPath.Text;
|
||||
Settings.Default.Save();
|
||||
|
||||
base.OnFormClosed(e);
|
||||
}
|
||||
@@ -486,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;
|
||||
}
|
||||
|
@@ -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;
|
||||
@@ -301,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);
|
||||
}
|
||||
}
|
||||
|
774
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.Designer.cs
generated
Normal file
@@ -0,0 +1,774 @@
|
||||
|
||||
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 chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
|
||||
System.Windows.Forms.DataVisualization.Charting.Legend legend2 = new System.Windows.Forms.DataVisualization.Charting.Legend();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series3 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series4 = 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.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.LnkCheckLatestBanners = new System.Windows.Forms.LinkLabel();
|
||||
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.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});
|
||||
//
|
||||
// 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");
|
||||
chartArea2.AxisX.Minimum = 0D;
|
||||
chartArea2.AxisY.Maximum = 100D;
|
||||
chartArea2.AxisY.Minimum = 0D;
|
||||
chartArea2.AxisY.Title = "%";
|
||||
chartArea2.Name = "ChartArea1";
|
||||
this.ChartWeights.ChartAreas.Add(chartArea2);
|
||||
legend2.Name = "Legend1";
|
||||
this.ChartWeights.Legends.Add(legend2);
|
||||
this.ChartWeights.Name = "ChartWeights";
|
||||
series3.ChartArea = "ChartArea1";
|
||||
series3.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
|
||||
series3.Color = System.Drawing.Color.OrangeRed;
|
||||
series3.Label = "(#VALX, #VAL)";
|
||||
series3.Legend = "Legend1";
|
||||
series3.LegendText = "5*";
|
||||
series3.Name = "SeriesWeight5";
|
||||
series3.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
|
||||
series3.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;
|
||||
series4.ChartArea = "ChartArea1";
|
||||
series4.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
|
||||
series4.Color = System.Drawing.Color.Purple;
|
||||
series4.Label = "(#VALX, #VAL)";
|
||||
series4.Legend = "Legend1";
|
||||
series4.LegendText = "4*";
|
||||
series4.Name = "SeriesWeight4";
|
||||
series4.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
|
||||
series4.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;
|
||||
this.ChartWeights.Series.Add(series3);
|
||||
this.ChartWeights.Series.Add(series4);
|
||||
//
|
||||
// GrpBanners
|
||||
//
|
||||
resources.ApplyResources(this.GrpBanners, "GrpBanners");
|
||||
this.GrpBanners.Controls.Add(this.LnkCheckLatestBanners);
|
||||
this.GrpBanners.Controls.Add(this.ListBanners);
|
||||
this.GrpBanners.Controls.Add(this.FLPBannersControl);
|
||||
this.GrpBanners.Name = "GrpBanners";
|
||||
this.GrpBanners.TabStop = false;
|
||||
//
|
||||
// LnkCheckLatestBanners
|
||||
//
|
||||
resources.ApplyResources(this.LnkCheckLatestBanners, "LnkCheckLatestBanners");
|
||||
this.LnkCheckLatestBanners.Name = "LnkCheckLatestBanners";
|
||||
this.LnkCheckLatestBanners.TabStop = true;
|
||||
this.LnkCheckLatestBanners.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkCheckLatestBanners_LinkClicked);
|
||||
//
|
||||
// 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.GrpBanners.PerformLayout();
|
||||
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 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;
|
||||
private System.Windows.Forms.LinkLabel LnkCheckLatestBanners;
|
||||
}
|
||||
}
|
509
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.cs
Normal file
@@ -0,0 +1,509 @@
|
||||
/**
|
||||
* 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 GrasscutterTools.Utils;
|
||||
|
||||
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 LnkCheckLatestBanners_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
UIUtil.OpenURL("https://github.com/Zhaokugua/Grasscutter_Banners");
|
||||
}
|
||||
|
||||
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 - 卡池参数 -
|
||||
}
|
||||
}
|
470
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.en-us.resx
Normal file
@@ -0,0 +1,470 @@
|
||||
<?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="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="LnkCheckLatestBanners.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>141, -1</value>
|
||||
</data>
|
||||
<data name="LnkCheckLatestBanners.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>129, 17</value>
|
||||
</data>
|
||||
<data name="LnkCheckLatestBanners.Text" xml:space="preserve">
|
||||
<value>Check latest 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
493
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.ru-ru.resx
Normal file
@@ -0,0 +1,493 @@
|
||||
<?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="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="LnkCheckLatestBanners.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>73, 0</value>
|
||||
</data>
|
||||
<data name="LnkCheckLatestBanners.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>203, 17</value>
|
||||
</data>
|
||||
<data name="LnkCheckLatestBanners.Text" xml:space="preserve">
|
||||
<value>Проверьте последние баннеры</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>
|
301
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.zh-TW.resx
Normal file
@@ -0,0 +1,301 @@
|
||||
<?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="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="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="GrpFallbackPool.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
|
||||
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="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="GrpWeights.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="GrpBalance.Text" xml:space="preserve">
|
||||
<value>角色和武器平衡機制(僅混合池有效)</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Text" xml:space="preserve">
|
||||
<value>刪除</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>加載</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>卡池編輯器</value>
|
||||
</data>
|
||||
</root>
|