Fields定義
概要
YAMLのfieldsハッシュの詳細です。
記入例
fields:
- key: Id
name: id
type: Int
- key: Name
name: name
type: String
- key: Hp
name: hp
type: Int
- key: Attack
name: attack
type: Int
- key: Defense
name: defense
type: Int
- key: Magic
name: magic
type: Int
- key: GrowthPatternId
name: growth_pattern_id
type: Int
validate:
key_exist:
yaml: unit/UnitGrowth.yaml
key: GrowthPatternId
ignores:
- value: 0
詳細
key
- key: Id
- 定義:必須
キー名を指定します。
出力後の変数名になります。
YAML間のやり取り時の指定は原則このkeyとなります。
name
- key: Id
name: id
- 定義:必須
Excelの列名を指定します。
type
- key: Id
name: id
type: Int
- 定義:必須
以下の中から指定します。
| 型 | 説明 |
|---|---|
| Bool | 真偽型(1/true/yes → 真、0/false/no → 偽) |
| Byte | 8bit符号なし整数型 |
| Short | 16bit符号あり整数型 |
| UShort | 16bit符号なし整数型 |
| Int | 32bit符号あり整数型 |
| UInt | 32bit符号なし整数型 |
| Long | 64bit符号あり整数型 |
| ULong | 64bit符号なし整数型 |
| Float | 32bit浮動小数型 |
| Double | 64bit浮動小数型 |
| String | 文字列型 |
| Enum | 列挙型(enumタグ必須) |
| DateTime | 時間型 |
| Foreignkey | 関連参照型(relationタグ必須) |
enum
- key: To
name: to
type: Enum
enum: GenderType
- 定義:条件付き(typeをEnumとした場合に必須)
Enum名を指定します。 header.source_typeがEnumのYAMLのheader.nameを指定します。
enum_value
- key: To
name: to
type: Enum
enum: GenderType
enum_value: Value
- 定義:オプション
列挙に設定する値のkeyを指定します。 指定がない場合は0からの値となります。
enum_comment
- key: To
name: to
type: Enum
enum: GenderType
enum_value: Value
enum_comment: From
- 定義:オプション
列挙に設定するコメントのkeyを指定します。
default
- key: Id
name: id
type: Int
default: 0
- 定義:オプション
セルが空の時に設定するデフォルト値です。
string_format
- key: AttackRate
name: attack_rate
type: Float
string_format: "F2"
- 定義:オプション
PHP出力の値や、C#/UE5のConstSource出力の定数値にフォーマットを指定したい場合に使用します。
指定方法はC#の数値書式指定文字列となります。
上記の例では浮動小数の小数点第二位までを出力します。
comment
- key: Id
name: id
type: Int
comment: "ユニークなID"
- 定義:オプション
C#等のソースコードに出力されるコメントを指定します。
manual_comment
- key: Id
name: id
type: Int
manual_comment: "ユニークなID"
- 定義:オプション
マニュアル出力時に記載されるコメントを指定します。
encryption
- key: Hp
name: hp
type: Int
encryption: True
- 定義:オプション
- デフォルト:False
メモリ改ざん対策の難読化です。
Trueを指定した場合に難読化を有効化します。
対応タイプは以下の通りです。
- Byte
- Short
- UShort
- Int
- UInt
- Long
- ULong
- Float
- Double
- String
obsolete
- key: Magic
name: magic
type: Int
obsolete: True
- 定義:オプション
- デフォルト:False
生成されるC# / UE5のアクセサを非推奨扱いにします。
localize
- key: Name
name: name
type: String
localize: True
- 定義:オプション
- デフォルト:False
ローカライズ文字列対象の有無を指定します。
Trueを指定した場合、Settingsの localization.input.path で指定した翻訳CSVに管理されます。String 型のフィールドにのみ指定可能です。
使用するにはヘッダーに localization.id_key の定義が必要です。
manual_only
- key: InternalNote
name: internal_note
type: String
manual_only: True
- 定義:オプション
- デフォルト:False
データ出力は行わず、マニュアル出力のみを行いたいときにTrueとします。
relation
- key: GrowthPatternId
name: growth_pattern_id
type: Foreignkey
relation:
yaml: unit/UnitGrowth.yaml
from: GrowthPatternId
to: GrowthPatternId
- 定義:条件付き(typeをForeignkeyとした場合に必須)
データ関連参照、ExcelのVLOOKUPに相当する機能です。
| タグ | 必須 | 説明 |
|---|---|---|
| yaml | ○ | 関連参照先のYAMLを指定 |
| from | ○ | 参照先YAMLの検索対象のkeyを指定 |
| to | ○ | データ変換先のkeyを指定 |
validate
- key: GrowthPatternId
name: growth_pattern_id
type: Int
validate:
検証機能です。
unique
- key: Id
name: id
type: Int
validate:
unique:
enable: true
ignores:
- value: 0
- value: 999
重複チェックを行います。
| タグ | 必須 | 説明 |
|---|---|---|
| enable | ○ | trueで有効 |
| ignores | 無視リスト | |
| ignores[].value | 無視する値(ignoresタグで必須) |
key_exist
- key: GrowthPatternId
name: growth_pattern_id
type: Int
validate:
key_exist:
yaml: unit/UnitGrowth.yaml
key: GrowthPatternId
ignores:
- value: 0
単一のYAMLとのデータ存在チェックです。
指定したYAMLに定義されている項目のいずれとも一致しない場合エラーになります。
| タグ | 必須 | 説明 |
|---|---|---|
| yaml | ○ | 参照先のYAMLを指定 |
| key | ○ | YAML内のkeyを指定 |
| ignores | 特定の値を無視する場合に指定 |
key_exists_yaml
- key: GrowthPatternId
name: growth_pattern_id
type: Int
validate:
key_exists_yaml:
yaml: validate/validate_unit_growth.yaml
指定した複数のYAMLのどれかにチェック対象のkeyの値が入っているか検証します。 重複した場合にはエラーになります。
| タグ | 必須 | 説明 |
|---|---|---|
| yaml | ○ | 参照先のMulti YAML定義ファイルのパスを指定 |
key_exists_yaml_conditions
- key: GrowthPatternId
name: growth_pattern_id
type: Int
validate:
key_exists_yaml_conditions:
yaml: validate/validate_unit_growth_by_type.yaml
conditions_param_key: UnitType
パラメータ指定付きの複数のYAMLとのデータ存在チェックです。
指定したパラメータに該当するYAMLに定義されている項目と一致しない場合エラーになります。
| タグ | 必須 | 説明 |
|---|---|---|
| yaml | ○ | 参照先のYAMLを指定 |
| conditions_param_key | ○ | 対象となる項目のkey |
enum_exists
- key: Element
name: element
type: Enum
enum: ElementType
validate:
enum_exists:
yaml: enum/element_type.yaml
key: Element
unique: true
指定したEnumの全項目がデータに定義されているかをチェックし、不足している場合にエラーになります。Enumに存在しない値が入力されている場合もエラーになります。
| タグ | 必須 | 説明 |
|---|---|---|
| yaml | ○ | 参照先のYAMLを指定 |
| key | ○ | Yaml内のkeyを指定 |
| unique | trueとした場合、keyが重複した場合にエラー(デフォルトはtrue) |
range
validate:
range:
min: 0
max: 99999
値が範囲外であればエラーになります。
| タグ | 必須 | 説明 |
|---|---|---|
| min | 最小値を指定 | |
| max | 最大値を指定 | |
| extra_conditions | 追加条件 | |
| extra_conditions[].key | 条件判定に使うkey | |
| extra_conditions[].value | 比較する値 | |
| extra_conditions[].equals | trueで一致時、falseで不一致時に条件適用 |
string_length
validate:
string_length:
line_length: 30
line_value: 1
文字列が指定値をオーバーした場合にエラーになります。
| タグ | 必須 | 説明 |
|---|---|---|
| line_length | ○ | 1行の最大文字数を指定 |
| line_value | ○ | 最大行数を指定 |