Previously, we have talked deeply about:
Hoewever, if we change map<string, Metasheet> metasheet_map to repeated Metasheet sheet_list
|
message Metabook { |
|
option (tableau.worksheet) = {name:"@TABLEAU" namerow:1 datarow:2}; |
|
|
|
map<string, Metasheet> metasheet_map = 1 [(tableau.field).key = "Sheet"]; |
|
} |
It has following benefits:
- Configure and generate multiple messages for the same sheet in the same metasheet
- More stable (controlled by game developers) and ordered generated messages by the metasheet list container but not native sheet order (controlled by game designers) in workbook
But it will introduce following breaking changes:
After prototyping, it will break the XML/YAML metatsheet forms which are currently unacceptable!
For yaml format example:
|
# define metasheet: generate all sheets |
|
"@sheet": "@TABLEAU" |
|
"YamlMergerConf": |
|
Merger: "Merger*.yaml" |
will be changed to
# define metasheet: generate all sheets
"@sheet": "@TABLEAU"
"SheetList":
- Name: "YamlMergerConf"
Merger: "Merger*.yaml"
Previously, we have talked deeply about:
Hoewever, if we change
map<string, Metasheet> metasheet_maptorepeated Metasheet sheet_listtableau/proto/tableau/protobuf/internal/metabook.proto
Lines 12 to 16 in 8a16745
It has following benefits:
But it will introduce following breaking changes:
For yaml format example:
tableau/test/functest/testdata/default/yaml/metasheet/Merger.yaml
Lines 1 to 4 in dcdf1f8
will be changed to