Add SceneTag Page

This commit is contained in:
2023-10-07 22:22:35 +08:00
parent ab92469f11
commit 2c2f05c5b2
18 changed files with 1871 additions and 5 deletions

View File

@@ -0,0 +1,169 @@
namespace GrasscutterTools.Pages
{
partial class PageSceneTag
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageSceneTag));
this.TvSceneTags = new System.Windows.Forms.TreeView();
this.GrpOnSelectedCheck = new System.Windows.Forms.GroupBox();
this.RbOnSelectedUncheck = new System.Windows.Forms.RadioButton();
this.RbOnSelectedCheck = new System.Windows.Forms.RadioButton();
this.GrpOnDefaultSelectedCheck = new System.Windows.Forms.GroupBox();
this.RbOnDefaultSelectedCheck = new System.Windows.Forms.RadioButton();
this.RbOnDefaultSelectedUncheck = new System.Windows.Forms.RadioButton();
this.LblTitle = new System.Windows.Forms.Label();
this.LblDefaultTagTip = new System.Windows.Forms.Label();
this.BtnUnlockAll = new System.Windows.Forms.Button();
this.ChkOnSceneSelectedEnter = new System.Windows.Forms.CheckBox();
this.LblRightButtonClickTip = new System.Windows.Forms.Label();
this.GrpOnSelectedCheck.SuspendLayout();
this.GrpOnDefaultSelectedCheck.SuspendLayout();
this.SuspendLayout();
//
// TvSceneTags
//
resources.ApplyResources(this.TvSceneTags, "TvSceneTags");
this.TvSceneTags.FullRowSelect = true;
this.TvSceneTags.Name = "TvSceneTags";
this.TvSceneTags.ShowLines = false;
this.TvSceneTags.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.TvSceneTags_NodeMouseClick);
//
// GrpOnSelectedCheck
//
resources.ApplyResources(this.GrpOnSelectedCheck, "GrpOnSelectedCheck");
this.GrpOnSelectedCheck.Controls.Add(this.RbOnSelectedUncheck);
this.GrpOnSelectedCheck.Controls.Add(this.RbOnSelectedCheck);
this.GrpOnSelectedCheck.Name = "GrpOnSelectedCheck";
this.GrpOnSelectedCheck.TabStop = false;
//
// RbOnSelectedUncheck
//
resources.ApplyResources(this.RbOnSelectedUncheck, "RbOnSelectedUncheck");
this.RbOnSelectedUncheck.Name = "RbOnSelectedUncheck";
this.RbOnSelectedUncheck.TabStop = true;
this.RbOnSelectedUncheck.UseVisualStyleBackColor = true;
//
// RbOnSelectedCheck
//
resources.ApplyResources(this.RbOnSelectedCheck, "RbOnSelectedCheck");
this.RbOnSelectedCheck.Checked = true;
this.RbOnSelectedCheck.Name = "RbOnSelectedCheck";
this.RbOnSelectedCheck.TabStop = true;
this.RbOnSelectedCheck.UseVisualStyleBackColor = true;
//
// GrpOnDefaultSelectedCheck
//
resources.ApplyResources(this.GrpOnDefaultSelectedCheck, "GrpOnDefaultSelectedCheck");
this.GrpOnDefaultSelectedCheck.Controls.Add(this.RbOnDefaultSelectedCheck);
this.GrpOnDefaultSelectedCheck.Controls.Add(this.RbOnDefaultSelectedUncheck);
this.GrpOnDefaultSelectedCheck.Name = "GrpOnDefaultSelectedCheck";
this.GrpOnDefaultSelectedCheck.TabStop = false;
//
// RbOnDefaultSelectedCheck
//
resources.ApplyResources(this.RbOnDefaultSelectedCheck, "RbOnDefaultSelectedCheck");
this.RbOnDefaultSelectedCheck.Name = "RbOnDefaultSelectedCheck";
this.RbOnDefaultSelectedCheck.TabStop = true;
this.RbOnDefaultSelectedCheck.UseVisualStyleBackColor = true;
//
// RbOnDefaultSelectedUncheck
//
resources.ApplyResources(this.RbOnDefaultSelectedUncheck, "RbOnDefaultSelectedUncheck");
this.RbOnDefaultSelectedUncheck.Checked = true;
this.RbOnDefaultSelectedUncheck.Name = "RbOnDefaultSelectedUncheck";
this.RbOnDefaultSelectedUncheck.TabStop = true;
this.RbOnDefaultSelectedUncheck.UseVisualStyleBackColor = true;
//
// LblTitle
//
resources.ApplyResources(this.LblTitle, "LblTitle");
this.LblTitle.Name = "LblTitle";
//
// LblDefaultTagTip
//
resources.ApplyResources(this.LblDefaultTagTip, "LblDefaultTagTip");
this.LblDefaultTagTip.ForeColor = System.Drawing.SystemColors.GrayText;
this.LblDefaultTagTip.Name = "LblDefaultTagTip";
//
// BtnUnlockAll
//
resources.ApplyResources(this.BtnUnlockAll, "BtnUnlockAll");
this.BtnUnlockAll.Name = "BtnUnlockAll";
this.BtnUnlockAll.UseVisualStyleBackColor = true;
this.BtnUnlockAll.Click += new System.EventHandler(this.BtnUnlockAll_Click);
//
// ChkOnSceneSelectedEnter
//
resources.ApplyResources(this.ChkOnSceneSelectedEnter, "ChkOnSceneSelectedEnter");
this.ChkOnSceneSelectedEnter.Name = "ChkOnSceneSelectedEnter";
this.ChkOnSceneSelectedEnter.UseVisualStyleBackColor = true;
//
// LblRightButtonClickTip
//
resources.ApplyResources(this.LblRightButtonClickTip, "LblRightButtonClickTip");
this.LblRightButtonClickTip.ForeColor = System.Drawing.SystemColors.GrayText;
this.LblRightButtonClickTip.Name = "LblRightButtonClickTip";
//
// PageSceneTag
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.LblRightButtonClickTip);
this.Controls.Add(this.ChkOnSceneSelectedEnter);
this.Controls.Add(this.BtnUnlockAll);
this.Controls.Add(this.LblDefaultTagTip);
this.Controls.Add(this.LblTitle);
this.Controls.Add(this.GrpOnDefaultSelectedCheck);
this.Controls.Add(this.GrpOnSelectedCheck);
this.Controls.Add(this.TvSceneTags);
this.Name = "PageSceneTag";
this.GrpOnSelectedCheck.ResumeLayout(false);
this.GrpOnSelectedCheck.PerformLayout();
this.GrpOnDefaultSelectedCheck.ResumeLayout(false);
this.GrpOnDefaultSelectedCheck.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TreeView TvSceneTags;
private System.Windows.Forms.GroupBox GrpOnSelectedCheck;
private System.Windows.Forms.RadioButton RbOnSelectedUncheck;
private System.Windows.Forms.RadioButton RbOnSelectedCheck;
private System.Windows.Forms.GroupBox GrpOnDefaultSelectedCheck;
private System.Windows.Forms.RadioButton RbOnDefaultSelectedCheck;
private System.Windows.Forms.RadioButton RbOnDefaultSelectedUncheck;
private System.Windows.Forms.Label LblTitle;
private System.Windows.Forms.Label LblDefaultTagTip;
private System.Windows.Forms.Button BtnUnlockAll;
private System.Windows.Forms.CheckBox ChkOnSceneSelectedEnter;
private System.Windows.Forms.Label LblRightButtonClickTip;
}
}

View File

@@ -0,0 +1,129 @@
/**
* 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.Windows.Forms;
using GrasscutterTools.Game;
namespace GrasscutterTools.Pages
{
internal partial class PageSceneTag : BasePage
{
public PageSceneTag()
{
InitializeComponent();
}
/// <summary>
/// 初始化场景标签
/// </summary>
public override void OnLoad()
{
TvSceneTags.BeginUpdate();
TvSceneTags.Nodes.Clear();
foreach (var sceneTagGroup in GameData.SceneTags)
{
// 将场景作为标签分类
var sceneName = int.TryParse(sceneTagGroup.Key, out var sceneId)
? GameData.Scenes[sceneId]
: sceneTagGroup.Key;
var node = TvSceneTags.Nodes.Add(sceneTagGroup.Key, sceneName);
// 添加所有标签
var tags = sceneTagGroup.Value;
for (var i = 0; i < tags.Count; i++)
node.Nodes.Add(tags.Ids[i].ToString(), tags.Names[i]);
}
TvSceneTags.EndUpdate();
}
///// <summary>
///// 场景标签树视图选中后触发
///// </summary>
//private void TvSceneTags_AfterSelect(object sender, TreeViewEventArgs e)
//{
// // 忽略未知操作
// if (e.Action == TreeViewAction.Unknown || !e.Node.IsSelected)
// return;
// // 处理根节点选中
// var selectedNode = e.Node;
// if (selectedNode.Level == 0)
// {
// if (ChkOnSceneSelectedEnter.Checked)
// {
// SetCommand("/tp", $"0 400 0 {selectedNode.Name}");
// }
// }
// else
// {
// // 确认是否为默认状态
// var isDefault = selectedNode.Text.Contains("(Default)");
// var tagId = selectedNode.Name;
// // 根据选项决定动作
// var sub = isDefault
// ? RbOnDefaultSelectedCheck.Checked
// ? "add" : "remove"
// : RbOnSelectedCheck.Checked
// ? "add" : "remove";
// SetCommand("/tag", $"{sub} {tagId}");
// }
//}
/// <summary>
/// 点击解锁全部时触发
/// </summary>
private void BtnUnlockAll_Click(object sender, EventArgs e)
{
SetCommand("/tag", "unlockall");
}
/// <summary>
/// 场景标签节点点击时触发
/// </summary>
private void TvSceneTags_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
// 处理根节点选中
var selectedNode = e.Node;
if (selectedNode.Level == 0)
{
if (ChkOnSceneSelectedEnter.Checked)
{
SetCommand("/tp", $"0 400 0 {selectedNode.Name}");
}
}
else
{
// 确认是否为默认状态
var isDefault = selectedNode.Text.Contains("(Default)");
var tagId = selectedNode.Name;
// 根据选项决定动作
var isAdd = isDefault ? RbOnDefaultSelectedCheck.Checked : RbOnSelectedCheck.Checked;
// 如果是右键则相反
if (e.Button == MouseButtons.Right)
isAdd = !isAdd;
var sub = isAdd ? "add" : "remove";
SetCommand("/tag", $"{sub} {tagId}");
// 设置为选中节点
TvSceneTags.SelectedNode = selectedNode;
}
}
}
}

View File

@@ -0,0 +1,178 @@
<?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="GrpOnSelectedCheck.Text" xml:space="preserve">
<value>Clicking on Tag:</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="RbOnSelectedUncheck.Size" type="System.Drawing.Size, System.Drawing">
<value>99, 21</value>
</data>
<data name="RbOnSelectedUncheck.Text" xml:space="preserve">
<value>Remove Tag</value>
</data>
<data name="RbOnSelectedCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 21</value>
</data>
<data name="RbOnSelectedCheck.Text" xml:space="preserve">
<value>Add Tag</value>
</data>
<data name="GrpOnDefaultSelectedCheck.Text" xml:space="preserve">
<value>Clicking on (Default) Tag:</value>
</data>
<data name="RbOnDefaultSelectedCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 21</value>
</data>
<data name="RbOnDefaultSelectedCheck.Text" xml:space="preserve">
<value>Add Tag</value>
</data>
<data name="RbOnDefaultSelectedUncheck.Size" type="System.Drawing.Size, System.Drawing">
<value>99, 21</value>
</data>
<data name="RbOnDefaultSelectedUncheck.Text" xml:space="preserve">
<value>Remove Tag</value>
</data>
<data name="LblTitle.Size" type="System.Drawing.Size, System.Drawing">
<value>167, 17</value>
</data>
<data name="LblTitle.Text" xml:space="preserve">
<value>Scene Tag (since GC v1.7.2)</value>
</data>
<data name="LblDefaultTagTip.Size" type="System.Drawing.Size, System.Drawing">
<value>329, 17</value>
</data>
<data name="LblDefaultTagTip.Text" xml:space="preserve">
<value>The default tag is usually the "before" or "locked" state</value>
</data>
<data name="BtnUnlockAll.Text" xml:space="preserve">
<value>Unlock All</value>
</data>
<data name="ChkOnSceneSelectedEnter.Size" type="System.Drawing.Size, System.Drawing">
<value>125, 21</value>
</data>
<data name="ChkOnSceneSelectedEnter.Text" xml:space="preserve">
<value>Click scene enter</value>
</data>
<data name="LblRightButtonClickTip.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 17</value>
</data>
<data name="LblRightButtonClickTip.Text" xml:space="preserve">
<value>Right click reverse</value>
</data>
</root>

View File

@@ -0,0 +1,450 @@
<?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="&gt;&gt;TvSceneTags.Type" xml:space="preserve">
<value>System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblTitle.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;LblRightButtonClickTip.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="LblTitle.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>GrasscutterTools.Pages.BasePage, GrasscutterTools, Version=1.13.0.0, Culture=neutral, PublicKeyToken=de2b1c089621e923</value>
</data>
<data name="&gt;&gt;LblRightButtonClickTip.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="&gt;&gt;GrpOnDefaultSelectedCheck.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;LblDefaultTagTip.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="&gt;&gt;RbOnSelectedCheck.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;RbOnSelectedUncheck.Name" xml:space="preserve">
<value>RbOnSelectedUncheck</value>
</data>
<data name="&gt;&gt;TvSceneTags.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="&gt;&gt;TvSceneTags.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="LblTitle.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="RbOnSelectedUncheck.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="ChkOnSceneSelectedEnter.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 21</value>
</data>
<data name="LblDefaultTagTip.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;GrpOnDefaultSelectedCheck.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;BtnUnlockAll.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="&gt;&gt;RbOnDefaultSelectedCheck.Parent" xml:space="preserve">
<value>GrpOnDefaultSelectedCheck</value>
</data>
<data name="LblRightButtonClickTip.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;RbOnSelectedCheck.Parent" xml:space="preserve">
<value>GrpOnSelectedCheck</value>
</data>
<data name="LblRightButtonClickTip.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 17</value>
</data>
<data name="&gt;&gt;BtnUnlockAll.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="RbOnSelectedCheck.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;TvSceneTags.Name" xml:space="preserve">
<value>TvSceneTags</value>
</data>
<data name="GrpOnSelectedCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>200, 80</value>
</data>
<data name="&gt;&gt;BtnUnlockAll.Name" xml:space="preserve">
<value>BtnUnlockAll</value>
</data>
<data name="&gt;&gt;ChkOnSceneSelectedEnter.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;RbOnDefaultSelectedCheck.Name" xml:space="preserve">
<value>RbOnDefaultSelectedCheck</value>
</data>
<data name="RbOnSelectedUncheck.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;RbOnDefaultSelectedCheck.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;LblTitle.Name" xml:space="preserve">
<value>LblTitle</value>
</data>
<data name="&gt;&gt;RbOnDefaultSelectedUncheck.Parent" xml:space="preserve">
<value>GrpOnDefaultSelectedCheck</value>
</data>
<data name="&gt;&gt;LblDefaultTagTip.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;LblRightButtonClickTip.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="RbOnDefaultSelectedUncheck.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 21</value>
</data>
<data name="RbOnDefaultSelectedCheck.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 22</value>
</data>
<data name="LblDefaultTagTip.Text" xml:space="preserve">
<value>预设(Default)标签通常是锁定或者之前的状态</value>
</data>
<data name="LblRightButtonClickTip.Location" type="System.Drawing.Point, System.Drawing">
<value>209, 23</value>
</data>
<data name="&gt;&gt;LblTitle.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="BtnUnlockAll.Location" type="System.Drawing.Point, System.Drawing">
<value>187, 211</value>
</data>
<data name="&gt;&gt;GrpOnSelectedCheck.Name" xml:space="preserve">
<value>GrpOnSelectedCheck</value>
</data>
<data name="RbOnSelectedCheck.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="BtnUnlockAll.Text" xml:space="preserve">
<value>解锁全部</value>
</data>
<data name="RbOnDefaultSelectedUncheck.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 49</value>
</data>
<data name="RbOnDefaultSelectedCheck.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;LblDefaultTagTip.Name" xml:space="preserve">
<value>LblDefaultTagTip</value>
</data>
<data name="&gt;&gt;RbOnSelectedCheck.Name" xml:space="preserve">
<value>RbOnSelectedCheck</value>
</data>
<data name="GrpOnSelectedCheck.Text" xml:space="preserve">
<value>点击标签时</value>
</data>
<data name="&gt;&gt;LblDefaultTagTip.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;GrpOnSelectedCheck.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PageSceneTag</value>
</data>
<data name="RbOnSelectedCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 21</value>
</data>
<data name="LblRightButtonClickTip.Text" xml:space="preserve">
<value>右键点击相反</value>
</data>
<data name="&gt;&gt;RbOnDefaultSelectedUncheck.Name" xml:space="preserve">
<value>RbOnDefaultSelectedUncheck</value>
</data>
<data name="LblTitle.Text" xml:space="preserve">
<value>场景标签管理 (GC v1.7.2 起)</value>
</data>
<data name="RbOnSelectedUncheck.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 21</value>
</data>
<data name="&gt;&gt;GrpOnSelectedCheck.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="RbOnDefaultSelectedCheck.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="LblTitle.Size" type="System.Drawing.Size, System.Drawing">
<value>162, 17</value>
</data>
<data name="&gt;&gt;ChkOnSceneSelectedEnter.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="LblDefaultTagTip.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>7, 17</value>
</data>
<data name="GrpOnDefaultSelectedCheck.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 109</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="BtnUnlockAll.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="BtnUnlockAll.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="GrpOnSelectedCheck.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 23</value>
</data>
<data name="&gt;&gt;GrpOnDefaultSelectedCheck.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="ChkOnSceneSelectedEnter.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;LblTitle.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="RbOnDefaultSelectedUncheck.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;ChkOnSceneSelectedEnter.Name" xml:space="preserve">
<value>ChkOnSceneSelectedEnter</value>
</data>
<data name="TvSceneTags.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;RbOnSelectedCheck.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="RbOnDefaultSelectedUncheck.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;LblRightButtonClickTip.Name" xml:space="preserve">
<value>LblRightButtonClickTip</value>
</data>
<data name="&gt;&gt;RbOnSelectedUncheck.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;BtnUnlockAll.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;RbOnSelectedUncheck.Parent" xml:space="preserve">
<value>GrpOnSelectedCheck</value>
</data>
<data name="GrpOnSelectedCheck.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="GrpOnDefaultSelectedCheck.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="TvSceneTags.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 233</value>
</data>
<data name="&gt;&gt;RbOnDefaultSelectedCheck.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="TvSceneTags.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="GrpOnDefaultSelectedCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>200, 80</value>
</data>
<data name="ChkOnSceneSelectedEnter.Text" xml:space="preserve">
<value>点击场景时进入</value>
</data>
<data name="LblRightButtonClickTip.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="RbOnSelectedUncheck.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="BtnUnlockAll.Size" type="System.Drawing.Size, System.Drawing">
<value>150, 25</value>
</data>
<data name="LblDefaultTagTip.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 192</value>
</data>
<data name="RbOnSelectedUncheck.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 49</value>
</data>
<data name="LblDefaultTagTip.Size" type="System.Drawing.Size, System.Drawing">
<value>249, 17</value>
</data>
<data name="RbOnSelectedCheck.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 22</value>
</data>
<data name="RbOnDefaultSelectedCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 21</value>
</data>
<data name="RbOnDefaultSelectedUncheck.Text" xml:space="preserve">
<value>移除标签</value>
</data>
<data name="&gt;&gt;RbOnSelectedUncheck.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;GrpOnDefaultSelectedCheck.Name" xml:space="preserve">
<value>GrpOnDefaultSelectedCheck</value>
</data>
<data name="RbOnDefaultSelectedCheck.Text" xml:space="preserve">
<value>添加标签</value>
</data>
<data name="TvSceneTags.Location" type="System.Drawing.Point, System.Drawing">
<value>343, 3</value>
</data>
<data name="&gt;&gt;RbOnDefaultSelectedUncheck.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;RbOnDefaultSelectedUncheck.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="ChkOnSceneSelectedEnter.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 214</value>
</data>
<data name="GrpOnDefaultSelectedCheck.Text" xml:space="preserve">
<value>点击(预设)标签时</value>
</data>
<data name="LblTitle.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="RbOnSelectedCheck.Text" xml:space="preserve">
<value>添加标签</value>
</data>
<data name="ChkOnSceneSelectedEnter.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;GrpOnSelectedCheck.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;ChkOnSceneSelectedEnter.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -0,0 +1,178 @@
<?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="GrpOnSelectedCheck.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="RbOnSelectedUncheck.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 21</value>
</data>
<data name="RbOnSelectedUncheck.Text" xml:space="preserve">
<value>Удалить тег</value>
</data>
<data name="RbOnSelectedCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>106, 21</value>
</data>
<data name="RbOnSelectedCheck.Text" xml:space="preserve">
<value>Добавить тег</value>
</data>
<data name="GrpOnDefaultSelectedCheck.Text" xml:space="preserve">
<value>Нажимаем на тег(Default):</value>
</data>
<data name="RbOnDefaultSelectedCheck.Size" type="System.Drawing.Size, System.Drawing">
<value>106, 21</value>
</data>
<data name="RbOnDefaultSelectedCheck.Text" xml:space="preserve">
<value>Добавить тег</value>
</data>
<data name="RbOnDefaultSelectedUncheck.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 21</value>
</data>
<data name="RbOnDefaultSelectedUncheck.Text" xml:space="preserve">
<value>Удалить тег</value>
</data>
<data name="LblTitle.Size" type="System.Drawing.Size, System.Drawing">
<value>201, 17</value>
</data>
<data name="LblTitle.Text" xml:space="preserve">
<value>Тег сцены (начиная с GC v1.7.2)</value>
</data>
<data name="LblDefaultTagTip.Size" type="System.Drawing.Size, System.Drawing">
<value>329, 17</value>
</data>
<data name="LblDefaultTagTip.Text" xml:space="preserve">
<value>The default tag is usually the "before" or "locked" state</value>
</data>
<data name="BtnUnlockAll.Text" xml:space="preserve">
<value>Разблокировать все</value>
</data>
<data name="ChkOnSceneSelectedEnter.Size" type="System.Drawing.Size, System.Drawing">
<value>125, 21</value>
</data>
<data name="ChkOnSceneSelectedEnter.Text" xml:space="preserve">
<value>Click scene enter</value>
</data>
<data name="LblRightButtonClickTip.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 17</value>
</data>
<data name="LblRightButtonClickTip.Text" xml:space="preserve">
<value>Right click reverse</value>
</data>
</root>

View File

@@ -0,0 +1,151 @@
<?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="GrpOnSelectedCheck.Text" xml:space="preserve">
<value>點擊標籤時</value>
</data>
<data name="RbOnSelectedUncheck.Text" xml:space="preserve">
<value>移除標籤</value>
</data>
<data name="RbOnSelectedCheck.Text" xml:space="preserve">
<value>添加標籤</value>
</data>
<data name="GrpOnDefaultSelectedCheck.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="LblTitle.Size" type="System.Drawing.Size, System.Drawing">
<value>170, 17</value>
</data>
<data name="LblTitle.Text" xml:space="preserve">
<value>場景標籤管理GC v1.7.2起)</value>
</data>
<data name="LblDefaultTagTip.Text" xml:space="preserve">
<value>預設(Default)標籤通常是鎖定或者之前的狀態</value>
</data>
<data name="BtnUnlockAll.Text" xml:space="preserve">
<value>解鎖全部</value>
</data>
<data name="ChkOnSceneSelectedEnter.Text" xml:space="preserve">
<value>點擊場景時進入</value>
</data>
<data name="LblRightButtonClickTip.Text" xml:space="preserve">
<value>右鍵點擊相反</value>
</data>
</root>