-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
Previously, we have talked deeply about:
- Proposal: support generating multiple messagers for the same sheet #328
- feat: support generating multiple messagers for the same sheet #332
Hoewever, if we change map<string, Metasheet> metasheet_map to repeated Metasheet sheet_list
tableau/proto/tableau/protobuf/internal/metabook.proto
Lines 12 to 16 in 8a16745
| 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"