上传武馆修炼优化

This commit is contained in:
liwei 2023-07-24 16:07:17 +08:00
parent aecab14326
commit 3a0fbeee63
30 changed files with 2092 additions and 411 deletions

View File

@ -0,0 +1,158 @@
[
{
"id": 1,
"group": 1001,
"eventname": {
"key": "eventname_1",
"text": "无事发生"
},
"eventweight": 1000,
"eventtype": 0,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 2,
"group": 1001,
"eventname": {
"key": "eventname_2",
"text": "打怪"
},
"eventweight": 1000,
"eventtype": 1,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 3,
"group": 1001,
"eventname": {
"key": "eventname_3",
"text": "打怪"
},
"eventweight": 1000,
"eventtype": 1,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 4,
"group": 1001,
"eventname": {
"key": "eventname_4",
"text": "打怪"
},
"eventweight": 1000,
"eventtype": 1,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 5,
"group": 1001,
"eventname": {
"key": "eventname_5",
"text": "获取金币"
},
"eventweight": 1000,
"eventtype": 2,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 6,
"group": 1001,
"eventname": {
"key": "eventname_6",
"text": "获取金币"
},
"eventweight": 1000,
"eventtype": 2,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 7,
"group": 1002,
"eventname": {
"key": "eventname_7",
"text": "无事发生"
},
"eventweight": 1000,
"eventtype": 0,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 8,
"group": 1002,
"eventname": {
"key": "eventname_8",
"text": "打怪"
},
"eventweight": 1000,
"eventtype": 1,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 9,
"group": 1002,
"eventname": {
"key": "eventname_9",
"text": "打怪"
},
"eventweight": 1000,
"eventtype": 1,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 10,
"group": 1002,
"eventname": {
"key": "eventname_10",
"text": "打怪"
},
"eventweight": 1000,
"eventtype": 1,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 11,
"group": 1002,
"eventname": {
"key": "eventname_11",
"text": "获取金币"
},
"eventweight": 1000,
"eventtype": 2,
"battleid": [],
"getitem": [],
"loseitem": []
},
{
"id": 12,
"group": 1002,
"eventname": {
"key": "eventname_12",
"text": "获取金币"
},
"eventweight": 1000,
"eventtype": 2,
"battleid": [],
"getitem": [],
"loseitem": []
}
]

View File

@ -151,7 +151,7 @@
"consumeA10": [
{
"a": "item",
"t": "10000001",
"t": "10000021",
"n": 10
}
],
@ -209,7 +209,7 @@
"consumeA10": [
{
"a": "item",
"t": "10000001",
"t": "10000022",
"n": 10
}
],
@ -267,7 +267,7 @@
"consumeA10": [
{
"a": "item",
"t": "10000001",
"t": "10000023",
"n": 10
}
],
@ -325,7 +325,7 @@
"consumeA10": [
{
"a": "item",
"t": "10000001",
"t": "10000024",
"n": 10
}
],
@ -383,7 +383,7 @@
"consumeA10": [
{
"a": "item",
"t": "10000001",
"t": "10000024",
"n": 10
}
],

View File

@ -0,0 +1,545 @@
[
{
"id": 1,
"name": {
"key": "冒险关卡",
"text": "冒险关卡"
},
"tabId": 2,
"mapPos": {
"x": 400,
"y": 400
},
"type": 1,
"params": "",
"jumpId": 166,
"introduce": {
"key": "冒险关卡",
"text": "冒险关卡"
},
"bg": "hkz_wftj_zxgk",
"icon": "Attack",
"dropshow": [
{
"a": "attr",
"t": "gold",
"n": 1
}
]
},
{
"id": 2,
"name": {
"key": "竞技场",
"text": "竞技场"
},
"tabId": 10,
"mapPos": {
"x": 200,
"y": 1900
},
"type": 3,
"params": "",
"jumpId": 10015,
"introduce": {
"key": "竞技场",
"text": "竞技场"
},
"bg": "hkz_wftj_jjc",
"icon": "rw_cj_icon09",
"dropshow": [
{
"a": "attr",
"t": "arenacoin",
"n": 1
}
]
},
{
"id": 3,
"name": {
"key": "狩猎-巨型猩猩",
"text": "狩猎-巨型猩猩"
},
"tabId": 4,
"mapPos": {
"x": 600,
"y": 1200
},
"type": 2,
"params": "1",
"jumpId": 10026,
"introduce": {
"key": "狩猎-巨型猩猩",
"text": "狩猎-巨型猩猩"
},
"bg": "hkz_wftj_sl02",
"icon": "wjyz_img016",
"dropshow": [
{
"a": "item",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "15000201",
"n": 1
},
{
"a": "item",
"t": "15000301",
"n": 1
}
]
},
{
"id": 4,
"name": {
"key": "狩猎-大厨",
"text": "狩猎-大厨"
},
"tabId": 4,
"mapPos": {
"x": 800,
"y": 1100
},
"type": 2,
"params": "2",
"jumpId": 10025,
"introduce": {
"key": "狩猎-大厨",
"text": "狩猎-大厨"
},
"bg": "hkz_wftj_sl01",
"icon": "wjyz_img014",
"dropshow": [
{
"a": "item",
"t": "15000103",
"n": 1
},
{
"a": "item",
"t": "15000203",
"n": 1
},
{
"a": "item",
"t": "15000303",
"n": 1
}
]
},
{
"id": 5,
"name": {
"key": "狩猎-太空海星",
"text": "狩猎-太空海星"
},
"tabId": 4,
"mapPos": {
"x": 300,
"y": 1250
},
"type": 2,
"params": "3",
"jumpId": 168,
"introduce": {
"key": "狩猎-太空海星",
"text": "狩猎-太空海星"
},
"bg": "hkz_wftj_sl03",
"icon": "wjyz_img017",
"dropshow": [
{
"a": "item",
"t": "15000104",
"n": 1
},
{
"a": "item",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "15000304",
"n": 1
}
]
},
{
"id": 6,
"name": {
"key": "狩猎-火龙",
"text": "狩猎-火龙"
},
"tabId": 4,
"mapPos": {
"x": 400,
"y": 900
},
"type": 2,
"params": "4",
"jumpId": 10024,
"introduce": {
"key": "狩猎-火龙",
"text": "狩猎-火龙"
},
"bg": "hkz_wftj_sl04",
"icon": "wjyz_img015",
"dropshow": [
{
"a": "item",
"t": "15000102",
"n": 1
},
{
"a": "item",
"t": "15000202",
"n": 1
},
{
"a": "item",
"t": "15000302",
"n": 1
}
]
},
{
"id": 7,
"name": {
"key": "维京远征-火焰泰坦",
"text": "维京远征-火焰泰坦"
},
"tabId": 3,
"mapPos": {
"x": 860,
"y": 100
},
"type": 4,
"params": "",
"jumpId": 10022,
"introduce": {
"key": "维京远征-火焰泰坦",
"text": "维京远征-火焰泰坦"
},
"bg": "hkz_wftj_wjyz03",
"icon": "wjyz_img012",
"dropshow": [
{
"a": "item",
"t": "13001001",
"n": 1
},
{
"a": "item",
"t": "13001002",
"n": 1
},
{
"a": "item",
"t": "13001003",
"n": 1
},
{
"a": "item",
"t": "13001004",
"n": 1
}
]
},
{
"id": 8,
"name": {
"key": "维京远征-冰霜泰坦",
"text": "维京远征-冰霜泰坦"
},
"tabId": 3,
"mapPos": {
"x": 1060,
"y": 200
},
"type": 4,
"params": "",
"jumpId": 10020,
"introduce": {
"key": "维京远征-冰霜泰坦",
"text": "维京远征-冰霜泰坦"
},
"bg": "hkz_wftj_wjyz02",
"icon": "wjyz_img011",
"dropshow": [
{
"a": "item",
"t": "13003001",
"n": 1
},
{
"a": "item",
"t": "13003002",
"n": 1
},
{
"a": "item",
"t": "13003003",
"n": 1
},
{
"a": "item",
"t": "13003004",
"n": 1
}
]
},
{
"id": 9,
"name": {
"key": "维京远征-森林泰坦",
"text": "维京远征-森林泰坦"
},
"tabId": 3,
"mapPos": {
"x": 660,
"y": 300
},
"type": 4,
"params": "",
"jumpId": 10021,
"introduce": {
"key": "维京远征-森林泰坦",
"text": "维京远征-森林泰坦"
},
"bg": "hkz_wftj_wjyz01",
"icon": "wjyz_img013",
"dropshow": [
{
"a": "item",
"t": "13002001",
"n": 1
},
{
"a": "item",
"t": "13002002",
"n": 1
},
{
"a": "item",
"t": "13002003",
"n": 1
},
{
"a": "item",
"t": "13002004",
"n": 1
}
]
},
{
"id": 10,
"name": {
"key": "经验副本",
"text": "经验副本"
},
"tabId": 5,
"mapPos": {
"x": 2500,
"y": 1000
},
"type": 4,
"params": "",
"jumpId": 10013,
"introduce": {
"key": "经验副本",
"text": "经验副本"
},
"bg": "hkz_wftj_jyfb",
"icon": "wjyz_img011",
"dropshow": [
{
"a": "item",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "10000010",
"n": 1
}
]
},
{
"id": 11,
"name": {
"key": "功夫大师挑战塔",
"text": "功夫大师挑战塔"
},
"tabId": 7,
"mapPos": {
"x": 2250,
"y": 1700
},
"type": 4,
"params": "",
"jumpId": 10004,
"introduce": {
"key": "功夫大师挑战塔",
"text": "功夫大师挑战塔"
},
"bg": "hkz_wftj_wjyz01",
"icon": "fb_rk_wj1",
"dropshow": [
{
"a": "attr",
"t": "gold",
"n": 1
}
]
},
{
"id": 12,
"name": {
"key": "循环塔",
"text": "循环塔"
},
"tabId": 8,
"mapPos": {
"x": 2300,
"y": 1900
},
"type": 4,
"params": "",
"jumpId": 10017,
"introduce": {
"key": "循环塔",
"text": "循环塔"
},
"bg": "hkz_wftj_wjyz01",
"icon": "fb_rk_wj1",
"dropshow": [
{
"a": "attr",
"t": "gold",
"n": 1
}
]
},
{
"id": 13,
"name": {
"key": "阵营塔",
"text": "阵营塔"
},
"tabId": 9,
"mapPos": {
"x": 2500,
"y": 2040
},
"type": 4,
"params": "",
"jumpId": 10018,
"introduce": {
"key": "阵营塔",
"text": "阵营塔"
},
"bg": "hkz_wftj_wjyz01",
"icon": "fb_rk_wj1",
"dropshow": [
{
"a": "attr",
"t": "gold",
"n": 1
}
]
},
{
"id": 14,
"name": {
"key": "巨怪商队",
"text": "巨怪商队"
},
"tabId": 12,
"mapPos": {
"x": 2400,
"y": 1000
},
"type": 4,
"params": "",
"jumpId": 11001,
"introduce": {
"key": "巨怪商队",
"text": "巨怪商队"
},
"bg": "hkz_wftj_jsg",
"icon": "rw_cj_icon16",
"dropshow": [
{
"a": "attr",
"t": "gold",
"n": 1
}
]
},
{
"id": 15,
"name": {
"key": "旧时光",
"text": "旧时光"
},
"tabId": 13,
"mapPos": {
"x": 2200,
"y": 1100
},
"type": 4,
"params": "",
"jumpId": 10019,
"introduce": {
"key": "旧时光",
"text": "旧时光"
},
"bg": "hkz_wftj_jsg",
"icon": "rw_cj_icon05",
"dropshow": [
{
"a": "attr",
"t": "gold",
"n": 1
}
]
},
{
"id": 16,
"name": {
"key": "迷宫玩法",
"text": "迷宫玩法"
},
"tabId": 11,
"mapPos": {
"x": 600,
"y": 1900
},
"type": 4,
"params": "",
"jumpId": 10019,
"introduce": {
"key": "迷宫玩法",
"text": "迷宫玩法"
},
"bg": "hkz_wftj_jsg",
"icon": "rw_cj_icon01",
"dropshow": [
{
"a": "attr",
"t": "gold",
"n": 1
}
]
}
]

View File

@ -0,0 +1,171 @@
[
{
"tabId": 1,
"layer": 0,
"name": {
"key": "探险旅程",
"text": "探险旅程"
},
"mapPos": {
"x": 0,
"y": 0
},
"scale": 1
},
{
"tabId": 2,
"layer": 1,
"name": {
"key": "主线探险",
"text": "主线探险"
},
"mapPos": {
"x": -100,
"y": 100
},
"scale": 1
},
{
"tabId": 3,
"layer": 1,
"name": {
"key": "维京远征",
"text": "维京远征"
},
"mapPos": {
"x": -300,
"y": 0
},
"scale": 1
},
{
"tabId": 4,
"layer": 1,
"name": {
"key": "狩猎副本",
"text": "狩猎副本"
},
"mapPos": {
"x": 0,
"y": 860
},
"scale": 1
},
{
"tabId": 5,
"layer": 1,
"name": {
"key": "经验副本",
"text": "经验副本"
},
"mapPos": {
"x": -2000,
"y": 800
},
"scale": 1
},
{
"tabId": 6,
"layer": 0,
"name": {
"key": "功夫训练",
"text": "功夫训练"
},
"mapPos": {
"x": -2000,
"y": 1600
},
"scale": 1
},
{
"tabId": 7,
"layer": 1,
"name": {
"key": "功夫大师挑战塔",
"text": "功夫大师挑战塔"
},
"mapPos": {
"x": -2000,
"y": 1600
},
"scale": 1
},
{
"tabId": 8,
"layer": 1,
"name": {
"key": "循环塔",
"text": "循环塔"
},
"mapPos": {
"x": -2000,
"y": 1600
},
"scale": 1
},
{
"tabId": 9,
"layer": 1,
"name": {
"key": "阵营塔",
"text": "阵营塔"
},
"mapPos": {
"x": -2000,
"y": 1600
},
"scale": 1
},
{
"tabId": 10,
"layer": 0,
"name": {
"key": "竞技挑战",
"text": "竞技挑战"
},
"mapPos": {
"x": 0,
"y": 1600
},
"scale": 1
},
{
"tabId": 11,
"layer": 0,
"name": {
"key": "迷宫玩法",
"text": "迷宫玩法"
},
"mapPos": {
"x": 0,
"y": 1600
},
"scale": 1
},
{
"tabId": 12,
"layer": 0,
"name": {
"key": "巨怪商队",
"text": "巨怪商队"
},
"mapPos": {
"x": -1600,
"y": 800
},
"scale": 1
},
{
"tabId": 13,
"layer": 0,
"name": {
"key": "旧时光",
"text": "旧时光"
},
"mapPos": {
"x": -1600,
"y": 800
},
"scale": 1
}
]

View File

@ -6,7 +6,7 @@
"text": "第1章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_1",
@ -25,7 +25,7 @@
"text": "第2章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_2",
@ -44,7 +44,7 @@
"text": "第3章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_3",
@ -63,7 +63,7 @@
"text": "第4章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_4",
@ -82,7 +82,7 @@
"text": "第5章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_5",
@ -101,7 +101,7 @@
"text": "第6章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_6",
@ -120,7 +120,7 @@
"text": "第7章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_7",
@ -139,7 +139,7 @@
"text": "第8章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_8",
@ -158,7 +158,7 @@
"text": "第9章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_9",
@ -177,7 +177,7 @@
"text": "第10章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_10",
@ -196,7 +196,7 @@
"text": "第11章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_11",
@ -215,7 +215,7 @@
"text": "第12章"
},
"chapter_type": 1,
"map": "scenes_worldmap_01 ",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_12",
@ -234,7 +234,7 @@
"text": "第1章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_13",
@ -253,7 +253,7 @@
"text": "第2章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_14",
@ -272,7 +272,7 @@
"text": "第3章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_15",
@ -291,7 +291,7 @@
"text": "第4章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_16",
@ -310,7 +310,7 @@
"text": "第5章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_17",
@ -329,7 +329,7 @@
"text": "第6章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_18",
@ -348,7 +348,7 @@
"text": "第7章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_19",
@ -367,7 +367,7 @@
"text": "第8章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_20",
@ -386,7 +386,7 @@
"text": "第9章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_21",
@ -405,7 +405,7 @@
"text": "第10章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_22",
@ -424,7 +424,7 @@
"text": "第11章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_23",
@ -443,7 +443,7 @@
"text": "第12章"
},
"chapter_type": 2,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_24",
@ -462,7 +462,7 @@
"text": "第1章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_13",
@ -481,7 +481,7 @@
"text": "第2章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_14",
@ -500,7 +500,7 @@
"text": "第3章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_15",
@ -519,7 +519,7 @@
"text": "第4章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_16",
@ -538,7 +538,7 @@
"text": "第5章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_17",
@ -557,7 +557,7 @@
"text": "第6章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_18",
@ -576,7 +576,7 @@
"text": "第7章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_19",
@ -595,7 +595,7 @@
"text": "第8章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_20",
@ -614,7 +614,7 @@
"text": "第9章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_21",
@ -633,7 +633,7 @@
"text": "第10章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_22",
@ -652,7 +652,7 @@
"text": "第11章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_23",
@ -671,7 +671,7 @@
"text": "第12章"
},
"chapter_type": 3,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_24",
@ -690,7 +690,7 @@
"text": "第1章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_13",
@ -709,7 +709,7 @@
"text": "第2章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_14",
@ -728,7 +728,7 @@
"text": "第3章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_15",
@ -747,7 +747,7 @@
"text": "第4章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_16",
@ -766,7 +766,7 @@
"text": "第5章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_17",
@ -785,7 +785,7 @@
"text": "第6章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_18",
@ -804,7 +804,7 @@
"text": "第7章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_19",
@ -823,7 +823,7 @@
"text": "第8章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_20",
@ -842,7 +842,7 @@
"text": "第9章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_21",
@ -861,7 +861,7 @@
"text": "第10章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_22",
@ -880,7 +880,7 @@
"text": "第11章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_23",
@ -899,7 +899,7 @@
"text": "第12章"
},
"chapter_type": 4,
"map": "scenes_worldmap_01",
"map": "scenes_chapter_01",
"camera": "",
"title": {
"key": "mainchapter_main_chapter_title_24",

View File

@ -298,7 +298,7 @@
"id": 1100104,
"chapterid": 11001,
"taskid": 100103,
"unlockid": 100101,
"unlockid": 100102,
"previoustage": 0,
"Episodetype": 3,
"openlevel": 1,
@ -719,7 +719,7 @@
"id": 1100110,
"chapterid": 11001,
"taskid": 100109,
"unlockid": 100108,
"unlockid": 100107,
"previoustage": 0,
"Episodetype": 3,
"openlevel": 1,
@ -768,7 +768,7 @@
"id": 1100111,
"chapterid": 11001,
"taskid": 100110,
"unlockid": 100108,
"unlockid": 100109,
"previoustage": 0,
"Episodetype": 4,
"openlevel": 1,

View File

@ -975,7 +975,7 @@
"id": 82,
"surname": {
"key": "name_name_surname_82",
"text": "和的"
"text": "和的"
},
"name": {
"key": "name_name_name_82",

View File

@ -20,6 +20,13 @@
"min_exp": 60,
"placement_duration": 10,
"prop_position": 0,
"accomplish": [
{
"a": "attr",
"t": "diamond",
"n": 5
}
],
"photo_guide_unlocking": [
{
"a": "panda",
@ -50,6 +57,13 @@
"min_exp": 70,
"placement_duration": 10,
"prop_position": 1,
"accomplish": [
{
"a": "attr",
"t": "diamond",
"n": 5
}
],
"photo_guide_unlocking": [
{
"a": "panda",
@ -80,6 +94,13 @@
"min_exp": 80,
"placement_duration": 10,
"prop_position": 1,
"accomplish": [
{
"a": "attr",
"t": "diamond",
"n": 5
}
],
"photo_guide_unlocking": [
{
"a": "panda",
@ -110,6 +131,13 @@
"min_exp": 90,
"placement_duration": 10,
"prop_position": 1,
"accomplish": [
{
"a": "attr",
"t": "diamond",
"n": 5
}
],
"photo_guide_unlocking": [
{
"a": "panda",
@ -134,6 +162,13 @@
"min_exp": 100,
"placement_duration": 10,
"prop_position": 1,
"accomplish": [
{
"a": "attr",
"t": "diamond",
"n": 5
}
],
"photo_guide_unlocking": [
{
"a": "panda",

View File

@ -1,6 +1,7 @@
[
{
"taskid": 60010,
"tasktype": 1,
"pointnum": 2,
"point": [
"中轴城道具点位1",
@ -19,6 +20,7 @@
},
{
"taskid": 60020,
"tasktype": 1,
"pointnum": 2,
"point": [
"中轴城道具点位1",
@ -37,6 +39,7 @@
},
{
"taskid": 60030,
"tasktype": 1,
"pointnum": 2,
"point": [
"中轴城道具点位1",
@ -55,6 +58,7 @@
},
{
"taskid": 60040,
"tasktype": 1,
"pointnum": 2,
"point": [
"中轴城道具点位1",
@ -73,6 +77,7 @@
},
{
"taskid": 60050,
"tasktype": 1,
"pointnum": 2,
"point": [
"中轴城道具点位1",
@ -88,5 +93,43 @@
2000,
2000
]
},
{
"taskid": 60060,
"tasktype": 2,
"pointnum": 1,
"point": [
"战斗点位1",
"战斗点位2",
"战斗点位3",
"战斗点位4",
"战斗点位5"
],
"pointweight": [
2000,
2000,
2000,
2000,
2000
]
},
{
"taskid": 60070,
"tasktype": 2,
"pointnum": 2,
"point": [
"战斗点位1",
"战斗点位2",
"战斗点位3",
"战斗点位4",
"战斗点位5"
],
"pointweight": [
2000,
2000,
2000,
2000,
2000
]
}
]

View File

@ -30566,15 +30566,15 @@
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"ExecuteCnt": 8,
"Type": 1,
"Argu": [
1,
4,
1000,
500,
1,
11,
150
20
],
"FollowSK": [
214002312,
@ -30599,7 +30599,7 @@
"Type": 3,
"Argu": [
390001006,
700,
100,
1,
2
],

View File

@ -0,0 +1,86 @@
[
{
"EventId": 10000001,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_1",
"text": "预留用"
},
"EventType": 16,
"Value1": "item,10000001,2",
"Value2": "0",
"Value3": "0",
"Value4": "0",
"PostEvent": 11000002,
"probability": 500
},
{
"EventId": 10000002,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_2",
"text": "预留用"
},
"EventType": 16,
"Value1": "item,10000001,3",
"Value2": "0",
"Value3": "0",
"Value4": "0",
"PostEvent": 0,
"probability": 0
},
{
"EventId": 10000003,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_3",
"text": "预留用"
},
"EventType": 16,
"Value1": "item,10000001,4",
"Value2": "0",
"Value3": "0",
"Value4": "0",
"PostEvent": 0,
"probability": 0
},
{
"EventId": 10000004,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_4",
"text": "预留用"
},
"EventType": 16,
"Value1": "item,10000001,5",
"Value2": "0",
"Value3": "0",
"Value4": "0",
"PostEvent": 0,
"probability": 0
},
{
"EventId": 10000005,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_5",
"text": "预留用"
},
"EventType": 16,
"Value1": "item,10000001,6",
"Value2": "0",
"Value3": "0",
"Value4": "0",
"PostEvent": 0,
"probability": 0
},
{
"EventId": 10000006,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_6",
"text": "预留用"
},
"EventType": 16,
"Value1": "item,10000001,7",
"Value2": "0",
"Value3": "0",
"Value4": "0",
"PostEvent": 0,
"probability": 0
}
]

View File

@ -1,242 +1,92 @@
[
{
"BuffId": 251023111,
"BuffGroupId": 1001,
"Type": 1,
"BuffLevel": 1,
"Quality": 1,
"BuffIcon": "",
"buffName": {
"key": "stonehenge_eventconfig_buffName_1",
"text": "攻击buff"
"RoomId": 100001,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_1",
"text": "战斗"
},
"BuffDescription": {
"key": "stonehenge_buffconfig_BuffDescription_1",
"text": "描述描述描述"
},
"BuffStory": {
"key": "stonehenge_buffconfig_BuffStory_1",
"text": "描述描述描述"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 1
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 2
}
"SceneName": "",
"PortalName": "",
"EventrewardGroup": 1001001,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"Condition": 0
},
{
"BuffId": 251023112,
"BuffGroupId": 1001,
"Type": 1,
"BuffLevel": 2,
"Quality": 1,
"BuffIcon": "",
"buffName": {
"key": "stonehenge_eventconfig_buffName_2",
"text": "攻击buff"
"RoomId": 100002,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_2",
"text": "战斗"
},
"BuffDescription": {
"key": "stonehenge_buffconfig_BuffDescription_2",
"text": "描述描述描述"
},
"BuffStory": {
"key": "stonehenge_buffconfig_BuffStory_2",
"text": "描述描述描述"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 1
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 2
}
"SceneName": "",
"PortalName": "",
"EventrewardGroup": 1001001,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"Condition": 0
},
{
"BuffId": 200000001,
"BuffGroupId": 1002,
"Type": 2,
"BuffLevel": 1,
"Quality": 2,
"BuffIcon": "",
"buffName": {
"key": "stonehenge_eventconfig_buffName_3",
"text": "防御buff"
"RoomId": 100003,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_3",
"text": "战斗"
},
"BuffDescription": {
"key": "stonehenge_buffconfig_BuffDescription_3",
"text": "描述描述描述"
},
"BuffStory": {
"key": "stonehenge_buffconfig_BuffStory_3",
"text": "描述描述描述"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 2
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 3
}
"SceneName": "",
"PortalName": "",
"EventrewardGroup": 1001001,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"Condition": 0
},
{
"BuffId": 200000002,
"BuffGroupId": 1002,
"Type": 2,
"BuffLevel": 2,
"Quality": 2,
"BuffIcon": "",
"buffName": {
"key": "stonehenge_eventconfig_buffName_4",
"text": "防御buff"
"RoomId": 100004,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_4",
"text": "剧情"
},
"BuffDescription": {
"key": "stonehenge_buffconfig_BuffDescription_4",
"text": "描述描述描述"
},
"BuffStory": {
"key": "stonehenge_buffconfig_BuffStory_4",
"text": "描述描述描述"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 3
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 4
}
"SceneName": "",
"PortalName": "",
"EventrewardGroup": 1001001,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"Condition": 0
},
{
"BuffId": 253005111,
"BuffGroupId": 1003,
"Type": 3,
"BuffLevel": 1,
"Quality": 1,
"BuffIcon": "",
"buffName": {
"key": "stonehenge_eventconfig_buffName_5",
"text": "辅助buff"
"RoomId": 100005,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_5",
"text": "剧情"
},
"BuffDescription": {
"key": "stonehenge_buffconfig_BuffDescription_5",
"text": "描述描述描述"
},
"BuffStory": {
"key": "stonehenge_buffconfig_BuffStory_5",
"text": "描述描述描述"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 4
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 5
}
"SceneName": "",
"PortalName": "",
"EventrewardGroup": 1001001,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"Condition": 0
},
{
"BuffId": 253005112,
"BuffGroupId": 1003,
"Type": 3,
"BuffLevel": 2,
"Quality": 1,
"BuffIcon": "",
"buffName": {
"key": "stonehenge_eventconfig_buffName_6",
"text": "辅助buff"
"RoomId": 100006,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_6",
"text": "剧情"
},
"BuffDescription": {
"key": "stonehenge_buffconfig_BuffDescription_6",
"text": "描述描述描述"
},
"BuffStory": {
"key": "stonehenge_buffconfig_BuffStory_6",
"text": "描述描述描述"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 5
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 6
}
},
{
"BuffId": 225002011,
"BuffGroupId": 1004,
"Type": 4,
"BuffLevel": 1,
"Quality": 2,
"BuffIcon": "",
"buffName": {
"key": "stonehenge_eventconfig_buffName_7",
"text": "控制buff"
},
"BuffDescription": {
"key": "stonehenge_buffconfig_BuffDescription_7",
"text": "描述描述描述"
},
"BuffStory": {
"key": "stonehenge_buffconfig_BuffStory_7",
"text": "描述描述描述"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 6
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 7
}
},
{
"BuffId": 225002012,
"BuffGroupId": 1004,
"Type": 4,
"BuffLevel": 2,
"Quality": 2,
"BuffIcon": "",
"buffName": {
"key": "stonehenge_eventconfig_buffName_8",
"text": "控制buff"
},
"BuffDescription": {
"key": "stonehenge_buffconfig_BuffDescription_8",
"text": "描述描述描述"
},
"BuffStory": {
"key": "stonehenge_buffconfig_BuffStory_8",
"text": "描述描述描述"
},
"BuffUpgradeCost": {
"a": "attr",
"t": "gold",
"n": 7
},
"BuffSell": {
"a": "attr",
"t": "gold",
"n": 8
}
"SceneName": "",
"PortalName": "",
"EventrewardGroup": 1001001,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"Condition": 0
}
]

View File

@ -0,0 +1,140 @@
[
{
"Id": 1,
"StageId": 1001,
"PreviouStage": 0,
"StageName": {
"key": "stonehenge_stageconfig_StageName_1",
"text": "石阵1"
},
"RoomId": 1,
"RoomGroup": 100001,
"PortalGroup": 100002,
"rewardpreview": [
{
"a": "attr",
"t": "gold",
"n": 1
}
],
"TreasurePreview": [
{
"a": "attr",
"t": "gold",
"n": 1
}
],
"FirstReward": [
{
"a": "attr",
"t": "gold",
"n": 1
}
],
"WeeklyPointPreview": 0,
"WeeklyPoint": {
"a": "attr",
"t": "gold",
"n": 1
},
"TalentItem": {
"a": "attr",
"t": "gold",
"n": 1
},
"ReferenceLevel": 0,
"StageValue": 0
},
{
"Id": 4,
"StageId": 1001,
"PreviouStage": 0,
"StageName": {
"key": "stonehenge_stageconfig_StageName_4",
"text": "石阵4"
},
"RoomId": 4,
"RoomGroup": 0,
"PortalGroup": 100002,
"rewardpreview": [
{
"a": "attr",
"t": "gold",
"n": 2
}
],
"TreasurePreview": [
{
"a": "attr",
"t": "gold",
"n": 2
}
],
"FirstReward": [
{
"a": "attr",
"t": "gold",
"n": 2
}
],
"WeeklyPointPreview": 0,
"WeeklyPoint": {
"a": "attr",
"t": "gold",
"n": 2
},
"TalentItem": {
"a": "attr",
"t": "gold",
"n": 2
},
"ReferenceLevel": 0,
"StageValue": 0
},
{
"Id": 5,
"StageId": 1001,
"PreviouStage": 0,
"StageName": {
"key": "stonehenge_stageconfig_StageName_5",
"text": "石阵5"
},
"RoomId": 5,
"RoomGroup": 0,
"PortalGroup": 99999,
"rewardpreview": [
{
"a": "attr",
"t": "gold",
"n": 3
}
],
"TreasurePreview": [
{
"a": "attr",
"t": "gold",
"n": 3
}
],
"FirstReward": [
{
"a": "attr",
"t": "gold",
"n": 3
}
],
"WeeklyPointPreview": 0,
"WeeklyPoint": {
"a": "attr",
"t": "gold",
"n": 3
},
"TalentItem": {
"a": "attr",
"t": "gold",
"n": 3
},
"ReferenceLevel": 0,
"StageValue": 0
}
]

View File

@ -118,8 +118,26 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.PracticeReceiveR
if errdata = this.module.ModuleHero.KungFuHero(session, pillar.Hero, false, ""); errdata != nil {
return
}
if req.Buy {
minutes = int32(math.Floor(time.Unix(pillar.Expend, 0).Sub(configure.Now()).Minutes()))
if minutes > 0 {
need := []*cfg.Gameatn{}
for _, v := range pillarconfigure.Accomplish {
need = append(need, &cfg.Gameatn{
A: v.A,
T: v.T,
N: v.N * minutes,
})
}
if errdata = this.module.DispenseRes(session, need, true); errdata != nil {
return
}
}
}
//计算经验收益
if configure.Now().After(time.Unix(pillar.Expend, 0)) {
if req.Buy || configure.Now().After(time.Unix(pillar.Expend, 0)) {
minutes = int32(time.Unix(pillar.Expend, 0).Sub(time.Unix(pillar.Start, 0)).Minutes())
exp = minutes * pillarconfigure.MinExp
} else {
@ -149,7 +167,7 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.PracticeReceiveR
}
//是否可以获得额外收益
if configure.Now().After(time.Unix(pillar.End, 0)) {
if req.Buy || configure.Now().After(time.Unix(pillar.End, 0)) {
if tconfigure != nil {
if tconfigure.Exp > 0 { //经验加成
exp1 += int32(math.Floor(float64(exp) * (float64(tconfigure.Exp) / float64(100))))

View File

@ -861,6 +861,7 @@ type PracticeReceiveReq struct {
Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index"` //柱子id
Friend string `protobuf:"bytes,2,opt,name=friend,proto3" json:"friend"` //好友id
Buy bool `protobuf:"varint,3,opt,name=buy,proto3" json:"buy"` //是否花钱完成
}
func (x *PracticeReceiveReq) Reset() {
@ -909,6 +910,13 @@ func (x *PracticeReceiveReq) GetFriend() string {
return ""
}
func (x *PracticeReceiveReq) GetBuy() bool {
if x != nil {
return x.Buy
}
return false
}
type PracticeReceiveResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -2262,113 +2270,114 @@ var file_practice_practice_msg_proto_rawDesc = []byte{
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05,
0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64,
0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x13, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65,
0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50,
0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x3e, 0x0a,
0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,
0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x4b, 0x0a,
0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0e, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x13, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65,
0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18,
0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x40, 0x0a, 0x14, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52,
0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x62, 0x75, 0x79, 0x22, 0xcd, 0x01, 0x0a,
0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12,
0x3e, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65,
0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a,
0x4b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65,
0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x13,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64,
0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72,
0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x24, 0x0a,
0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49, 0x74, 0x65, 0x6d, 0x50,
0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47,
0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a, 0x13, 0x50, 0x72, 0x61,
0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d,
0x22, 0x17, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52,
0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a, 0x16, 0x50, 0x72, 0x61,
0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52,
0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75,
0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
0x6e, 0x75, 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47,
0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07,
0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70,
0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x53, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70,
0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72,
0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73,
0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72,
0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x16,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x25,
0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f,
0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x66,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x12, 0x1a, 0x0a,
0x08, 0x69, 0x73, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x08, 0x69, 0x73, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x62, 0x61, 0x74,
0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x50, 0x76,
0x70, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22,
0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70,
0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06,
0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73,
0x53, 0x75, 0x63, 0x63, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73,
0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28,
0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x72, 0x61,
0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, 0x69, 0x66,
0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e,
0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c,
0x65, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f,
0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22,
0x44, 0x0a, 0x1b, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61,
0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x25,
0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72,
0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73,
0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x16, 0x0a,
0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c,
0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16,
0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x40, 0x0a,
0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68,
0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22,
0x24, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49, 0x74, 0x65,
0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a, 0x13, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e,
0x75, 0x6d, 0x22, 0x17, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79,
0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a, 0x16, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73,
0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65,
0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18,
0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x53, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65,
0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77,
0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72,
0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x22, 0x2f, 0x0a,
0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30,
0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64,
0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63,
0x75, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74,
0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a,
0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x12,
0x1a, 0x0a, 0x08, 0x69, 0x73, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x08, 0x52, 0x08, 0x69, 0x73, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x62,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42,
0x50, 0x76, 0x70, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16,
0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a,
0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52,
0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20,
0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74,
0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a,
0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a,
0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74,
0x6b, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a,
0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b,
0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66,
0x6f, 0x22, 0x44, 0x0a, 0x1b, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43,
0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71,
0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52,
0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74,
0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63,
0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22,
0x16, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69,
0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74,
0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70,
0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameCompositeAll struct {
_dataMap map[int32]*GameCompositeAllData
_dataList []*GameCompositeAllData
}
func NewGameCompositeAll(_buf []map[string]interface{}) (*GameCompositeAll, error) {
_dataList := make([]*GameCompositeAllData, 0, len(_buf))
dataMap := make(map[int32]*GameCompositeAllData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameCompositeAllData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameCompositeAll{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameCompositeAll) GetDataMap() map[int32]*GameCompositeAllData {
return table._dataMap
}
func (table *GameCompositeAll) GetDataList() []*GameCompositeAllData {
return table._dataList
}
func (table *GameCompositeAll) Get(key int32) *GameCompositeAllData {
return table._dataMap[key]
}

View File

@ -0,0 +1,88 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameCompositeAllData struct {
Id int32
Group int32
Eventname string
Eventweight int32
Eventtype int32
Battleid []string
Getitem []*Gameatn
Loseitem []*Gameatn
}
const TypeId_GameCompositeAllData = 654181088
func (*GameCompositeAllData) GetTypeId() int32 {
return 654181088
}
func (_v *GameCompositeAllData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["eventname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Eventname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Eventname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["eventweight"].(float64); !_ok_ { err = errors.New("eventweight error"); return }; _v.Eventweight = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["eventtype"].(float64); !_ok_ { err = errors.New("eventtype error"); return }; _v.Eventtype = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["battleid"].([]interface{}); !_ok_ { err = errors.New("battleid error"); return }
_v.Battleid = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.Battleid = append(_v.Battleid, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["getitem"].([]interface{}); !_ok_ { err = errors.New("getitem error"); return }
_v.Getitem = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Getitem = append(_v.Getitem, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["loseitem"].([]interface{}); !_ok_ { err = errors.New("loseitem error"); return }
_v.Loseitem = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Loseitem = append(_v.Loseitem, _list_v_)
}
}
return
}
func DeserializeGameCompositeAllData(_buf map[string]interface{}) (*GameCompositeAllData, error) {
v := &GameCompositeAllData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameGameSummary struct {
_dataMap map[int32]*GameGameSummaryData
_dataList []*GameGameSummaryData
}
func NewGameGameSummary(_buf []map[string]interface{}) (*GameGameSummary, error) {
_dataList := make([]*GameGameSummaryData, 0, len(_buf))
dataMap := make(map[int32]*GameGameSummaryData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameGameSummaryData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameGameSummary{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameGameSummary) GetDataMap() map[int32]*GameGameSummaryData {
return table._dataMap
}
func (table *GameGameSummary) GetDataList() []*GameGameSummaryData {
return table._dataList
}
func (table *GameGameSummary) Get(key int32) *GameGameSummaryData {
return table._dataMap[key]
}

View File

@ -0,0 +1,75 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
import "bright/serialization"
type GameGameSummaryData struct {
Id int32
Name string
TabId int32
MapPos serialization.Vector2
Type int32
Params string
JumpId int32
Introduce string
Bg string
Icon string
Dropshow []*Gameatn
}
const TypeId_GameGameSummaryData = 1825934114
func (*GameGameSummaryData) GetTypeId() int32 {
return 1825934114
}
func (_v *GameGameSummaryData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tabId"].(float64); !_ok_ { err = errors.New("tabId error"); return }; _v.TabId = int32(_tempNum_) }
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["mapPos"].(map[string]interface{}); !_ok_ { err = errors.New("mapPos error"); return }
var _x_, _y_ float32;
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
_v.MapPos = serialization.NewVector2(_x_, _y_)
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
{ var _ok_ bool; if _v.Params, _ok_ = _buf["params"].(string); !_ok_ { err = errors.New("params error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["jumpId"].(float64); !_ok_ { err = errors.New("jumpId error"); return }; _v.JumpId = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["introduce"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Introduce error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Introduce, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.Bg, _ok_ = _buf["bg"].(string); !_ok_ { err = errors.New("bg error"); return } }
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["dropshow"].([]interface{}); !_ok_ { err = errors.New("dropshow error"); return }
_v.Dropshow = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Dropshow = append(_v.Dropshow, _list_v_)
}
}
return
}
func DeserializeGameGameSummaryData(_buf map[string]interface{}) (*GameGameSummaryData, error) {
v := &GameGameSummaryData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameGameSummaryTab struct {
_dataMap map[int32]*GameGameSummaryTabData
_dataList []*GameGameSummaryTabData
}
func NewGameGameSummaryTab(_buf []map[string]interface{}) (*GameGameSummaryTab, error) {
_dataList := make([]*GameGameSummaryTabData, 0, len(_buf))
dataMap := make(map[int32]*GameGameSummaryTabData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameGameSummaryTabData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.TabId] = _v
}
}
return &GameGameSummaryTab{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameGameSummaryTab) GetDataMap() map[int32]*GameGameSummaryTabData {
return table._dataMap
}
func (table *GameGameSummaryTab) GetDataList() []*GameGameSummaryTabData {
return table._dataList
}
func (table *GameGameSummaryTab) Get(key int32) *GameGameSummaryTabData {
return table._dataMap[key]
}

View File

@ -0,0 +1,50 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
import "bright/serialization"
type GameGameSummaryTabData struct {
TabId int32
Layer int32
Name string
MapPos serialization.Vector2
Scale float32
}
const TypeId_GameGameSummaryTabData = 1940152935
func (*GameGameSummaryTabData) GetTypeId() int32 {
return 1940152935
}
func (_v *GameGameSummaryTabData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tabId"].(float64); !_ok_ { err = errors.New("tabId error"); return }; _v.TabId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["layer"].(float64); !_ok_ { err = errors.New("layer error"); return }; _v.Layer = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["mapPos"].(map[string]interface{}); !_ok_ { err = errors.New("mapPos error"); return }
var _x_, _y_ float32;
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
_v.MapPos = serialization.NewVector2(_x_, _y_)
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["scale"].(float64); !_ok_ { err = errors.New("scale error"); return }; _v.Scale = float32(_tempNum_) }
return
}
func DeserializeGameGameSummaryTabData(_buf map[string]interface{}) (*GameGameSummaryTabData, error) {
v := &GameGameSummaryTabData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -19,6 +19,7 @@ type GamePandamasMzData struct {
MinExp int32
PlacementDuration int32
PropPosition int32
Accomplish []*Gameatn
PhotoGuideUnlocking []*Gameatn
Limitation int32
}
@ -51,6 +52,20 @@ func (_v *GamePandamasMzData)Deserialize(_buf map[string]interface{}) (err error
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["min_exp"].(float64); !_ok_ { err = errors.New("min_exp error"); return }; _v.MinExp = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["placement_duration"].(float64); !_ok_ { err = errors.New("placement_duration error"); return }; _v.PlacementDuration = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["prop_position"].(float64); !_ok_ { err = errors.New("prop_position error"); return }; _v.PropPosition = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["accomplish"].([]interface{}); !_ok_ { err = errors.New("accomplish error"); return }
_v.Accomplish = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Accomplish = append(_v.Accomplish, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool

View File

@ -12,6 +12,7 @@ import "errors"
type GameSearchitemAllData struct {
Taskid int32
Tasktype int32
Pointnum int32
Point []string
Pointweight []int32
@ -25,6 +26,7 @@ func (*GameSearchitemAllData) GetTypeId() int32 {
func (_v *GameSearchitemAllData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["taskid"].(float64); !_ok_ { err = errors.New("taskid error"); return }; _v.Taskid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tasktype"].(float64); !_ok_ { err = errors.New("tasktype error"); return }; _v.Tasktype = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pointnum"].(float64); !_ok_ { err = errors.New("pointnum error"); return }; _v.Pointnum = int32(_tempNum_) }
{
var _arr_ []interface{}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameStroneEvent struct {
_dataMap map[int32]*GameStroneEventData
_dataList []*GameStroneEventData
}
func NewGameStroneEvent(_buf []map[string]interface{}) (*GameStroneEvent, error) {
_dataList := make([]*GameStroneEventData, 0, len(_buf))
dataMap := make(map[int32]*GameStroneEventData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameStroneEventData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.EventId] = _v
}
}
return &GameStroneEvent{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameStroneEvent) GetDataMap() map[int32]*GameStroneEventData {
return table._dataMap
}
func (table *GameStroneEvent) GetDataList() []*GameStroneEventData {
return table._dataList
}
func (table *GameStroneEvent) Get(key int32) *GameStroneEventData {
return table._dataMap[key]
}

View File

@ -0,0 +1,51 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameStroneEventData struct {
EventId int32
EventTitle string
EventType int32
Value1 string
Value2 string
Value3 string
Value4 string
PostEvent int32
Probability int32
}
const TypeId_GameStroneEventData = 341060691
func (*GameStroneEventData) GetTypeId() int32 {
return 341060691
}
func (_v *GameStroneEventData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventId"].(float64); !_ok_ { err = errors.New("EventId error"); return }; _v.EventId = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["EventTitle"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.EventTitle error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.EventTitle, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventType"].(float64); !_ok_ { err = errors.New("EventType error"); return }; _v.EventType = int32(_tempNum_) }
{ var _ok_ bool; if _v.Value1, _ok_ = _buf["Value1"].(string); !_ok_ { err = errors.New("Value1 error"); return } }
{ var _ok_ bool; if _v.Value2, _ok_ = _buf["Value2"].(string); !_ok_ { err = errors.New("Value2 error"); return } }
{ var _ok_ bool; if _v.Value3, _ok_ = _buf["Value3"].(string); !_ok_ { err = errors.New("Value3 error"); return } }
{ var _ok_ bool; if _v.Value4, _ok_ = _buf["Value4"].(string); !_ok_ { err = errors.New("Value4 error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["PostEvent"].(float64); !_ok_ { err = errors.New("PostEvent error"); return }; _v.PostEvent = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ { err = errors.New("probability error"); return }; _v.Probability = int32(_tempNum_) }
return
}
func DeserializeGameStroneEventData(_buf map[string]interface{}) (*GameStroneEventData, error) {
v := &GameStroneEventData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -21,7 +21,7 @@ func NewGameStroneRoom(_buf []map[string]interface{}) (*GameStroneRoom, error) {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.BuffId] = _v
dataMap[_v.RoomId] = _v
}
}
return &GameStroneRoom{_dataList:_dataList, _dataMap:dataMap}, nil

View File

@ -11,17 +11,16 @@ package cfg
import "errors"
type GameStroneRoomData struct {
BuffId int32
BuffGroupId int32
Type int32
BuffLevel int32
Quality int32
BuffIcon string
BuffName string
BuffDescription string
BuffStory string
BuffUpgradeCost *Gameatn
BuffSell *Gameatn
RoomId int32
RoomName string
SceneName string
PortalName string
EventrewardGroup int32
EventBattleGroup int32
EventStoryNpcGroup int32
EventTreasureGroup int32
EventStoreGroup int32
Condition int32
}
const TypeId_GameStroneRoomData = -1133628842
@ -31,17 +30,16 @@ func (*GameStroneRoomData) GetTypeId() int32 {
}
func (_v *GameStroneRoomData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffId"].(float64); !_ok_ { err = errors.New("BuffId error"); return }; _v.BuffId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffGroupId"].(float64); !_ok_ { err = errors.New("BuffGroupId error"); return }; _v.BuffGroupId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Type"].(float64); !_ok_ { err = errors.New("Type error"); return }; _v.Type = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffLevel"].(float64); !_ok_ { err = errors.New("BuffLevel error"); return }; _v.BuffLevel = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Quality"].(float64); !_ok_ { err = errors.New("Quality error"); return }; _v.Quality = int32(_tempNum_) }
{ var _ok_ bool; if _v.BuffIcon, _ok_ = _buf["BuffIcon"].(string); !_ok_ { err = errors.New("BuffIcon error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["buffName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BuffName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BuffName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["BuffDescription"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BuffDescription error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BuffDescription, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["BuffStory"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BuffStory error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BuffStory, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["BuffUpgradeCost"].(map[string]interface{}); !_ok_ { err = errors.New("BuffUpgradeCost error"); return }; if _v.BuffUpgradeCost, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["BuffSell"].(map[string]interface{}); !_ok_ { err = errors.New("BuffSell error"); return }; if _v.BuffSell, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["RoomId"].(float64); !_ok_ { err = errors.New("RoomId error"); return }; _v.RoomId = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["RoomName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.RoomName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.RoomName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.SceneName, _ok_ = _buf["SceneName"].(string); !_ok_ { err = errors.New("SceneName error"); return } }
{ var _ok_ bool; if _v.PortalName, _ok_ = _buf["PortalName"].(string); !_ok_ { err = errors.New("PortalName error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventrewardGroup"].(float64); !_ok_ { err = errors.New("EventrewardGroup error"); return }; _v.EventrewardGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventBattleGroup"].(float64); !_ok_ { err = errors.New("EventBattleGroup error"); return }; _v.EventBattleGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventStoryNpcGroup"].(float64); !_ok_ { err = errors.New("EventStoryNpcGroup error"); return }; _v.EventStoryNpcGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventTreasureGroup"].(float64); !_ok_ { err = errors.New("EventTreasureGroup error"); return }; _v.EventTreasureGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventStoreGroup"].(float64); !_ok_ { err = errors.New("EventStoreGroup error"); return }; _v.EventStoreGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Condition"].(float64); !_ok_ { err = errors.New("Condition error"); return }; _v.Condition = int32(_tempNum_) }
return
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameStroneStage struct {
_dataMap map[int32]*GameStroneStageData
_dataList []*GameStroneStageData
}
func NewGameStroneStage(_buf []map[string]interface{}) (*GameStroneStage, error) {
_dataList := make([]*GameStroneStageData, 0, len(_buf))
dataMap := make(map[int32]*GameStroneStageData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameStroneStageData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameStroneStage{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameStroneStage) GetDataMap() map[int32]*GameStroneStageData {
return table._dataMap
}
func (table *GameStroneStage) GetDataList() []*GameStroneStageData {
return table._dataList
}
func (table *GameStroneStage) Get(key int32) *GameStroneStageData {
return table._dataMap[key]
}

View File

@ -0,0 +1,102 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameStroneStageData struct {
Id int32
StageId int32
PreviouStage int32
StageName string
RoomId int32
RoomGroup int32
PortalGroup int32
Rewardpreview []*Gameatn
TreasurePreview []*Gameatn
FirstReward []*Gameatn
WeeklyPointPreview int32
WeeklyPoint *Gameatn
TalentItem *Gameatn
ReferenceLevel int32
StageValue int32
}
const TypeId_GameStroneStageData = 2146544311
func (*GameStroneStageData) GetTypeId() int32 {
return 2146544311
}
func (_v *GameStroneStageData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Id"].(float64); !_ok_ { err = errors.New("Id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["StageId"].(float64); !_ok_ { err = errors.New("StageId error"); return }; _v.StageId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["PreviouStage"].(float64); !_ok_ { err = errors.New("PreviouStage error"); return }; _v.PreviouStage = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["StageName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.StageName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.StageName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["RoomId"].(float64); !_ok_ { err = errors.New("RoomId error"); return }; _v.RoomId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["RoomGroup"].(float64); !_ok_ { err = errors.New("RoomGroup error"); return }; _v.RoomGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["PortalGroup"].(float64); !_ok_ { err = errors.New("PortalGroup error"); return }; _v.PortalGroup = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["rewardpreview"].([]interface{}); !_ok_ { err = errors.New("rewardpreview error"); return }
_v.Rewardpreview = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Rewardpreview = append(_v.Rewardpreview, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["TreasurePreview"].([]interface{}); !_ok_ { err = errors.New("TreasurePreview error"); return }
_v.TreasurePreview = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.TreasurePreview = append(_v.TreasurePreview, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["FirstReward"].([]interface{}); !_ok_ { err = errors.New("FirstReward error"); return }
_v.FirstReward = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.FirstReward = append(_v.FirstReward, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["WeeklyPointPreview"].(float64); !_ok_ { err = errors.New("WeeklyPointPreview error"); return }; _v.WeeklyPointPreview = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["WeeklyPoint"].(map[string]interface{}); !_ok_ { err = errors.New("WeeklyPoint error"); return }; if _v.WeeklyPoint, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["TalentItem"].(map[string]interface{}); !_ok_ { err = errors.New("TalentItem error"); return }; if _v.TalentItem, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ReferenceLevel"].(float64); !_ok_ { err = errors.New("ReferenceLevel error"); return }; _v.ReferenceLevel = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["StageValue"].(float64); !_ok_ { err = errors.New("StageValue error"); return }; _v.StageValue = int32(_tempNum_) }
return
}
func DeserializeGameStroneStageData(_buf map[string]interface{}) (*GameStroneStageData, error) {
v := &GameStroneStageData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -205,6 +205,11 @@ type Tables struct {
Eventlottery *GameEventlottery
StroneBuff *GameStroneBuff
StroneRoom *GameStroneRoom
StroneStage *GameStroneStage
StroneEvent *GameStroneEvent
GameSummaryTab *GameGameSummaryTab
GameSummary *GameGameSummary
CompositeAll *GameCompositeAll
}
func NewTables(loader JsonLoader) (*Tables, error) {
@ -1376,5 +1381,35 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.StroneRoom, err = NewGameStroneRoom(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_stronestage") ; err != nil {
return nil, err
}
if tables.StroneStage, err = NewGameStroneStage(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_stroneevent") ; err != nil {
return nil, err
}
if tables.StroneEvent, err = NewGameStroneEvent(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_gamesummarytab") ; err != nil {
return nil, err
}
if tables.GameSummaryTab, err = NewGameGameSummaryTab(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_gamesummary") ; err != nil {
return nil, err
}
if tables.GameSummary, err = NewGameGameSummary(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_compositeall") ; err != nil {
return nil, err
}
if tables.CompositeAll, err = NewGameCompositeAll(buf) ; err != nil {
return nil, err
}
return tables, nil
}