Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
d94e4a4460
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,8 @@
|
||||
[
|
||||
{
|
||||
"star": 1,
|
||||
"level": 1,
|
||||
"maxlevel": 10,
|
||||
"starup_hp": 0,
|
||||
"starup_atk": 0,
|
||||
"starup_def": 0,
|
||||
@ -8,6 +10,8 @@
|
||||
},
|
||||
{
|
||||
"star": 2,
|
||||
"level": 10,
|
||||
"maxlevel": 20,
|
||||
"starup_hp": 9.5,
|
||||
"starup_atk": 9.5,
|
||||
"starup_def": 9.5,
|
||||
@ -15,6 +19,8 @@
|
||||
},
|
||||
{
|
||||
"star": 3,
|
||||
"level": 20,
|
||||
"maxlevel": 30,
|
||||
"starup_hp": 19,
|
||||
"starup_atk": 19,
|
||||
"starup_def": 19,
|
||||
@ -22,6 +28,8 @@
|
||||
},
|
||||
{
|
||||
"star": 4,
|
||||
"level": 30,
|
||||
"maxlevel": 40,
|
||||
"starup_hp": 28.5,
|
||||
"starup_atk": 28.5,
|
||||
"starup_def": 28.5,
|
||||
@ -29,6 +37,8 @@
|
||||
},
|
||||
{
|
||||
"star": 5,
|
||||
"level": 40,
|
||||
"maxlevel": 50,
|
||||
"starup_hp": 38,
|
||||
"starup_atk": 38,
|
||||
"starup_def": 38,
|
||||
@ -36,6 +46,8 @@
|
||||
},
|
||||
{
|
||||
"star": 6,
|
||||
"level": 50,
|
||||
"maxlevel": 60,
|
||||
"starup_hp": 47.5,
|
||||
"starup_atk": 47.5,
|
||||
"starup_def": 47.5,
|
||||
|
@ -7,7 +7,7 @@
|
||||
"needherostar": 4,
|
||||
"needheronum": 1,
|
||||
"needrace": [
|
||||
1
|
||||
2
|
||||
],
|
||||
"needracestar": 4,
|
||||
"needracenum": 4,
|
||||
@ -21,7 +21,7 @@
|
||||
"needherostar": 5,
|
||||
"needheronum": 1,
|
||||
"needrace": [
|
||||
1
|
||||
2
|
||||
],
|
||||
"needracestar": 5,
|
||||
"needracenum": 4,
|
||||
@ -73,7 +73,7 @@
|
||||
"needherostar": 5,
|
||||
"needheronum": 1,
|
||||
"needrace": [
|
||||
3
|
||||
2
|
||||
],
|
||||
"needracestar": 5,
|
||||
"needracenum": 4,
|
||||
@ -99,7 +99,7 @@
|
||||
"needherostar": 5,
|
||||
"needheronum": 1,
|
||||
"needrace": [
|
||||
4
|
||||
1
|
||||
],
|
||||
"needracestar": 5,
|
||||
"needracenum": 4,
|
||||
|
@ -494,8 +494,8 @@
|
||||
"var": [
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "11001",
|
||||
"n": 1
|
||||
"t": "35002",
|
||||
"n": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -504,8 +504,8 @@
|
||||
"var": [
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "11003",
|
||||
"n": 2
|
||||
"t": "24003",
|
||||
"n": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -514,8 +514,8 @@
|
||||
"var": [
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "11009",
|
||||
"n": 1
|
||||
"t": "34006",
|
||||
"n": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -524,8 +524,8 @@
|
||||
"var": [
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "11009",
|
||||
"n": 1
|
||||
"t": "44006",
|
||||
"n": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -534,8 +534,18 @@
|
||||
"var": [
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "11009",
|
||||
"n": 1
|
||||
"t": "35001",
|
||||
"n": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "58",
|
||||
"var": [
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "44005",
|
||||
"n": 5
|
||||
}
|
||||
]
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5,9 +5,9 @@
|
||||
"area": 1,
|
||||
"consume": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10002",
|
||||
"n": 1
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -17,9 +17,9 @@
|
||||
"area": 2,
|
||||
"consume": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10002",
|
||||
"n": 1
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -29,9 +29,9 @@
|
||||
"area": 3,
|
||||
"consume": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10002",
|
||||
"n": 1
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -41,9 +41,9 @@
|
||||
"area": 4,
|
||||
"consume": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10002",
|
||||
"n": 1
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -53,9 +53,9 @@
|
||||
"area": 5,
|
||||
"consume": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10002",
|
||||
"n": 1
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -2185,7 +2185,7 @@
|
||||
},
|
||||
{
|
||||
"id": "55007",
|
||||
"preson": "11021",
|
||||
"preson": "55007",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_55007",
|
||||
@ -2205,14 +2205,14 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "55008",
|
||||
"preson": "55008",
|
||||
"id": "63002",
|
||||
"preson": "63002",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_55008",
|
||||
"fight": "ytx_js_63002",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_55008",
|
||||
"portrait": "portrait_63002",
|
||||
"bust": "bust_55008",
|
||||
"postxyz": [
|
||||
0,
|
||||
@ -2224,5 +2224,257 @@
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "63003",
|
||||
"preson": "63003",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_63003",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_63003",
|
||||
"bust": "bust_55009",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "63004",
|
||||
"preson": "63004",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_63004",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_63004",
|
||||
"bust": "bust_55010",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "64003",
|
||||
"preson": "64003",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_64003",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_64003",
|
||||
"bust": "bust_55011",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "74002",
|
||||
"preson": "74002",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_74002",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_74002",
|
||||
"bust": "bust_55012",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "74003",
|
||||
"preson": "74003",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_74003",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_74003",
|
||||
"bust": "bust_55013",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "74004",
|
||||
"preson": "74004",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_74004",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_74004",
|
||||
"bust": "bust_55014",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "83002",
|
||||
"preson": "83002",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_83002",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_83002",
|
||||
"bust": "bust_55015",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "83006",
|
||||
"preson": "83006",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_83006",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_83006",
|
||||
"bust": "bust_55016",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "84002",
|
||||
"preson": "84002",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_84002",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_84002",
|
||||
"bust": "bust_55017",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "94002",
|
||||
"preson": "94002",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_94002",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_94002",
|
||||
"bust": "bust_55018",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "94005",
|
||||
"preson": "94005",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_94005",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_94005",
|
||||
"bust": "bust_55019",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "64007",
|
||||
"preson": "64007",
|
||||
"presonshow": "",
|
||||
"ico": "tx_hhjs_35002",
|
||||
"fight": "ytx_js_64007",
|
||||
"img": "sbkp_js_35002",
|
||||
"heroimg": "hbkp_js_35002",
|
||||
"portrait": "portrait_64007",
|
||||
"bust": "bust_55020",
|
||||
"postxyz": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"rotation": {
|
||||
"x": 0,
|
||||
"y": 180,
|
||||
"z": 0
|
||||
}
|
||||
}
|
||||
]
|
@ -197,7 +197,39 @@
|
||||
"key": "num_1007",
|
||||
"text": "维京远征"
|
||||
},
|
||||
"main": "{\"lv\": 999}",
|
||||
"main": "{\"lv\": 9}",
|
||||
"optional": "",
|
||||
"wkqbx": 0,
|
||||
"kqbx": 0,
|
||||
"img": "",
|
||||
"prompt": {
|
||||
"key": "opencond_prompt_10002",
|
||||
"text": "暂不开启,敬请期待"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "vikingexpedition2",
|
||||
"name": {
|
||||
"key": "num_1007",
|
||||
"text": "维京远征"
|
||||
},
|
||||
"main": "{\"lv\": 10}",
|
||||
"optional": "",
|
||||
"wkqbx": 0,
|
||||
"kqbx": 0,
|
||||
"img": "",
|
||||
"prompt": {
|
||||
"key": "opencond_prompt_10002",
|
||||
"text": "暂不开启,敬请期待"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "vikingexpedition3",
|
||||
"name": {
|
||||
"key": "num_1007",
|
||||
"text": "维京远征"
|
||||
},
|
||||
"main": "{\"lv\": 11}",
|
||||
"optional": "",
|
||||
"wkqbx": 0,
|
||||
"kqbx": 0,
|
||||
|
@ -7,29 +7,9 @@
|
||||
"condition": [
|
||||
101
|
||||
],
|
||||
"CD": 0,
|
||||
"objType": 1,
|
||||
"point": "model_01",
|
||||
"storyBegin": 4,
|
||||
"storyEnd": 0,
|
||||
"chooseId": [
|
||||
10001,
|
||||
10002,
|
||||
10003
|
||||
],
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
}
|
||||
],
|
||||
"nextTid": 100101
|
||||
"sidequest": [
|
||||
1001
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 100101,
|
||||
@ -39,28 +19,9 @@
|
||||
"condition": [
|
||||
101
|
||||
],
|
||||
"CD": 0,
|
||||
"objType": 2,
|
||||
"point": "icon_01",
|
||||
"storyBegin": 6,
|
||||
"storyEnd": 9,
|
||||
"chooseId": [
|
||||
20001,
|
||||
20002
|
||||
],
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
}
|
||||
],
|
||||
"nextTid": 100102
|
||||
"sidequest": [
|
||||
1002
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 100102,
|
||||
@ -71,24 +32,8 @@
|
||||
101,
|
||||
107
|
||||
],
|
||||
"CD": 0,
|
||||
"objType": 1,
|
||||
"point": "model_02",
|
||||
"storyBegin": 7,
|
||||
"storyEnd": 0,
|
||||
"chooseId": [],
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
}
|
||||
],
|
||||
"nextTid": 0
|
||||
"sidequest": [
|
||||
1003
|
||||
]
|
||||
}
|
||||
]
|
@ -5,8 +5,7 @@
|
||||
"preTid": 0,
|
||||
"needItem": [
|
||||
0
|
||||
],
|
||||
"endTid": 0
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 10002,
|
||||
@ -14,8 +13,7 @@
|
||||
"preTid": 107,
|
||||
"needItem": [
|
||||
0
|
||||
],
|
||||
"endTid": 0
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 10003,
|
||||
@ -23,8 +21,7 @@
|
||||
"preTid": 0,
|
||||
"needItem": [
|
||||
0
|
||||
],
|
||||
"endTid": 0
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 20001,
|
||||
@ -32,8 +29,7 @@
|
||||
"preTid": 0,
|
||||
"needItem": [
|
||||
0
|
||||
],
|
||||
"endTid": 105
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 20002,
|
||||
@ -41,7 +37,6 @@
|
||||
"preTid": 0,
|
||||
"needItem": [
|
||||
0
|
||||
],
|
||||
"endTid": 0
|
||||
]
|
||||
}
|
||||
]
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"id": 101,
|
||||
"type": 1,
|
||||
"data1": 90001,
|
||||
"data1": 25001,
|
||||
"data2": 0,
|
||||
"data3": 0
|
||||
},
|
||||
@ -23,7 +23,7 @@
|
||||
{
|
||||
"id": 104,
|
||||
"type": 4,
|
||||
"data1": 90001,
|
||||
"data1": 25001,
|
||||
"data2": 20,
|
||||
"data3": 0
|
||||
},
|
||||
@ -37,7 +37,7 @@
|
||||
{
|
||||
"id": 106,
|
||||
"type": 5,
|
||||
"data1": 90001,
|
||||
"data1": 25001,
|
||||
"data2": 2,
|
||||
"data3": 0
|
||||
},
|
||||
@ -51,7 +51,7 @@
|
||||
{
|
||||
"id": 108,
|
||||
"type": 6,
|
||||
"data1": 90001,
|
||||
"data1": 25001,
|
||||
"data2": 5,
|
||||
"data3": 0
|
||||
}
|
||||
|
78
bin/json/game_rdtaskside.json
Normal file
78
bin/json/game_rdtaskside.json
Normal file
@ -0,0 +1,78 @@
|
||||
[
|
||||
{
|
||||
"id": 1001,
|
||||
"objType": 1,
|
||||
"point": "model_01",
|
||||
"storyBegin": 4,
|
||||
"storyEnd": 0,
|
||||
"chooseId": [
|
||||
10001,
|
||||
10002,
|
||||
10003
|
||||
],
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
}
|
||||
],
|
||||
"CD": 0,
|
||||
"nextTid": 100101,
|
||||
"endTid": -1
|
||||
},
|
||||
{
|
||||
"id": 1002,
|
||||
"objType": 2,
|
||||
"point": "icon_01",
|
||||
"storyBegin": 6,
|
||||
"storyEnd": 9,
|
||||
"chooseId": [
|
||||
20001,
|
||||
20002
|
||||
],
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
}
|
||||
],
|
||||
"CD": 0,
|
||||
"nextTid": 100102,
|
||||
"endTid": 105
|
||||
},
|
||||
{
|
||||
"id": 1003,
|
||||
"objType": 1,
|
||||
"point": "model_02",
|
||||
"storyBegin": 7,
|
||||
"storyEnd": 0,
|
||||
"chooseId": [],
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
}
|
||||
],
|
||||
"CD": 0,
|
||||
"nextTid": 0,
|
||||
"endTid": -1
|
||||
}
|
||||
]
|
@ -1101,7 +1101,7 @@
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 925001211,
|
||||
"Id": 925001411,
|
||||
"Name": {
|
||||
"key": "skillname_925001211",
|
||||
"text": "阿宝2技能"
|
||||
@ -1152,5 +1152,522 @@
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 144005011,
|
||||
"Name": {
|
||||
"key": "skillname_144005011",
|
||||
"text": "小伊队长技"
|
||||
},
|
||||
"ico": "jn_dzj_01",
|
||||
"act": "",
|
||||
"Type": 3,
|
||||
"MaxLV": 1,
|
||||
"CD": [
|
||||
-1
|
||||
],
|
||||
"Target": 1,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
244005011
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 144005111,
|
||||
"Name": {
|
||||
"key": "skillname_144005111",
|
||||
"text": "小伊1技能"
|
||||
},
|
||||
"ico": "jn_icon_001",
|
||||
"act": "Skill_1",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
244005111
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005121
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005131
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005141
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005151
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 144005211,
|
||||
"Name": {
|
||||
"key": "skillname_144005211",
|
||||
"text": "小伊2技能"
|
||||
},
|
||||
"ico": "jn_icon_002",
|
||||
"act": "Skill_2",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
3
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
244005211
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005221
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005231
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005241
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005251
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 144005311,
|
||||
"Name": {
|
||||
"key": "skillname_144005311",
|
||||
"text": "小伊3技能"
|
||||
},
|
||||
"ico": "jn_icon_003",
|
||||
"act": "Skill_3",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
5,
|
||||
5,
|
||||
5,
|
||||
5,
|
||||
4
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
244005311,
|
||||
244005312,
|
||||
244005313
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005321,
|
||||
244005322,
|
||||
244005313
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005331,
|
||||
244005332,
|
||||
244005313
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005341,
|
||||
244005342,
|
||||
244005313
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005341,
|
||||
244005342,
|
||||
244005313
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 944005411,
|
||||
"Name": {
|
||||
"key": "skillname_944005411",
|
||||
"text": "小伊3技能"
|
||||
},
|
||||
"ico": "jn_icon_003",
|
||||
"act": "Skill_3",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
5,
|
||||
5,
|
||||
5,
|
||||
5,
|
||||
4
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
244005311,
|
||||
244005312,
|
||||
244005313,
|
||||
944005311
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005321,
|
||||
244005322,
|
||||
244005313,
|
||||
944005311
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005331,
|
||||
244005332,
|
||||
244005313,
|
||||
944005311
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005341,
|
||||
244005342,
|
||||
244005313,
|
||||
944005311
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005341,
|
||||
244005342,
|
||||
244005313,
|
||||
944005311
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 135001011,
|
||||
"Name": {
|
||||
"key": "skillname_135001011",
|
||||
"text": "师傅队长技"
|
||||
},
|
||||
"ico": "jn_dzj_01",
|
||||
"act": "",
|
||||
"Type": 3,
|
||||
"MaxLV": 1,
|
||||
"CD": [
|
||||
-1
|
||||
],
|
||||
"Target": 1,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
235001011
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 135001111,
|
||||
"Name": {
|
||||
"key": "skillname_135001111",
|
||||
"text": "师傅1技能"
|
||||
},
|
||||
"ico": "jn_icon_001",
|
||||
"act": "Skill_1",
|
||||
"Type": 1,
|
||||
"MaxLV": 6,
|
||||
"CD": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001112,
|
||||
235001113,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001122,
|
||||
235001123,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001132,
|
||||
235001133,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001142,
|
||||
235001143,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001152,
|
||||
235001153,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001152,
|
||||
235001153,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 135001211,
|
||||
"Name": {
|
||||
"key": "skillname_135001211",
|
||||
"text": "师傅2技能"
|
||||
},
|
||||
"ico": "jn_icon_002",
|
||||
"act": "Skill_2",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
2
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
235001211,
|
||||
235001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001221,
|
||||
235001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001231,
|
||||
235001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001241,
|
||||
235001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001251,
|
||||
235001212
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 135001311,
|
||||
"Name": {
|
||||
"key": "skillname_135001311",
|
||||
"text": "师傅3技能"
|
||||
},
|
||||
"ico": "jn_icon_003",
|
||||
"act": "Skill_3",
|
||||
"Type": 1,
|
||||
"MaxLV": 4,
|
||||
"CD": [
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
3
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
235001311,
|
||||
235001312,
|
||||
235001313,
|
||||
235001314
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001311,
|
||||
235001312,
|
||||
235001313,
|
||||
235001324
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001311,
|
||||
235001312,
|
||||
235001313,
|
||||
235001334
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001311,
|
||||
235001312,
|
||||
235001313,
|
||||
235001344
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 935001411,
|
||||
"Name": {
|
||||
"key": "skillname_935001411",
|
||||
"text": "师傅2技能"
|
||||
},
|
||||
"ico": "jn_icon_002",
|
||||
"act": "Skill_2",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
2
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
235001211,
|
||||
235001212,
|
||||
935001211,
|
||||
935001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001221,
|
||||
235001212,
|
||||
935001211,
|
||||
935001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001231,
|
||||
235001212,
|
||||
935001211,
|
||||
935001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001241,
|
||||
235001212,
|
||||
935001211,
|
||||
935001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001251,
|
||||
235001212
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
}
|
||||
]
|
File diff suppressed because it is too large
Load Diff
@ -1101,7 +1101,7 @@
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 925001211,
|
||||
"Id": 925001411,
|
||||
"Name": {
|
||||
"key": "skillname_925001211",
|
||||
"text": "阿宝2技能"
|
||||
@ -1152,5 +1152,522 @@
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 144005011,
|
||||
"Name": {
|
||||
"key": "skillname_144005011",
|
||||
"text": "小伊队长技"
|
||||
},
|
||||
"ico": "jn_dzj_01",
|
||||
"act": "",
|
||||
"Type": 3,
|
||||
"MaxLV": 1,
|
||||
"CD": [
|
||||
-1
|
||||
],
|
||||
"Target": 1,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
244005011
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 144005111,
|
||||
"Name": {
|
||||
"key": "skillname_144005111",
|
||||
"text": "小伊1技能"
|
||||
},
|
||||
"ico": "jn_icon_001",
|
||||
"act": "Skill_1",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
244005111
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005121
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005131
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005141
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005151
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 144005211,
|
||||
"Name": {
|
||||
"key": "skillname_144005211",
|
||||
"text": "小伊2技能"
|
||||
},
|
||||
"ico": "jn_icon_002",
|
||||
"act": "Skill_2",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
3
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
244005211
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005221
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005231
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005241
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005251
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 144005311,
|
||||
"Name": {
|
||||
"key": "skillname_144005311",
|
||||
"text": "小伊3技能"
|
||||
},
|
||||
"ico": "jn_icon_003",
|
||||
"act": "Skill_3",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
5,
|
||||
5,
|
||||
5,
|
||||
5,
|
||||
4
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
244005311,
|
||||
244005312,
|
||||
244005313
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005321,
|
||||
244005322,
|
||||
244005313
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005331,
|
||||
244005332,
|
||||
244005313
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005341,
|
||||
244005342,
|
||||
244005313
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005341,
|
||||
244005342,
|
||||
244005313
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 944005411,
|
||||
"Name": {
|
||||
"key": "skillname_944005411",
|
||||
"text": "小伊3技能"
|
||||
},
|
||||
"ico": "jn_icon_003",
|
||||
"act": "Skill_3",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
5,
|
||||
5,
|
||||
5,
|
||||
5,
|
||||
4
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
244005311,
|
||||
244005312,
|
||||
244005313,
|
||||
944005311
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005321,
|
||||
244005322,
|
||||
244005313,
|
||||
944005311
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005331,
|
||||
244005332,
|
||||
244005313,
|
||||
944005311
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005341,
|
||||
244005342,
|
||||
244005313,
|
||||
944005311
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
244005341,
|
||||
244005342,
|
||||
244005313,
|
||||
944005311
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 135001011,
|
||||
"Name": {
|
||||
"key": "skillname_135001011",
|
||||
"text": "师傅队长技"
|
||||
},
|
||||
"ico": "jn_dzj_01",
|
||||
"act": "",
|
||||
"Type": 3,
|
||||
"MaxLV": 1,
|
||||
"CD": [
|
||||
-1
|
||||
],
|
||||
"Target": 1,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
235001011
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 135001111,
|
||||
"Name": {
|
||||
"key": "skillname_135001111",
|
||||
"text": "师傅1技能"
|
||||
},
|
||||
"ico": "jn_icon_001",
|
||||
"act": "Skill_1",
|
||||
"Type": 1,
|
||||
"MaxLV": 6,
|
||||
"CD": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001112,
|
||||
235001113,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001122,
|
||||
235001123,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001132,
|
||||
235001133,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001142,
|
||||
235001143,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001152,
|
||||
235001153,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001111,
|
||||
235001152,
|
||||
235001153,
|
||||
235001114,
|
||||
235001115,
|
||||
235001116
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 135001211,
|
||||
"Name": {
|
||||
"key": "skillname_135001211",
|
||||
"text": "师傅2技能"
|
||||
},
|
||||
"ico": "jn_icon_002",
|
||||
"act": "Skill_2",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
2
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
235001211,
|
||||
235001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001221,
|
||||
235001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001231,
|
||||
235001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001241,
|
||||
235001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001251,
|
||||
235001212
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 135001311,
|
||||
"Name": {
|
||||
"key": "skillname_135001311",
|
||||
"text": "师傅3技能"
|
||||
},
|
||||
"ico": "jn_icon_003",
|
||||
"act": "Skill_3",
|
||||
"Type": 1,
|
||||
"MaxLV": 4,
|
||||
"CD": [
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
3
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
235001311,
|
||||
235001312,
|
||||
235001313,
|
||||
235001314
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001311,
|
||||
235001312,
|
||||
235001313,
|
||||
235001324
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001311,
|
||||
235001312,
|
||||
235001313,
|
||||
235001334
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001311,
|
||||
235001312,
|
||||
235001313,
|
||||
235001344
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
},
|
||||
{
|
||||
"Id": 935001411,
|
||||
"Name": {
|
||||
"key": "skillname_935001411",
|
||||
"text": "师傅2技能"
|
||||
},
|
||||
"ico": "jn_icon_002",
|
||||
"act": "Skill_2",
|
||||
"Type": 1,
|
||||
"MaxLV": 5,
|
||||
"CD": [
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
2
|
||||
],
|
||||
"Target": 2,
|
||||
"ChildSkill": [
|
||||
{
|
||||
"Id": [
|
||||
235001211,
|
||||
235001212,
|
||||
935001211,
|
||||
935001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001221,
|
||||
235001212,
|
||||
935001211,
|
||||
935001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001231,
|
||||
235001212,
|
||||
935001211,
|
||||
935001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001241,
|
||||
235001212,
|
||||
935001211,
|
||||
935001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": [
|
||||
235001251,
|
||||
235001212
|
||||
]
|
||||
}
|
||||
],
|
||||
"Desc": [],
|
||||
"buffid": []
|
||||
}
|
||||
]
|
@ -259,6 +259,32 @@
|
||||
"buffeffect": "",
|
||||
"buffpos": ""
|
||||
},
|
||||
{
|
||||
"Id": 390001011,
|
||||
"Name": {
|
||||
"key": "skill_buff_390001011",
|
||||
"text": "伤害提升"
|
||||
},
|
||||
"Desc": {
|
||||
"key": "skill_buffdes_390001011",
|
||||
"text": "造成伤害提升10%"
|
||||
},
|
||||
"BuffType": 30,
|
||||
"EffectArgu": [
|
||||
100
|
||||
],
|
||||
"BufParNum": 1,
|
||||
"RelyCheckArgu": [],
|
||||
"CoexistCheckArgu": [],
|
||||
"Effect": 0,
|
||||
"AddEffect": false,
|
||||
"RemoveType": true,
|
||||
"OverlayTimes": 3,
|
||||
"SameID": false,
|
||||
"buffIcon": "",
|
||||
"buffeffect": "",
|
||||
"buffpos": ""
|
||||
},
|
||||
{
|
||||
"Id": 390001101,
|
||||
"Name": {
|
||||
@ -701,6 +727,134 @@
|
||||
"buffeffect": "",
|
||||
"buffpos": ""
|
||||
},
|
||||
{
|
||||
"Id": 390001119,
|
||||
"Name": {
|
||||
"key": "skill_buff_390001119",
|
||||
"text": "炎"
|
||||
},
|
||||
"Desc": {
|
||||
"key": "skill_buffdes_390001119",
|
||||
"text": "(无法驱散类状态)造成伤害时为目标附加2回合【禁疗】"
|
||||
},
|
||||
"BuffType": 0,
|
||||
"EffectArgu": [],
|
||||
"BufParNum": 1,
|
||||
"RelyCheckArgu": [],
|
||||
"CoexistCheckArgu": [],
|
||||
"Effect": 4,
|
||||
"AddEffect": false,
|
||||
"RemoveType": false,
|
||||
"OverlayTimes": 1,
|
||||
"SameID": false,
|
||||
"buffIcon": "",
|
||||
"buffeffect": "",
|
||||
"buffpos": ""
|
||||
},
|
||||
{
|
||||
"Id": 390001120,
|
||||
"Name": {
|
||||
"key": "skill_buff_390001120",
|
||||
"text": "死"
|
||||
},
|
||||
"Desc": {
|
||||
"key": "skill_buffdes_390001120",
|
||||
"text": "(无法驱散类状态)造成伤害时附带效果附加伤害,伤害为目标最大生命值5%,不超过自身攻击力50%"
|
||||
},
|
||||
"BuffType": 0,
|
||||
"EffectArgu": [],
|
||||
"BufParNum": 1,
|
||||
"RelyCheckArgu": [],
|
||||
"CoexistCheckArgu": [],
|
||||
"Effect": 4,
|
||||
"AddEffect": false,
|
||||
"RemoveType": false,
|
||||
"OverlayTimes": 1,
|
||||
"SameID": false,
|
||||
"buffIcon": "",
|
||||
"buffeffect": "",
|
||||
"buffpos": ""
|
||||
},
|
||||
{
|
||||
"Id": 390001121,
|
||||
"Name": {
|
||||
"key": "skill_buff_390001121",
|
||||
"text": "缚"
|
||||
},
|
||||
"Desc": {
|
||||
"key": "skill_buffdes_390001121",
|
||||
"text": "(无法驱散类状态)造成伤害时有40%概率为目标附加2回合【防御下降】"
|
||||
},
|
||||
"BuffType": 0,
|
||||
"EffectArgu": [],
|
||||
"BufParNum": 1,
|
||||
"RelyCheckArgu": [],
|
||||
"CoexistCheckArgu": [],
|
||||
"Effect": 4,
|
||||
"AddEffect": false,
|
||||
"RemoveType": false,
|
||||
"OverlayTimes": 1,
|
||||
"SameID": false,
|
||||
"buffIcon": "",
|
||||
"buffeffect": "",
|
||||
"buffpos": ""
|
||||
},
|
||||
{
|
||||
"Id": 390001122,
|
||||
"Name": {
|
||||
"key": "skill_buff_390001122",
|
||||
"text": "护盾"
|
||||
},
|
||||
"Desc": {
|
||||
"key": "skill_buffdes_390001122",
|
||||
"text": "护盾量为最大生命值10%"
|
||||
},
|
||||
"BuffType": 21,
|
||||
"EffectArgu": [
|
||||
1,
|
||||
1,
|
||||
100
|
||||
],
|
||||
"BufParNum": 1,
|
||||
"RelyCheckArgu": [],
|
||||
"CoexistCheckArgu": [],
|
||||
"Effect": 0,
|
||||
"AddEffect": false,
|
||||
"RemoveType": true,
|
||||
"OverlayTimes": 1,
|
||||
"SameID": false,
|
||||
"buffIcon": "",
|
||||
"buffeffect": "",
|
||||
"buffpos": ""
|
||||
},
|
||||
{
|
||||
"Id": 390001123,
|
||||
"Name": {
|
||||
"key": "skill_buff_390001123",
|
||||
"text": "护盾"
|
||||
},
|
||||
"Desc": {
|
||||
"key": "skill_buffdes_390001123",
|
||||
"text": "护盾量为最大生命值5%"
|
||||
},
|
||||
"BuffType": 21,
|
||||
"EffectArgu": [
|
||||
1,
|
||||
1,
|
||||
50
|
||||
],
|
||||
"BufParNum": 1,
|
||||
"RelyCheckArgu": [],
|
||||
"CoexistCheckArgu": [],
|
||||
"Effect": 0,
|
||||
"AddEffect": false,
|
||||
"RemoveType": true,
|
||||
"OverlayTimes": 3,
|
||||
"SameID": false,
|
||||
"buffIcon": "",
|
||||
"buffeffect": "",
|
||||
"buffpos": ""
|
||||
},
|
||||
{
|
||||
"Id": 390001201,
|
||||
"Name": {
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"Id": 490067001,
|
||||
"When": "RouFro",
|
||||
"Where": "Target=3",
|
||||
"Where": "3",
|
||||
"AddCon": [],
|
||||
"PasPr": 1000,
|
||||
"Type": "CallSkillPas",
|
||||
@ -14,7 +14,7 @@
|
||||
{
|
||||
"Id": 490068001,
|
||||
"When": "RouFro",
|
||||
"Where": "Target=3",
|
||||
"Where": "3",
|
||||
"AddCon": [
|
||||
"hpproless=500"
|
||||
],
|
||||
@ -263,5 +263,37 @@
|
||||
"Callback": [
|
||||
125001212
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 444005311,
|
||||
"When": "RemoveBuffEnd",
|
||||
"Where": "2",
|
||||
"AddCon": [
|
||||
"EffType=0",
|
||||
"Result=1"
|
||||
],
|
||||
"PasPr": 1000,
|
||||
"Type": "CallSkillPas",
|
||||
"MaxEmitTimes": 10,
|
||||
"Callback": [
|
||||
244005314
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 435001211,
|
||||
"When": "RemoveBuffEnd",
|
||||
"Where": "3",
|
||||
"AddCon": [
|
||||
"EffType=4",
|
||||
"Result=1"
|
||||
],
|
||||
"PasPr": 1000,
|
||||
"Type": "CallSkillPas",
|
||||
"MaxEmitTimes": 10,
|
||||
"Callback": [
|
||||
935001213,
|
||||
935001214,
|
||||
935001215
|
||||
]
|
||||
}
|
||||
]
|
2267
bin/json/game_vikingboss.json
Normal file
2267
bin/json/game_vikingboss.json
Normal file
File diff suppressed because it is too large
Load Diff
102
bin/json/game_vikingchallenge.json
Normal file
102
bin/json/game_vikingchallenge.json
Normal file
@ -0,0 +1,102 @@
|
||||
[
|
||||
{
|
||||
"buynum": 1,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"buynum": 2,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"buynum": 3,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 30
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"buynum": 4,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 40
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"buynum": 5,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"buynum": 6,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 60
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"buynum": 7,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 70
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"buynum": 8,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 80
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"buynum": 9,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 90
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"buynum": 10,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 100
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
@ -2,6 +2,8 @@ package model
|
||||
|
||||
type SSHModel struct {
|
||||
Ip string
|
||||
Port string
|
||||
UserName string
|
||||
Password string
|
||||
CmdLast string
|
||||
}
|
||||
|
@ -19,6 +19,8 @@ type DbService interface {
|
||||
GetLubanConf(key string) *model.GenTool
|
||||
// 保存SSH连接信息
|
||||
SaveSSHConf(conf *model.SSHModel) error
|
||||
//获取终端配置
|
||||
GetSSHConf(key string) *model.SSHModel
|
||||
}
|
||||
|
||||
type DbServiceImpl struct {
|
||||
@ -55,37 +57,30 @@ func (this *DbServiceImpl) save(key string, model interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (this *DbServiceImpl) get(key string, model interface{}) (b *bolt.Bucket, err error) {
|
||||
boltDb = GetBoltDb()
|
||||
if err = boltDb.View(func(tx *bolt.Tx) error {
|
||||
b = tx.Bucket([]byte(common.BOLTDB_BUCKETNAME))
|
||||
if b == nil {
|
||||
return fmt.Errorf("Bucket %s not found!", common.BOLTDB_BUCKETNAME)
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
logrus.Errorf("get db conf err: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
return b, nil
|
||||
}
|
||||
|
||||
func (this *DbServiceImpl) SaveLubanConf(conf *model.GenTool) error {
|
||||
return this.save(common.BUCKET_LUBANCONF, conf)
|
||||
}
|
||||
|
||||
func (this *DbServiceImpl) GetLubanConf(key string) *model.GenTool {
|
||||
boltDb = GetBoltDb()
|
||||
defer boltDb.Close()
|
||||
model := &model.GenTool{}
|
||||
if b, err := this.get(key, model); err != nil {
|
||||
return nil
|
||||
} else {
|
||||
if err = boltDb.View(func(tx *bolt.Tx) error {
|
||||
b := tx.Bucket([]byte(common.BOLTDB_BUCKETNAME))
|
||||
if b == nil {
|
||||
return fmt.Errorf("Bucket %s not found!", common.BOLTDB_BUCKETNAME)
|
||||
}
|
||||
val := b.Get([]byte(key))
|
||||
if err = json.Unmarshal(val, model); err != nil {
|
||||
logrus.Errorf("get gen conf err:%v", err)
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
logrus.Errorf("get db conf err: %v", err)
|
||||
return nil
|
||||
}
|
||||
|
||||
return model
|
||||
}
|
||||
|
||||
@ -94,17 +89,25 @@ func (this *DbServiceImpl) SaveSSHConf(conf *model.SSHModel) error {
|
||||
}
|
||||
|
||||
func (this *DbServiceImpl) GetSSHConf(key string) *model.SSHModel {
|
||||
boltDb = GetBoltDb()
|
||||
defer boltDb.Close()
|
||||
model := &model.SSHModel{}
|
||||
if b, err := this.get(key, model); err != nil {
|
||||
return nil
|
||||
} else {
|
||||
if err = boltDb.View(func(tx *bolt.Tx) error {
|
||||
b := tx.Bucket([]byte(common.BOLTDB_BUCKETNAME))
|
||||
if b == nil {
|
||||
return fmt.Errorf("Bucket %s not found!", common.BOLTDB_BUCKETNAME)
|
||||
}
|
||||
val := b.Get([]byte(key))
|
||||
if err = json.Unmarshal(val, model); err != nil {
|
||||
logrus.Errorf("get gen conf err:%v", err)
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
logrus.Errorf("get db conf err: %v", err)
|
||||
return nil
|
||||
}
|
||||
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -2,28 +2,29 @@ package service
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/sftp"
|
||||
"github.com/sirupsen/logrus"
|
||||
"golang.org/x/crypto/ssh"
|
||||
)
|
||||
|
||||
type SSHService struct {
|
||||
Client *ssh.Client
|
||||
LastResult string
|
||||
}
|
||||
|
||||
func NewSSHService() *SSHService {
|
||||
return &SSHService{}
|
||||
}
|
||||
|
||||
func (ss *SSHService) Connect(user, password, host, key string, port int, cipherList []string) (*ssh.Session, error) {
|
||||
func (ss *SSHService) Connect(user, password, host, key string, port int, cipherList []string) error {
|
||||
var (
|
||||
auth []ssh.AuthMethod //认证方式
|
||||
addr string
|
||||
clientConfig *ssh.ClientConfig
|
||||
client *ssh.Client
|
||||
config ssh.Config
|
||||
session *ssh.Session
|
||||
err error
|
||||
)
|
||||
auth = make([]ssh.AuthMethod, 0)
|
||||
@ -34,7 +35,7 @@ func (ss *SSHService) Connect(user, password, host, key string, port int, cipher
|
||||
// 秘钥认证
|
||||
pemBytes, err := ioutil.ReadFile(key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
|
||||
var signer ssh.Signer
|
||||
@ -45,7 +46,7 @@ func (ss *SSHService) Connect(user, password, host, key string, port int, cipher
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
// 加载秘钥
|
||||
auth = append(auth, ssh.PublicKeys(signer))
|
||||
@ -75,14 +76,22 @@ func (ss *SSHService) Connect(user, password, host, key string, port int, cipher
|
||||
}
|
||||
addr = fmt.Sprintf("%s:%d", host, port)
|
||||
|
||||
if client, err = ssh.Dial("tcp", addr, clientConfig); err != nil {
|
||||
return nil, err
|
||||
if ss.Client, err = ssh.Dial("tcp", addr, clientConfig); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
if session, err = client.NewSession(); err != nil {
|
||||
return nil, err
|
||||
func (ss *SSHService) RunShell(shell string) {
|
||||
var (
|
||||
session *ssh.Session
|
||||
err error
|
||||
)
|
||||
|
||||
//获取session,这个session是用来远程执行操作的
|
||||
if session, err = ss.Client.NewSession(); err != nil {
|
||||
log.Fatalln("error occurred:", err)
|
||||
}
|
||||
|
||||
// 使用 session.Shell() 模拟终端时,所建立的终端参数
|
||||
modes := ssh.TerminalModes{
|
||||
ssh.ECHO: 0, //disable echoing
|
||||
@ -91,8 +100,37 @@ func (ss *SSHService) Connect(user, password, host, key string, port int, cipher
|
||||
}
|
||||
|
||||
if err := session.RequestPty("xterm", 80, 40, modes); err != nil {
|
||||
return nil, err
|
||||
logrus.Error(err)
|
||||
}
|
||||
|
||||
//执行shell
|
||||
if output, err := session.CombinedOutput(shell); err != nil {
|
||||
log.Fatalln("error occurred:", err)
|
||||
} else {
|
||||
ss.LastResult = string(output)
|
||||
}
|
||||
|
||||
return session, nil
|
||||
}
|
||||
|
||||
func (ss *SSHService) Scp(srcFileName, targetFileName string) (int64, error) {
|
||||
sftpClient, err := sftp.NewClient(ss.Client)
|
||||
if err != nil {
|
||||
return 0, fmt.Errorf("new sftp client error: %w", err)
|
||||
}
|
||||
defer sftpClient.Close()
|
||||
source, err := sftpClient.Open(srcFileName)
|
||||
if err != nil {
|
||||
return 0, fmt.Errorf("sftp client open src file error: %w", err)
|
||||
}
|
||||
defer source.Close()
|
||||
target, err := os.OpenFile(targetFileName, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
|
||||
if err != nil {
|
||||
return 0, fmt.Errorf("open local file error: %w", err)
|
||||
}
|
||||
defer target.Close()
|
||||
n, err := io.Copy(target, source)
|
||||
if err != nil {
|
||||
return 0, fmt.Errorf("copy file error: %w", err)
|
||||
}
|
||||
return n, nil
|
||||
}
|
||||
|
@ -1,8 +1,7 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"strings"
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@ -15,39 +14,34 @@ const (
|
||||
cmds = "cd /home/liwei/go_dreamfactory&&git pull&&exit" //exit结尾,否则程序不会退出
|
||||
)
|
||||
|
||||
func TestSSHConnect(t *testing.T) {
|
||||
func TestRunShell(t *testing.T) {
|
||||
ciphers := []string{}
|
||||
ssh := &SSHService{}
|
||||
|
||||
session, err := ssh.Connect(username, password, ip, "", port, ciphers)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer session.Close()
|
||||
|
||||
cmdlist := strings.Split(cmds, "&&")
|
||||
stdinBuf, err := session.StdinPipe()
|
||||
err := ssh.Connect(username, password, ip, "", port, ciphers)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
var stdoutBuf, errBuf bytes.Buffer
|
||||
session.Stdout = &stdoutBuf
|
||||
session.Stderr = &errBuf
|
||||
// ssh.RunShell("cd /opt")
|
||||
ssh.RunShell(cmds)
|
||||
|
||||
}
|
||||
|
||||
func TestScp(t *testing.T) {
|
||||
ciphers := []string{}
|
||||
ssh := &SSHService{}
|
||||
|
||||
err := ssh.Connect(username, password, ip, "", port, ciphers)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if n, err := ssh.Scp("E:\\svn\\dreamworks\\client\\dreamworks\\ExcelFile\\check.bat",
|
||||
"/opt"); err != nil {
|
||||
fmt.Println(err)
|
||||
} else {
|
||||
fmt.Println(n)
|
||||
}
|
||||
|
||||
if err := session.Shell(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
for _, c := range cmdlist {
|
||||
c = c + "\n"
|
||||
stdinBuf.Write([]byte(c))
|
||||
}
|
||||
|
||||
session.Wait()
|
||||
t.Logf(stdoutBuf.String() + errBuf.String())
|
||||
// if err := session.Run(cmd); err != nil {
|
||||
// t.Logf("run err: %v", err)
|
||||
// }
|
||||
// t.Logf("res: %v", session.Stdout)
|
||||
}
|
||||
|
@ -55,11 +55,13 @@ func (a *appTester) LazyInit(obs observer.Observer) error {
|
||||
return
|
||||
}
|
||||
msg := data.(*pb.UserMessage)
|
||||
if t.MainType == msg.MainType && t.SubType == msg.SubType {
|
||||
if t.Print != nil {
|
||||
resLog.SetText(t.Print(msg))
|
||||
} else {
|
||||
resLog.SetText(msg.Data.String())
|
||||
}
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -119,7 +119,7 @@ func (this *appGen) LazyInit(obs observer.Observer) error {
|
||||
}); err != nil {
|
||||
logrus.WithField("err", err).Debug("保存配置")
|
||||
}
|
||||
logrus.Debug("save gen conf")
|
||||
logrus.Debug("save luban conf")
|
||||
})
|
||||
|
||||
genBtn := &widget.Button{Text: "生成", Icon: theme.ConfirmIcon()}
|
||||
|
@ -1,76 +0,0 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/cmd/v2/service/observer"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"golang.org/x/crypto/ssh"
|
||||
"golang.org/x/crypto/ssh/terminal"
|
||||
)
|
||||
|
||||
type appTerm struct {
|
||||
appAdapter
|
||||
|
||||
obs observer.Observer
|
||||
}
|
||||
|
||||
type termResizer struct {
|
||||
widget.Icon
|
||||
|
||||
term *terminal.Terminal
|
||||
debug bool
|
||||
sess *ssh.Session
|
||||
win fyne.Window
|
||||
}
|
||||
|
||||
func (this *appTerm) LazyInit(obs observer.Observer) error {
|
||||
this.obs = obs
|
||||
|
||||
this.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_TERM, theme.ContentCopyIcon(), nil)
|
||||
content := container.NewMax()
|
||||
content.Objects = []fyne.CanvasObject{}
|
||||
|
||||
//cmd input
|
||||
multiEntry := widget.NewMultiLineEntry()
|
||||
multiEntry.PlaceHolder = "命令输入,使用;分隔"
|
||||
|
||||
//config
|
||||
ip := widget.NewEntry()
|
||||
userName := widget.NewEntry()
|
||||
password := widget.NewPasswordEntry()
|
||||
|
||||
configForm := widget.NewForm(
|
||||
&widget.FormItem{Text: "IP:", Widget: ip},
|
||||
&widget.FormItem{Text: "用户名:", Widget: userName},
|
||||
&widget.FormItem{Text: "密码:", Widget: password},
|
||||
)
|
||||
saveBtn := widget.NewButtonWithIcon("保存配置", theme.DocumentSaveIcon(), func() {
|
||||
|
||||
})
|
||||
connBtn := widget.NewButtonWithIcon("连接", theme.ConfirmIcon(), func() {
|
||||
|
||||
})
|
||||
btns := container.NewGridWithColumns(2, saveBtn, connBtn)
|
||||
|
||||
//term
|
||||
t := &termResizer{win: toolWin.w}
|
||||
t.ExtendBaseWidget(t)
|
||||
|
||||
split := container.NewVSplit(container.NewGridWithColumns(2,
|
||||
multiEntry,
|
||||
container.NewBorder(configForm, btns, widget.NewSeparator(), nil)), t)
|
||||
split.Offset = 0.3
|
||||
content.Objects = append(content.Objects, split)
|
||||
|
||||
this.tabItem.Content = content
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *appTerm) GetAppName() string {
|
||||
return common.TOOLBAR_TERM
|
||||
}
|
160
cmd/v2/ui/tool_term.go
Normal file
160
cmd/v2/ui/tool_term.go
Normal file
@ -0,0 +1,160 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/cmd/v2/model"
|
||||
"go_dreamfactory/cmd/v2/service"
|
||||
"go_dreamfactory/cmd/v2/service/observer"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/dialog"
|
||||
"fyne.io/fyne/v2/layout"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/spf13/cast"
|
||||
)
|
||||
|
||||
type appTerm struct {
|
||||
appAdapter
|
||||
|
||||
obs observer.Observer
|
||||
sshService *service.SSHService
|
||||
}
|
||||
|
||||
func (this *appTerm) LazyInit(obs observer.Observer) error {
|
||||
this.obs = obs
|
||||
this.sshService = &service.SSHService{}
|
||||
|
||||
this.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_TERM, theme.ContentCopyIcon(), nil)
|
||||
content := container.NewMax()
|
||||
content.Objects = []fyne.CanvasObject{}
|
||||
|
||||
//load term conf
|
||||
sshConf := service.GetDbService().GetSSHConf(common.BUCKET_SSHCONF)
|
||||
logrus.Debugf("%v", sshConf)
|
||||
|
||||
//cmd input
|
||||
cmdLast := widget.NewMultiLineEntry()
|
||||
cmdLast.PlaceHolder = "命令输入,使用;分隔"
|
||||
|
||||
// output panel
|
||||
output := widget.NewMultiLineEntry()
|
||||
logrus.Debug(output.CursorRow)
|
||||
|
||||
//config
|
||||
ip := widget.NewEntry()
|
||||
port := widget.NewEntry()
|
||||
port.Text = "22" //default port
|
||||
port.PlaceHolder = "端口"
|
||||
userName := widget.NewEntry()
|
||||
userName.PlaceHolder = "账号"
|
||||
password := widget.NewPasswordEntry()
|
||||
password.PlaceHolder = "密码"
|
||||
|
||||
passwordItem := &widget.FormItem{Text: "密码:", Widget: password}
|
||||
//set input entry
|
||||
if sshConf != nil {
|
||||
ip.Text = sshConf.Ip
|
||||
port.Text = sshConf.Port
|
||||
userName.Text = sshConf.UserName
|
||||
password.Text = sshConf.Password
|
||||
cmdLast.Text = sshConf.CmdLast
|
||||
}
|
||||
|
||||
configForm := widget.NewForm(
|
||||
&widget.FormItem{Text: "IP:", Widget: container.NewBorder(nil, nil, nil, port, ip)},
|
||||
&widget.FormItem{Text: "用户名:", Widget: userName},
|
||||
passwordItem,
|
||||
)
|
||||
// 非明文显示
|
||||
passwordItem.Widget.Refresh()
|
||||
|
||||
// save func
|
||||
saveBtn := widget.NewButtonWithIcon("保存配置", theme.DocumentSaveIcon(), func() {
|
||||
if err := service.GetDbService().SaveSSHConf(&model.SSHModel{
|
||||
Ip: ip.Text,
|
||||
UserName: userName.Text,
|
||||
Password: password.Text,
|
||||
Port: port.Text,
|
||||
CmdLast: cmdLast.Text,
|
||||
}); err != nil {
|
||||
logrus.WithField("err", err).Debug("保存配置")
|
||||
}
|
||||
logrus.Debug("save term conf")
|
||||
})
|
||||
|
||||
// conn func
|
||||
connBtn := &widget.Button{Text: "连接", Icon: theme.ConfirmIcon()}
|
||||
connBtn.OnTapped = func() {
|
||||
ciphers := []string{}
|
||||
if userName.Text == "" {
|
||||
dialog.ShowError(errors.New("账号未填写"), toolWin.w)
|
||||
return
|
||||
}
|
||||
if password.Text == "" {
|
||||
dialog.ShowError(errors.New("密码未填写"), toolWin.w)
|
||||
return
|
||||
}
|
||||
if port.Text == "" {
|
||||
dialog.ShowError(errors.New("端口未填写"), toolWin.w)
|
||||
return
|
||||
}
|
||||
connBtn.Disable()
|
||||
|
||||
err := this.sshService.Connect(userName.Text, password.Text, ip.Text, "", cast.ToInt(port.Text), ciphers)
|
||||
if err != nil {
|
||||
dialog.ShowError(err, toolWin.w)
|
||||
connBtn.Enable()
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
//excute
|
||||
excuteBtn := &widget.Button{Text: "执行", Icon: theme.ConfirmIcon()}
|
||||
excuteBtn.TypedKey(&fyne.KeyEvent{Name: fyne.KeyEnter})
|
||||
excuteBtn.OnTapped = func() {
|
||||
output.Text = ""
|
||||
excuteBtn.Disable()
|
||||
defer func() {
|
||||
excuteBtn.Enable()
|
||||
}()
|
||||
|
||||
if this.sshService.Client == nil {
|
||||
dialog.ShowError(errors.New("请先连接终端"), toolWin.w)
|
||||
return
|
||||
}
|
||||
this.sshService.RunShell(cmdLast.Text)
|
||||
output.SetText(this.sshService.LastResult)
|
||||
|
||||
}
|
||||
|
||||
btns := container.NewHBox(excuteBtn, &layout.Spacer{}, saveBtn, connBtn)
|
||||
|
||||
// layout
|
||||
split := container.NewVSplit(container.NewGridWithColumns(2,
|
||||
cmdLast,
|
||||
container.NewBorder(configForm, btns, widget.NewSeparator(), nil)), output)
|
||||
split.Offset = 0.25
|
||||
content.Objects = append(content.Objects, split)
|
||||
|
||||
this.tabItem.Content = content
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *appTerm) GetAppName() string {
|
||||
return common.TOOLBAR_TERM
|
||||
}
|
||||
|
||||
func (a *appTerm) OnClose() bool {
|
||||
dialog.ShowConfirm("关闭终端", "你希望断开连接吗?", func(b bool) {
|
||||
if !b {
|
||||
return
|
||||
}
|
||||
a.sshService.Client.Close()
|
||||
}, toolWin.w)
|
||||
return true
|
||||
}
|
@ -93,6 +93,7 @@ func (this *ListBaseView) listBtnFun() func() {
|
||||
// set data
|
||||
func (this *ListBaseView) reloadListData() {
|
||||
if this.itemListData != nil {
|
||||
logrus.Debugf("list record:%v", len(this.itemListData.DataList))
|
||||
d := this.itemListData.AsInterfaceArray()
|
||||
this.dataBinding.Set(d)
|
||||
}
|
||||
|
@ -10,7 +10,6 @@ import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/modules/task"
|
||||
"go_dreamfactory/pb"
|
||||
"time"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
@ -72,9 +71,7 @@ func (this *TaskListView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||
func (this *TaskListView) dataListener() {
|
||||
this.obs.AddListener(observer.EVENT_REQ_RSP, observer.Listener{
|
||||
OnNotify: func(d interface{}, args ...interface{}) {
|
||||
time.Sleep(time.Millisecond * 20)
|
||||
data := d.(*pb.UserMessage)
|
||||
logrus.Debugf("%s %s ...", data.MainType, data.SubType)
|
||||
if !(data.MainType == string(comm.ModuleTask) &&
|
||||
data.SubType == task.TaskSubTypeList) {
|
||||
return
|
||||
|
@ -55,6 +55,7 @@ const (
|
||||
ModuleRtask core.M_Modules = "rtask" //随机任务
|
||||
ModuleSmithy core.M_Modules = "smithy" //铁匠铺
|
||||
ModuleTimer core.M_Modules = "timer" //定时任务模块
|
||||
ModuleViking core.M_Modules = "viking" //维京远征
|
||||
)
|
||||
|
||||
//数据表名定义处
|
||||
@ -111,6 +112,8 @@ const (
|
||||
TableSmithy = "smithy"
|
||||
/// 赛季塔数据表
|
||||
TableSeasonPagoda = "seasonpagoda"
|
||||
//
|
||||
TableViking = "viking"
|
||||
)
|
||||
|
||||
//RPC服务接口定义处
|
||||
|
13
go.mod
13
go.mod
@ -41,12 +41,17 @@ require (
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
)
|
||||
|
||||
require golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
|
||||
require (
|
||||
github.com/ActiveState/termtest/conpty v0.5.0 // indirect
|
||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect
|
||||
github.com/creack/pty v1.1.11 // indirect
|
||||
github.com/kr/fs v0.1.0 // indirect
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
|
||||
)
|
||||
|
||||
require (
|
||||
fyne.io/systray v1.10.1-0.20220621085403-9a2652634e93 // indirect
|
||||
github.com/PuerkitoBio/goquery v1.8.0 // indirect
|
||||
github.com/agiledragon/gomonkey/v2 v2.8.0
|
||||
github.com/akutz/memconn v0.1.0 // indirect
|
||||
github.com/andybalholm/cascadia v1.3.1 // indirect
|
||||
github.com/apache/thrift v0.16.0 // indirect
|
||||
@ -67,6 +72,7 @@ require (
|
||||
github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe // indirect
|
||||
github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504 // indirect
|
||||
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 // indirect
|
||||
github.com/fyne-io/terminal v0.0.0-20220805163222-7eef24013352
|
||||
github.com/gin-contrib/sse v0.1.0 // indirect
|
||||
github.com/go-cmd/cmd v1.4.0 // indirect
|
||||
github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 // indirect
|
||||
@ -128,6 +134,7 @@ require (
|
||||
github.com/pelletier/go-toml/v2 v2.0.1 // indirect
|
||||
github.com/philhofer/fwd v1.1.1 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pkg/sftp v1.13.5
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
||||
github.com/rpcxio/libkv v0.5.1-0.20210420120011-1fceaedca8a5 // indirect
|
||||
@ -166,7 +173,7 @@ require (
|
||||
go.opentelemetry.io/otel/trace v1.6.3 // indirect
|
||||
go.uber.org/atomic v1.7.0 // indirect
|
||||
go.uber.org/zap v1.17.0 // indirect
|
||||
golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 // indirect
|
||||
golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503
|
||||
golang.org/x/image v0.0.0-20220601225756-64ec528b34cd // indirect
|
||||
golang.org/x/mobile v0.0.0-20211207041440-4e6c2922fdee // indirect
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
|
||||
|
18
go.sum
18
go.sum
@ -43,11 +43,17 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7
|
||||
dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU=
|
||||
dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4=
|
||||
dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU=
|
||||
fyne.io/fyne/v2 v2.2.0/go.mod h1:Jl/dcptOV4NZWSK1PlxDbO+jFeQBHzUqDUUsKiP0EQ0=
|
||||
fyne.io/fyne/v2 v2.2.3 h1:Umi3vVVW8XnWWPJmMkhIWQOMU/jxB1OqpWVUmjhODD0=
|
||||
fyne.io/fyne/v2 v2.2.3/go.mod h1:MBoGuHzLLSXdQOWFAwWhIhYTEMp33zqtGCReSWhaQTA=
|
||||
fyne.io/systray v1.9.1-0.20220523202515-bb6f1d955cff/go.mod h1:N4ZU0i34X+n8soFRlBNkmJTunw9wD+9jIP19fSZpjSI=
|
||||
fyne.io/systray v1.10.1-0.20220621085403-9a2652634e93 h1:V2IC9t0Zj9Ur6qDbfhUuzVmIvXKFyxZXRJyigUvovs4=
|
||||
fyne.io/systray v1.10.1-0.20220621085403-9a2652634e93/go.mod h1:oM2AQqGJ1AMo4nNqZFYU8xYygSBZkW2hmdJ7n4yjedE=
|
||||
git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg=
|
||||
github.com/ActiveState/termtest/conpty v0.5.0 h1:JLUe6YDs4Jw4xNPCU+8VwTpniYOGeKzQg4SM2YHQNA8=
|
||||
github.com/ActiveState/termtest/conpty v0.5.0/go.mod h1:LO4208FLsxw6DcNZ1UtuGUMW+ga9PFtX4ntv8Ymg9og=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
|
||||
github.com/BabySid/gobase v0.0.0-20220614103908-39ac0a583c02 h1:4VkwDX+9araWz3MeAx/3EAWuQTu+dYnJqBlYrk86i4k=
|
||||
github.com/BabySid/gobase v0.0.0-20220614103908-39ac0a583c02/go.mod h1:psRlcjEywZdxNf9jp6IdYY7VcAsYPtcnLHYQ+dWG5uw=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
@ -60,8 +66,6 @@ github.com/Pallinder/go-randomdata v1.2.0 h1:DZ41wBchNRb/0GfsePLiSwb0PHZmT67XY00
|
||||
github.com/Pallinder/go-randomdata v1.2.0/go.mod h1:yHmJgulpD2Nfrm0cR9tI/+oAgRqCQQixsA8HyRZfV9Y=
|
||||
github.com/PuerkitoBio/goquery v1.8.0 h1:PJTF7AmFCFKk1N6V6jmKfrNH9tV5pNE6lZMkG0gta/U=
|
||||
github.com/PuerkitoBio/goquery v1.8.0/go.mod h1:ypIiRMtY7COPGk+I/YbZLbxsxn9g5ejnI2HSMtkjZvI=
|
||||
github.com/agiledragon/gomonkey/v2 v2.8.0 h1:u2K2nNGyk0ippzklz1CWalllEB9ptD+DtSXeCX5O000=
|
||||
github.com/agiledragon/gomonkey/v2 v2.8.0/go.mod h1:ap1AmDzcVOAz1YpeJ3TCzIgstoaWLA6jbbgxfB4w2iY=
|
||||
github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c=
|
||||
github.com/akutz/memconn v0.1.0 h1:NawI0TORU4hcOMsMr11g7vwlCdkYeLKXBcxWu2W/P8A=
|
||||
github.com/akutz/memconn v0.1.0/go.mod h1:Jo8rI7m0NieZyLI5e2CDlRdRqRRB4S7Xp77ukDjH+Fw=
|
||||
@ -124,6 +128,8 @@ github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw=
|
||||
github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@ -166,6 +172,8 @@ github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504 h1:+31CdF/okdokeFN
|
||||
github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504/go.mod h1:gLRWYfYnMA9TONeppRSikMdXlHQ97xVsPojddUv3b/E=
|
||||
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 h1:hnLq+55b7Zh7/2IRzWCpiTcAvjv/P8ERF+N7+xXbZhk=
|
||||
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2/go.mod h1:eO7W361vmlPOrykIg+Rsh1SZ3tQBaOsfzZhsIOb/Lm0=
|
||||
github.com/fyne-io/terminal v0.0.0-20220805163222-7eef24013352 h1:J4A6pyEH52ZtsCud7vrFiv2t39k4pxe9ny7Tz3lgp1o=
|
||||
github.com/fyne-io/terminal v0.0.0-20220805163222-7eef24013352/go.mod h1:Iky+QppaD5sUiskAD9P3d0GGVqI8MdPV859yuWlFjmc=
|
||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
@ -453,6 +461,7 @@ github.com/klauspost/reedsolomon v1.9.16 h1:mR0AwphBwqFv/I3B9AHtNKvzuowI1vrj8/3U
|
||||
github.com/klauspost/reedsolomon v1.9.16/go.mod h1:eqPAcE7xar5CIzcdfwydOEdcmchAKAP/qs14y4GCBOk=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
|
||||
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
|
||||
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
@ -543,6 +552,7 @@ github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJE
|
||||
github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM=
|
||||
github.com/neelance/sourcemap v0.0.0-20200213170602-2833bce08e4c/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM=
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
|
||||
github.com/nicksnyder/go-i18n/v2 v2.1.2/go.mod h1:d++QJC9ZVf7pa48qrsRWhMJ5pSHIPmS3OLqK1niyLxs=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
||||
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
|
||||
@ -583,6 +593,8 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
|
||||
github.com/pkg/sftp v1.13.5 h1:a3RLUqkyjYRtBTZJZ1VRrKbN3zhuPLlUc3sphVz81go=
|
||||
github.com/pkg/sftp v1.13.5/go.mod h1:wHDZ0IZX6JcBYRK1TH9bcVq8G7TLpVHYIGJRFnmPfxg=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
|
||||
@ -828,7 +840,6 @@ golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPh
|
||||
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220408190544-5352b0902921 h1:iU7T1X1J6yxDr0rda54sWGkHgOp5XJrqm79gcNlC2VM=
|
||||
golang.org/x/crypto v0.0.0-20220408190544-5352b0902921/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 h1:vJ2V3lFLg+bBhgroYuRfyN583UzVveQmIXjc8T/y3to=
|
||||
golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
@ -1005,6 +1016,7 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200428200454-593003d681fa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
|
@ -7,6 +7,7 @@ import (
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/sys/configure"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"sync"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -14,11 +15,14 @@ const (
|
||||
game_initial = "game_initial.json" //初始化表
|
||||
game_playerlv = "game_playerlv.json" //玩家等级
|
||||
game_facemod = "game_facemod.json" // 形象配置表
|
||||
game_drop = "game_drop.json" //掉落
|
||||
)
|
||||
|
||||
///配置管理基础组件
|
||||
type MCompConfigure struct {
|
||||
cbase.ModuleCompBase
|
||||
hlock sync.RWMutex
|
||||
_dropMap map[int32][]*cfg.GameDropData // 掉落表 key 是DiropId
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
@ -28,6 +32,21 @@ func (this *MCompConfigure) Init(service core.IService, module core.IModule, com
|
||||
err = this.LoadConfigure(game_initial, cfg.NewGameInitial)
|
||||
err = this.LoadConfigure(game_playerlv, cfg.NewGamePlayerlv)
|
||||
err = this.LoadConfigure(game_facemod, cfg.NewGameFacemod)
|
||||
this._dropMap = make(map[int32][]*cfg.GameDropData, 0)
|
||||
configure.RegisterConfigure(game_drop, cfg.NewGameDrop, func() {
|
||||
if v, err := this.GetConfigure(game_drop); err == nil {
|
||||
if configure, ok := v.(*cfg.GameDrop); ok {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
for _, value := range configure.GetDataList() {
|
||||
this._dropMap[value.Dropid] = append(this._dropMap[value.Dropid], value)
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
log.Errorf("get game_pagoda conf err:%v", err)
|
||||
return
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
@ -137,3 +156,7 @@ func (this *MCompConfigure) GetPlayerFigureConf() (list []*cfg.GameFacemodData)
|
||||
}
|
||||
return
|
||||
}
|
||||
func (this *MCompConfigure) GetDropData(dropId int32) (data []*cfg.GameDropData) {
|
||||
data = this._dropMap[dropId]
|
||||
return
|
||||
}
|
||||
|
@ -13,7 +13,6 @@ import (
|
||||
const (
|
||||
game_gourmet = "game_gourmet.json"
|
||||
game_gourmetskill = "game_gourmetskill.json"
|
||||
game_drop = "game_drop.json"
|
||||
)
|
||||
|
||||
///配置管理基础组件
|
||||
@ -23,7 +22,6 @@ type configureComp struct {
|
||||
modules.MCompConfigure
|
||||
_gourmetMap map[int64]*cfg.GameGourmetData
|
||||
_gourmetSkillMap map[int64]*cfg.GameGourmetSkillData
|
||||
_dropMap map[int32][]*cfg.GameDropData // 掉落表 key 是DiropId
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
@ -60,25 +58,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
log.Errorf("get game_pagoda conf err:%v", err)
|
||||
return
|
||||
})
|
||||
this._dropMap = make(map[int32][]*cfg.GameDropData, 0)
|
||||
configure.RegisterConfigure(game_drop, cfg.NewGameDrop, func() {
|
||||
if v, err := this.GetConfigure(game_drop); err == nil {
|
||||
if configure, ok := v.(*cfg.GameDrop); ok {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
for _, value := range configure.GetDataList() {
|
||||
this._dropMap[value.Dropid] = append(this._dropMap[value.Dropid], value)
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
log.Errorf("get game_pagoda conf err:%v", err)
|
||||
return
|
||||
})
|
||||
// _data := this.GetGourmetConfigData(1002, 4) // 测试配置文件读取
|
||||
// _dataskill := this.GetGourmetSkillConfigData(1001, 4)
|
||||
// _data := this.GetDropData(1001)
|
||||
// fmt.Printf("%v", _data)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@ -115,7 +95,6 @@ func (this *configureComp) GetGourmetSkillConfigBySkillType(skillType int) (szSk
|
||||
szSkill = append(szSkill, data.Type)
|
||||
}
|
||||
}
|
||||
//data = configure.Get(int32(skillId))
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -138,8 +117,3 @@ func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err
|
||||
func (this *configureComp) GetConfigure(name string) (v interface{}, err error) {
|
||||
return configure.GetConfigure(name)
|
||||
}
|
||||
|
||||
func (this *configureComp) GetDropData(dropId int32) (data []*cfg.GameDropData) {
|
||||
data = this._dropMap[dropId]
|
||||
return
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ func (this *modelMartialhall) queryUserMartialhall(uid string) (result *pb.DBMar
|
||||
Id: primitive.NewObjectID().Hex(),
|
||||
Uid: uid,
|
||||
Lv: 1,
|
||||
Pillar1: &pb.DBPillar{Index: 1},
|
||||
Pillar1: &pb.DBPillar{Index: 1, Isunlock: true},
|
||||
Pillar2: &pb.DBPillar{Index: 2},
|
||||
Pillar3: &pb.DBPillar{Index: 3},
|
||||
Pillar4: &pb.DBPillar{Index: 4},
|
||||
|
@ -70,6 +70,8 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng
|
||||
code = pb.ErrorCode_PagodaNotFound
|
||||
return
|
||||
}
|
||||
|
||||
// 塔数据校验
|
||||
seasonPagoda, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
|
||||
|
||||
if seasonPagoda == nil {
|
||||
@ -94,7 +96,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng
|
||||
this.module.modelSeasonPagoda.addNewSeasonPagoda(session.GetUserId(), seasonPagoda)
|
||||
|
||||
} else {
|
||||
pagoda.PagodaId = cfg.LayerNum
|
||||
seasonPagoda.PagodaId = cfg.LayerNum
|
||||
mapData["pagodaId"] = cfg.LayerNum
|
||||
code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData)
|
||||
}
|
||||
@ -112,6 +114,10 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng
|
||||
mapData["pagodaId"] = cfg.LayerNum
|
||||
this.module.modulerank.ChangeUserRank(session.GetUserId(), mapData)
|
||||
}
|
||||
pagoda.PagodaId = seasonPagoda.PagodaId
|
||||
pagoda.Type = seasonPagoda.Type
|
||||
pagoda.Reward = seasonPagoda.Reward
|
||||
session.SendMsg(string(this.module.GetType()), PagodaChallengeResp, &pb.PagodaChallengeResp{Data: pagoda})
|
||||
}
|
||||
|
||||
return
|
||||
|
@ -28,6 +28,41 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.PagodaGetRewar
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
season, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
|
||||
if season != nil {
|
||||
_cfg := this.module.configure.GetPagodaRewardconfig(req.Id)
|
||||
if _cfg == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
// 校验是否能领取
|
||||
if _cfg.LayerNum >= season.PagodaId {
|
||||
code = pb.ErrorCode_PagodaConditionErr
|
||||
return
|
||||
}
|
||||
|
||||
if _, ok := season.Reward[req.Id]; ok { // 校验是否重复领取
|
||||
code = pb.ErrorCode_PagodaGetRewardErr
|
||||
return
|
||||
}
|
||||
if season.Reward == nil {
|
||||
season.Reward = make(map[int32]bool, 0)
|
||||
}
|
||||
// 发奖励
|
||||
if code = this.module.DispenseRes(session, _cfg.Reward, true); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
season.Reward[req.Id] = true
|
||||
mapData := make(map[string]interface{}, 0)
|
||||
mapData["reward"] = season.Reward
|
||||
code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData)
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), PagodaGetRewardResp, &pb.PagodaGetRewardResp{Data: &pb.DBPagoda{
|
||||
PagodaId: season.PagodaId,
|
||||
Reward: season.Reward,
|
||||
Type: season.Type,
|
||||
}})
|
||||
} else {
|
||||
_cfg := this.module.configure.GetPagodaRewardconfig(req.Id)
|
||||
if _cfg == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
@ -39,7 +74,7 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.PagodaGetRewar
|
||||
return
|
||||
}
|
||||
|
||||
if _, ok := list.Reward[req.GetId()]; ok { // 校验是否重复领取
|
||||
if _, ok := list.Reward[req.Id]; ok { // 校验是否重复领取
|
||||
code = pb.ErrorCode_PagodaGetRewardErr
|
||||
return
|
||||
}
|
||||
@ -55,5 +90,7 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.PagodaGetRewar
|
||||
mapData["reward"] = list.Reward
|
||||
code = this.module.ModifyPagodaData(session.GetUserId(), mapData)
|
||||
session.SendMsg(string(this.module.GetType()), PagodaGetRewardResp, &pb.PagodaGetRewardResp{Data: list})
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.PagodaGetListReq
|
||||
if season != nil {
|
||||
list.PagodaId = season.PagodaId
|
||||
list.Type = season.Type
|
||||
list.Reward = season.Reward
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -32,6 +32,13 @@ func (this *apiComp) Choose(session comm.IUserSession, req *pb.RtaskChooseReq) (
|
||||
return
|
||||
}
|
||||
|
||||
// 获取支线任务配置
|
||||
sideConf := this.moduleRtask.configure.getRtaskSidById(req.RtaskSubId)
|
||||
if sideConf == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
|
||||
//获取选项配置
|
||||
chooseCnf := this.moduleRtask.configure.getRtaskChooseCfg(req.ChooseId)
|
||||
if chooseCnf == nil {
|
||||
@ -74,7 +81,7 @@ func (this *apiComp) Choose(session comm.IUserSession, req *pb.RtaskChooseReq) (
|
||||
}
|
||||
|
||||
//发奖励
|
||||
code = this.moduleRtask.DispenseRes(session, conf.Reward, true)
|
||||
code = this.moduleRtask.DispenseRes(session, sideConf.Reward, true)
|
||||
|
||||
rsp := &pb.RtaskChooseResp{
|
||||
RtaskId: req.RtaskId,
|
||||
|
@ -9,11 +9,8 @@ import (
|
||||
)
|
||||
|
||||
// 做任务
|
||||
|
||||
func (this *apiComp) ApplyCheck(session comm.IUserSession, req *pb.RtaskApplyReq) (code pb.ErrorCode) {
|
||||
if req.RtaskId == 0 {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@ -51,14 +48,21 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.RtaskApplyReq) (co
|
||||
return
|
||||
}
|
||||
|
||||
//校验限定条件
|
||||
if req.RtaskSubId == 0 {
|
||||
//校验前置任务和限定条件
|
||||
if code, ok = this.moduleRtask.modelRtask.checkHandle(session.GetUserId(), frtaskArr.RtaskIds, conf); !ok {
|
||||
code = pb.ErrorCode_RtaskCondiNoReach
|
||||
return
|
||||
}
|
||||
} else {
|
||||
sideConf := this.moduleRtask.configure.getRtaskSidById(req.RtaskSubId)
|
||||
if sideConf == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
|
||||
// 没有设置选项,表示任务完成
|
||||
if len(conf.ChooseId) == 0 {
|
||||
if sideConf.EndTid == -1 {
|
||||
frtaskArr.RtaskIds = append(frtaskArr.RtaskIds, req.RtaskId)
|
||||
rtask.FrtaskIds[conf.Group] = frtaskArr
|
||||
|
||||
@ -71,7 +75,14 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.RtaskApplyReq) (co
|
||||
}
|
||||
|
||||
// 发奖励
|
||||
code = this.moduleRtask.DispenseRes(session, conf.Reward, true)
|
||||
code = this.moduleRtask.DispenseRes(session, sideConf.Reward, true)
|
||||
} else {
|
||||
// 校验完成条件
|
||||
if ok := this.moduleRtask.modelRtask.checkCondi(session.GetUserId(), sideConf.EndTid); !ok {
|
||||
code = pb.ErrorCode_RtaskCondiNoReach
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if err := session.SendMsg(string(this.moduleRtask.GetType()), RtaskSubTypeApply, &pb.RtaskApplyResp{
|
||||
|
@ -18,14 +18,21 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.RtaskGetReward
|
||||
if code = this.GetRewardCheck(session, req); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
conf := this.moduleRtask.configure.getRtaskById(req.RtaskId)
|
||||
if conf == nil {
|
||||
// conf := this.moduleRtask.configure.getRtaskById(req.RtaskId)
|
||||
// if conf == nil {
|
||||
// code = pb.ErrorCode_ConfigNoFound
|
||||
// return
|
||||
// }
|
||||
|
||||
// 获取支线任务配置
|
||||
sideConf := this.moduleRtask.configure.getRtaskSidById(req.RtaskSubId)
|
||||
if sideConf == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
|
||||
//校验是否最后一个任务
|
||||
if conf.NextTid != 0 {
|
||||
if sideConf.NextTid != 0 {
|
||||
code = pb.ErrorCode_RtaskNoLastOne
|
||||
return
|
||||
}
|
||||
@ -44,7 +51,7 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.RtaskGetReward
|
||||
}
|
||||
|
||||
//发奖励
|
||||
code = this.moduleRtask.DispenseRes(session, conf.Reward, true)
|
||||
code = this.moduleRtask.DispenseRes(session, sideConf.Reward, true)
|
||||
|
||||
update := map[string]interface{}{
|
||||
"isReward": true,
|
||||
|
@ -11,6 +11,7 @@ const (
|
||||
gameRtask = "game_rdtask.json"
|
||||
gameRtaskChoose = "game_rdtaskchoose.json"
|
||||
gameRtaskCondi = "game_rdtaskcondi.json"
|
||||
gameRtaskSide = "game_rdtaskside.json"
|
||||
)
|
||||
|
||||
type configureComp struct {
|
||||
@ -23,6 +24,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
gameRtask: cfg.NewGameRdtask,
|
||||
gameRtaskChoose: cfg.NewGameRdtaskChoose,
|
||||
gameRtaskCondi: cfg.NewGameRdtaskCondi,
|
||||
gameRtaskSide: cfg.NewGameRdtaskSide,
|
||||
})
|
||||
return
|
||||
}
|
||||
@ -75,6 +77,22 @@ func (this *configureComp) getRtaskChoose() (data *cfg.GameRdtaskChoose, err err
|
||||
return
|
||||
}
|
||||
|
||||
func (this *configureComp) getRtaskSide() (data *cfg.GameRdtaskSide, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(gameRtaskSide); err != nil {
|
||||
return
|
||||
} else {
|
||||
if data, ok = v.(*cfg.GameRdtaskSide); !ok {
|
||||
err = fmt.Errorf("%T is *cfg.GameRdtaskSide", v)
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 获取选项配置
|
||||
func (this *configureComp) getRtaskChooseCfg(id int32) *cfg.GameRdtaskChooseData {
|
||||
cfg, err := this.getRtaskChoose()
|
||||
@ -88,6 +106,18 @@ func (this *configureComp) getRtaskChooseCfg(id int32) *cfg.GameRdtaskChooseData
|
||||
return nil
|
||||
}
|
||||
|
||||
func (this *configureComp) getRtaskSidById(id int32) *cfg.GameRdtaskSideData {
|
||||
cfg, err := this.getRtaskSide()
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
if data, ok := cfg.GetDataMap()[id]; ok {
|
||||
return data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 查询任务类型
|
||||
func (this *configureComp) getRtaskTypeById(typeId int32) (data *cfg.GameRdtaskCondiData, err error) {
|
||||
cfg, err := this.getRtaskTypeCfg()
|
||||
|
@ -43,23 +43,7 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.SmithyCreate
|
||||
}
|
||||
costTime += needTime * order.Count
|
||||
}
|
||||
if _smithy.Orders == nil { // 队列数据为nil 直接将订单数据给ta
|
||||
_smithy.Orders = req.Order
|
||||
} else {
|
||||
for _, v := range req.Order {
|
||||
bFound := false
|
||||
for _, v1 := range _smithy.Orders {
|
||||
if v.DeskType == v1.DeskType {
|
||||
v1.Count += v.Count // 加对应的数量
|
||||
bFound = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !bFound {
|
||||
_smithy.Orders = append(_smithy.Orders, v)
|
||||
}
|
||||
}
|
||||
}
|
||||
_smithy.Orders = append(_smithy.Orders, req.Order...) // 直接追加订单数据
|
||||
|
||||
if _smithy.Clang == nil || (_smithy.Clang != nil && _smithy.Clang.ETime == 0) {
|
||||
if _smithy.Ctime == 0 {
|
||||
@ -73,7 +57,6 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.SmithyCreate
|
||||
if v.Count > 0 {
|
||||
v.Count--
|
||||
// 获取生产时间
|
||||
|
||||
_smithy.Clang = &pb.Clang{
|
||||
DeskType: v.DeskType,
|
||||
ETime: time.Now().Unix() + int64(needTime),
|
||||
@ -105,9 +88,6 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.SmithyCreate
|
||||
return
|
||||
}
|
||||
|
||||
if code = this.module.DispenseRes(session, res, true); code != pb.ErrorCode_Success { // 真正消耗
|
||||
return
|
||||
}
|
||||
// 校验通过 写数据
|
||||
mapData := make(map[string]interface{}, 0)
|
||||
mapData["orders"] = _smithy.Orders
|
||||
|
@ -32,6 +32,9 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.SmithyGetRewar
|
||||
})
|
||||
}
|
||||
code = this.module.DispenseRes(session, res, true)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
_gourmet.Items = nil
|
||||
mapData := make(map[string]interface{}, 0)
|
||||
mapData["items"] = nil
|
||||
|
@ -13,7 +13,6 @@ import (
|
||||
const (
|
||||
game_smithy = "game_smithy.json"
|
||||
game_smithystove = "game_smithystove.json"
|
||||
game_drop = "game_drop.json"
|
||||
)
|
||||
|
||||
///配置管理基础组件
|
||||
@ -22,7 +21,6 @@ type configureComp struct {
|
||||
hlock sync.RWMutex
|
||||
modules.MCompConfigure
|
||||
_smithyMap map[int64]*cfg.GameSmithyData
|
||||
_dropMap map[int32][]*cfg.GameDropData // 掉落表 key 是DiropId
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
@ -44,26 +42,6 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
log.Errorf("get game_pagoda conf err:%v", err)
|
||||
return
|
||||
})
|
||||
|
||||
this._dropMap = make(map[int32][]*cfg.GameDropData, 0)
|
||||
configure.RegisterConfigure(game_drop, cfg.NewGameDrop, func() {
|
||||
if v, err := this.GetConfigure(game_drop); err == nil {
|
||||
if configure, ok := v.(*cfg.GameDrop); ok {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
for _, value := range configure.GetDataList() {
|
||||
this._dropMap[value.Dropid] = append(this._dropMap[value.Dropid], value)
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
log.Errorf("get game_pagoda conf err:%v", err)
|
||||
return
|
||||
})
|
||||
// _data := this.GetSmithyConfigData(1002, 4) // 测试配置文件读取
|
||||
// _dataskill := this.GetSmithyStoveConfigData(1001, 4)
|
||||
// _data := this.GetDropData(1001)
|
||||
// fmt.Printf("%v", _data)
|
||||
err = this.LoadConfigure(game_smithystove, cfg.NewGameSmithyStove)
|
||||
return
|
||||
}
|
||||
@ -114,8 +92,3 @@ func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err
|
||||
func (this *configureComp) GetConfigure(name string) (v interface{}, err error) {
|
||||
return configure.GetConfigure(name)
|
||||
}
|
||||
|
||||
func (this *configureComp) GetDropData(dropId int32) (data []*cfg.GameDropData) {
|
||||
data = this._dropMap[dropId]
|
||||
return
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ func (this *ModelTaskActive) updateReceive(uid, id string, taskTag comm.TaskTag,
|
||||
return this.moduleTask.modelTaskActive.ChangeList(uid, id, data)
|
||||
}
|
||||
|
||||
//清空任务
|
||||
//清空活跃度任务
|
||||
func (this *ModelTaskActive) clearTask(uid string, taskTag ...comm.TaskTag) {
|
||||
if len(taskTag) == 0 {
|
||||
this.moduleTask.Errorf("least one param for taskTag")
|
||||
|
@ -115,8 +115,8 @@ func (this *ModelTask) getTaskById(uid string, taskId int32) (newlist []*pb.DBTa
|
||||
}
|
||||
|
||||
//初始化任务
|
||||
func (this *ModelTask) initTask(uid string) error {
|
||||
if data, err := this.moduleTask.configure.getTaskList(); err == nil {
|
||||
func (this *ModelTask) initTask(uid string, taskTag comm.TaskTag) error {
|
||||
data := this.moduleTask.configure.getTaskByTag(int32(taskTag))
|
||||
for _, cnf := range data {
|
||||
objId := primitive.NewObjectID().Hex()
|
||||
task := &pb.DBTask{
|
||||
@ -134,7 +134,7 @@ func (this *ModelTask) initTask(uid string) error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,9 @@ func (this *ModuleTask) Start() (err error) {
|
||||
|
||||
//初始化日常、周常、成就
|
||||
func (this *ModuleTask) InitTaskAll(uid string) {
|
||||
this.modelTask.initTask(uid)
|
||||
this.modelTask.initTask(uid, comm.TASK_DAILY)
|
||||
this.modelTask.initTask(uid, comm.TASK_WEEKLY)
|
||||
this.modelTask.initTask(uid, comm.TASK_ACHIEVE)
|
||||
this.modelTaskActive.initActiveReward(uid)
|
||||
}
|
||||
|
||||
|
34
modules/viking/api.go
Normal file
34
modules/viking/api.go
Normal file
@ -0,0 +1,34 @@
|
||||
package viking
|
||||
|
||||
import (
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/modules"
|
||||
)
|
||||
|
||||
const (
|
||||
VikingGetListResp = "getlist"
|
||||
VikingCreateOrderResp = "createorder"
|
||||
VikingSkillLvResp = "skilllv"
|
||||
VikingGetRewardResp = "getreward"
|
||||
)
|
||||
|
||||
type apiComp struct {
|
||||
modules.MCompGate
|
||||
service core.IService
|
||||
configure *configureComp
|
||||
module *Viking
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
err = this.MCompGate.Init(service, module, comp, options)
|
||||
this.module = module.(*Viking)
|
||||
this.service = service
|
||||
return
|
||||
}
|
||||
|
||||
func (this *apiComp) Start() (err error) {
|
||||
err = this.MCompGate.Start()
|
||||
|
||||
return
|
||||
}
|
40
modules/viking/api_getlist.go
Normal file
40
modules/viking/api_getlist.go
Normal file
@ -0,0 +1,40 @@
|
||||
package viking
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.VikingGetListReq) (code pb.ErrorCode) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (this *apiComp) GetList(session comm.IUserSession, req *pb.VikingGetListReq) (code pb.ErrorCode, data proto.Message) {
|
||||
|
||||
code = this.GetListCheck(session, req)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return // 参数校验失败直接返回
|
||||
}
|
||||
list, err := this.module.modelViking.getVikingList(session.GetUserId())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
if list == nil {
|
||||
list.Id = primitive.NewObjectID().Hex()
|
||||
list.Uid = session.GetUserId()
|
||||
list.Boos = make(map[int32]int32)
|
||||
_mapType := this.configure.GetVikingBossTypeConfigData()
|
||||
for k := range _mapType {
|
||||
list.Boos[k] = 1
|
||||
}
|
||||
this.module.modelViking.Add(session.GetUserId(), list) // 写缓存
|
||||
}
|
||||
session.SendMsg(string(this.module.GetType()), VikingGetListResp, &pb.VikingGetListResp{Data: list})
|
||||
return
|
||||
}
|
88
modules/viking/comp_configure.go
Normal file
88
modules/viking/comp_configure.go
Normal file
@ -0,0 +1,88 @@
|
||||
package viking
|
||||
|
||||
import (
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/core/cbase"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/sys/configure"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"sync"
|
||||
)
|
||||
|
||||
const (
|
||||
game_vikingboss = "game_vikingboss.json"
|
||||
)
|
||||
|
||||
///配置管理基础组件
|
||||
type configureComp struct {
|
||||
cbase.ModuleCompBase
|
||||
hlock sync.RWMutex
|
||||
modules.MCompConfigure
|
||||
_vikingMap map[int64]*cfg.GameVikingBossData
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
err = this.ModuleCompBase.Init(service, module, comp, options)
|
||||
|
||||
this._vikingMap = make(map[int64]*cfg.GameVikingBossData, 0)
|
||||
configure.RegisterConfigure(game_vikingboss, cfg.NewGameVikingBoss, func() {
|
||||
if v, err := this.GetConfigure(game_vikingboss); err == nil {
|
||||
if configure, ok := v.(*cfg.GameVikingBoss); ok {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
for _, value := range configure.GetDataList() {
|
||||
this._vikingMap[int64(value.Type<<16)+int64(value.Difficulty)] = value
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
log.Errorf("get game_pagoda conf err:%v", err)
|
||||
return
|
||||
})
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// 参数: boss类型 难度
|
||||
func (this *configureComp) GetVikingBossConfigData(bossType int32, difficulty int32) (data *cfg.GameVikingBossData) {
|
||||
|
||||
return this._vikingMap[int64(bossType<<16)+int64(difficulty)]
|
||||
}
|
||||
|
||||
//加载多个配置文件
|
||||
func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) {
|
||||
for k, v := range confs {
|
||||
err = configure.RegisterConfigure(k, v, nil)
|
||||
if err != nil {
|
||||
log.Errorf("配置文件:%s解析失败!", k)
|
||||
break
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//读取配置数据
|
||||
func (this *configureComp) GetConfigure(name string) (v interface{}, err error) {
|
||||
return configure.GetConfigure(name)
|
||||
}
|
||||
|
||||
// get boss Type
|
||||
func (this *configureComp) GetVikingBossTypeConfigData() (mapType map[int32]struct{}) {
|
||||
|
||||
mapType = make(map[int32]struct{}, 0)
|
||||
if v, err := this.GetConfigure(game_vikingboss); err == nil {
|
||||
if configure, ok := v.(*cfg.GameVikingBoss); ok {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
for _, value := range configure.GetDataList() {
|
||||
if _, ok := mapType[value.Type]; !ok {
|
||||
mapType[value.Type] = struct{}{}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
76
modules/viking/model_viking.go
Normal file
76
modules/viking/model_viking.go
Normal file
@ -0,0 +1,76 @@
|
||||
package viking
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/redis"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"go.mongodb.org/mongo-driver/x/bsonx"
|
||||
)
|
||||
|
||||
type modelViking struct {
|
||||
modules.MCompModel
|
||||
module *Viking
|
||||
}
|
||||
|
||||
func (this *modelViking) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
this.TableName = string(comm.TableViking)
|
||||
err = this.MCompModel.Init(service, module, comp, options)
|
||||
this.module = module.(*Viking)
|
||||
// uid 创建索引
|
||||
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
|
||||
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (this *modelViking) getVikingList(uid string) (result *pb.DBViking, err error) {
|
||||
result = &pb.DBViking{}
|
||||
if err = this.Get(uid, result); err != nil && redis.RedisNil != err {
|
||||
return
|
||||
}
|
||||
err = nil
|
||||
return result, err
|
||||
}
|
||||
|
||||
func (this *modelViking) modifyVikingDataByObjId(uid string, data map[string]interface{}) error {
|
||||
return this.Change(uid, data)
|
||||
}
|
||||
|
||||
// todo 调用drop 表 获取掉落信息
|
||||
func (this *modelViking) GetDropReward(count, dropId int32, Items []*pb.UserAssets) {
|
||||
res := make([]*cfg.Gameatn, 0)
|
||||
for i := 0; i < int(count); i++ {
|
||||
data := this.module.configure.GetDropData(dropId)
|
||||
szW := make([]int32, 0)
|
||||
for _, value := range data {
|
||||
szW = append(szW, value.P)
|
||||
}
|
||||
if len(szW) > 0 {
|
||||
index := comm.GetRandW(szW)
|
||||
res = append(res, data[index].Prize...)
|
||||
}
|
||||
}
|
||||
for _, v := range res {
|
||||
bFind := false
|
||||
for _, v1 := range Items {
|
||||
if v.A == v1.A && v.T == v1.T {
|
||||
v1.N += v.N
|
||||
bFind = true
|
||||
}
|
||||
}
|
||||
if !bFind {
|
||||
Items = append(Items, &pb.UserAssets{
|
||||
A: v.A,
|
||||
T: v.T,
|
||||
N: v.N,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
50
modules/viking/module.go
Normal file
50
modules/viking/module.go
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
模块名:viking
|
||||
描述:维京远征
|
||||
开发:梅雄风
|
||||
*/
|
||||
package viking
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
type Viking struct {
|
||||
modules.ModuleBase
|
||||
modelViking *modelViking
|
||||
api *apiComp
|
||||
configure *configureComp
|
||||
}
|
||||
|
||||
func NewModule() core.IModule {
|
||||
return &Viking{}
|
||||
}
|
||||
|
||||
func (this *Viking) GetType() core.M_Modules {
|
||||
return comm.ModuleViking
|
||||
}
|
||||
|
||||
func (this *Viking) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
|
||||
err = this.ModuleBase.Init(service, module, options)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (this *Viking) OnInstallComp() {
|
||||
this.ModuleBase.OnInstallComp()
|
||||
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
|
||||
this.modelViking = this.RegisterComp(new(modelViking)).(*modelViking)
|
||||
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
|
||||
}
|
||||
|
||||
// 接口信息
|
||||
func (this *Viking) ModifyVikingData(uid string, data map[string]interface{}) (code pb.ErrorCode) {
|
||||
err := this.modelViking.modifyVikingDataByObjId(uid, data)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
}
|
||||
return
|
||||
}
|
@ -27,6 +27,7 @@ type RtaskApplyReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RtaskId int32 `protobuf:"varint,1,opt,name=rtaskId,proto3" json:"rtaskId"` //任务ID
|
||||
RtaskSubId int32 `protobuf:"varint,2,opt,name=rtaskSubId,proto3" json:"rtaskSubId"` //支线任务ID
|
||||
}
|
||||
|
||||
func (x *RtaskApplyReq) Reset() {
|
||||
@ -68,6 +69,13 @@ func (x *RtaskApplyReq) GetRtaskId() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *RtaskApplyReq) GetRtaskSubId() int32 {
|
||||
if x != nil {
|
||||
return x.RtaskSubId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type RtaskApplyResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -218,6 +226,7 @@ type RtaskChooseReq struct {
|
||||
|
||||
RtaskId int32 `protobuf:"varint,1,opt,name=rtaskId,proto3" json:"rtaskId"` //任务ID
|
||||
ChooseId int32 `protobuf:"varint,2,opt,name=chooseId,proto3" json:"chooseId"` //选项配置ID
|
||||
RtaskSubId int32 `protobuf:"varint,3,opt,name=rtaskSubId,proto3" json:"rtaskSubId"` //支线任务ID
|
||||
}
|
||||
|
||||
func (x *RtaskChooseReq) Reset() {
|
||||
@ -266,6 +275,13 @@ func (x *RtaskChooseReq) GetChooseId() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *RtaskChooseReq) GetRtaskSubId() int32 {
|
||||
if x != nil {
|
||||
return x.RtaskSubId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type RtaskChooseResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -273,6 +289,7 @@ type RtaskChooseResp struct {
|
||||
|
||||
RtaskId int32 `protobuf:"varint,1,opt,name=rtaskId,proto3" json:"rtaskId"` //任务ID
|
||||
ChooseId int32 `protobuf:"varint,2,opt,name=chooseId,proto3" json:"chooseId"` //选项配置ID
|
||||
RtaskSubId int32 `protobuf:"varint,3,opt,name=rtaskSubId,proto3" json:"rtaskSubId"` //支线任务ID
|
||||
}
|
||||
|
||||
func (x *RtaskChooseResp) Reset() {
|
||||
@ -321,6 +338,13 @@ func (x *RtaskChooseResp) GetChooseId() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *RtaskChooseResp) GetRtaskSubId() int32 {
|
||||
if x != nil {
|
||||
return x.RtaskSubId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 任务完成推送
|
||||
type RtaskFinishPush struct {
|
||||
state protoimpl.MessageState
|
||||
@ -376,6 +400,7 @@ type RtaskGetRewardReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RtaskId int32 `protobuf:"varint,1,opt,name=rtaskId,proto3" json:"rtaskId"`
|
||||
RtaskSubId int32 `protobuf:"varint,2,opt,name=rtaskSubId,proto3" json:"rtaskSubId"` //支线任务ID
|
||||
}
|
||||
|
||||
func (x *RtaskGetRewardReq) Reset() {
|
||||
@ -417,12 +442,20 @@ func (x *RtaskGetRewardReq) GetRtaskId() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *RtaskGetRewardReq) GetRtaskSubId() int32 {
|
||||
if x != nil {
|
||||
return x.RtaskSubId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type RtaskGetRewardResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RtaskId int32 `protobuf:"varint,1,opt,name=rtaskId,proto3" json:"rtaskId"`
|
||||
RtaskSubId int32 `protobuf:"varint,2,opt,name=rtaskSubId,proto3" json:"rtaskSubId"` //支线任务ID
|
||||
}
|
||||
|
||||
func (x *RtaskGetRewardResp) Reset() {
|
||||
@ -464,13 +497,22 @@ func (x *RtaskGetRewardResp) GetRtaskId() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *RtaskGetRewardResp) GetRtaskSubId() int32 {
|
||||
if x != nil {
|
||||
return x.RtaskSubId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_rtask_rtask_msg_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_rtask_rtask_msg_proto_rawDesc = []byte{
|
||||
0x0a, 0x15, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6d, 0x73,
|
||||
0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x29, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b,
|
||||
0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b,
|
||||
0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73,
|
||||
0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b,
|
||||
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62,
|
||||
0x49, 0x64, 0x22, 0x2a, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x70, 0x70, 0x6c, 0x79,
|
||||
0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x28,
|
||||
@ -479,24 +521,32 @@ var file_rtask_rtask_msg_proto_rawDesc = []byte{
|
||||
0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73,
|
||||
0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x74, 0x61,
|
||||
0x73, 0x6b, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x72, 0x74, 0x61,
|
||||
0x73, 0x6b, 0x49, 0x64, 0x73, 0x22, 0x46, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68,
|
||||
0x73, 0x6b, 0x49, 0x64, 0x73, 0x22, 0x66, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68,
|
||||
0x6f, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b,
|
||||
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49,
|
||||
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x22, 0x47, 0x0a,
|
||||
0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a,
|
||||
0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x22, 0x67, 0x0a,
|
||||
0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
|
||||
0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68,
|
||||
0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x68,
|
||||
0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x46,
|
||||
0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53,
|
||||
0x75, 0x62, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73,
|
||||
0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x46,
|
||||
0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61,
|
||||
0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73,
|
||||
0x6b, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52,
|
||||
0x6b, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52,
|
||||
0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73,
|
||||
0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b,
|
||||
0x49, 0x64, 0x22, 0x2e, 0x0a, 0x12, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65,
|
||||
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62,
|
||||
0x49, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65,
|
||||
0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73,
|
||||
0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b,
|
||||
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62,
|
||||
0x49, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
}
|
||||
|
197
pb/viking_db.pb.go
Normal file
197
pb/viking_db.pb.go
Normal file
@ -0,0 +1,197 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.0
|
||||
// protoc v3.20.0
|
||||
// source: viking/viking_db.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
//维京远征
|
||||
type DBViking struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
|
||||
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
|
||||
ChallengeCount int32 `protobuf:"varint,3,opt,name=challengeCount,proto3" json:"challengeCount" bson:"challengeCount"` //挑战次数
|
||||
Boos map[int32]int32 `protobuf:"bytes,4,rep,name=boos,proto3" json:"boos" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key boos 类型 value 难度
|
||||
BuyCount int32 `protobuf:"varint,5,opt,name=buyCount,proto3" json:"buyCount" bson:"buyCount"` //购买次数
|
||||
CTime int64 `protobuf:"varint,6,opt,name=cTime,proto3" json:"cTime" bson:"cTime"` //修改时间
|
||||
}
|
||||
|
||||
func (x *DBViking) Reset() {
|
||||
*x = DBViking{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DBViking) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DBViking) ProtoMessage() {}
|
||||
|
||||
func (x *DBViking) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_db_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use DBViking.ProtoReflect.Descriptor instead.
|
||||
func (*DBViking) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_db_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *DBViking) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBViking) GetUid() string {
|
||||
if x != nil {
|
||||
return x.Uid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBViking) GetChallengeCount() int32 {
|
||||
if x != nil {
|
||||
return x.ChallengeCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBViking) GetBoos() map[int32]int32 {
|
||||
if x != nil {
|
||||
return x.Boos
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBViking) GetBuyCount() int32 {
|
||||
if x != nil {
|
||||
return x.BuyCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBViking) GetCTime() int64 {
|
||||
if x != nil {
|
||||
return x.CTime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_viking_viking_db_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_viking_viking_db_proto_rawDesc = []byte{
|
||||
0x0a, 0x16, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x5f,
|
||||
0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x01, 0x0a, 0x08, 0x44, 0x42, 0x56,
|
||||
0x69, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c,
|
||||
0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
|
||||
0x27, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
|
||||
0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x79, 0x43,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x79, 0x43,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x37, 0x0a, 0x09, 0x42, 0x6f,
|
||||
0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
|
||||
0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_viking_viking_db_proto_rawDescOnce sync.Once
|
||||
file_viking_viking_db_proto_rawDescData = file_viking_viking_db_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_viking_viking_db_proto_rawDescGZIP() []byte {
|
||||
file_viking_viking_db_proto_rawDescOnce.Do(func() {
|
||||
file_viking_viking_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_viking_viking_db_proto_rawDescData)
|
||||
})
|
||||
return file_viking_viking_db_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_viking_viking_db_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_viking_viking_db_proto_goTypes = []interface{}{
|
||||
(*DBViking)(nil), // 0: DBViking
|
||||
nil, // 1: DBViking.BoosEntry
|
||||
}
|
||||
var file_viking_viking_db_proto_depIdxs = []int32{
|
||||
1, // 0: DBViking.boos:type_name -> DBViking.BoosEntry
|
||||
1, // [1:1] is the sub-list for method output_type
|
||||
1, // [1:1] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_viking_viking_db_proto_init() }
|
||||
func file_viking_viking_db_proto_init() {
|
||||
if File_viking_viking_db_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_viking_viking_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBViking); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_viking_viking_db_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_viking_viking_db_proto_goTypes,
|
||||
DependencyIndexes: file_viking_viking_db_proto_depIdxs,
|
||||
MessageInfos: file_viking_viking_db_proto_msgTypes,
|
||||
}.Build()
|
||||
File_viking_viking_db_proto = out.File
|
||||
file_viking_viking_db_proto_rawDesc = nil
|
||||
file_viking_viking_db_proto_goTypes = nil
|
||||
file_viking_viking_db_proto_depIdxs = nil
|
||||
}
|
560
pb/viking_msg.pb.go
Normal file
560
pb/viking_msg.pb.go
Normal file
@ -0,0 +1,560 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.0
|
||||
// protoc v3.20.0
|
||||
// source: viking/viking_msg.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type VikingGetListReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *VikingGetListReq) Reset() {
|
||||
*x = VikingGetListReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *VikingGetListReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*VikingGetListReq) ProtoMessage() {}
|
||||
|
||||
func (x *VikingGetListReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use VikingGetListReq.ProtoReflect.Descriptor instead.
|
||||
func (*VikingGetListReq) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_msg_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type VikingGetListResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Data *DBViking `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
|
||||
}
|
||||
|
||||
func (x *VikingGetListResp) Reset() {
|
||||
*x = VikingGetListResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *VikingGetListResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*VikingGetListResp) ProtoMessage() {}
|
||||
|
||||
func (x *VikingGetListResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use VikingGetListResp.ProtoReflect.Descriptor instead.
|
||||
func (*VikingGetListResp) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_msg_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *VikingGetListResp) GetData() *DBViking {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 挑战
|
||||
type VikingChallengeReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
BossType int32 `protobuf:"varint,1,opt,name=bossType,proto3" json:"bossType"` // boos 类型
|
||||
Difficulty int32 `protobuf:"varint,2,opt,name=difficulty,proto3" json:"difficulty"` // 难度
|
||||
}
|
||||
|
||||
func (x *VikingChallengeReq) Reset() {
|
||||
*x = VikingChallengeReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *VikingChallengeReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*VikingChallengeReq) ProtoMessage() {}
|
||||
|
||||
func (x *VikingChallengeReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use VikingChallengeReq.ProtoReflect.Descriptor instead.
|
||||
func (*VikingChallengeReq) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_msg_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *VikingChallengeReq) GetBossType() int32 {
|
||||
if x != nil {
|
||||
return x.BossType
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *VikingChallengeReq) GetDifficulty() int32 {
|
||||
if x != nil {
|
||||
return x.Difficulty
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type VikingChallengeResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Data *DBViking `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
|
||||
}
|
||||
|
||||
func (x *VikingChallengeResp) Reset() {
|
||||
*x = VikingChallengeResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *VikingChallengeResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*VikingChallengeResp) ProtoMessage() {}
|
||||
|
||||
func (x *VikingChallengeResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use VikingChallengeResp.ProtoReflect.Descriptor instead.
|
||||
func (*VikingChallengeResp) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_msg_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *VikingChallengeResp) GetData() *DBViking {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 购买
|
||||
type VikingBuyReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *VikingBuyReq) Reset() {
|
||||
*x = VikingBuyReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *VikingBuyReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*VikingBuyReq) ProtoMessage() {}
|
||||
|
||||
func (x *VikingBuyReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[4]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use VikingBuyReq.ProtoReflect.Descriptor instead.
|
||||
func (*VikingBuyReq) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_msg_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
type VikingBuyResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Data *DBViking `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
|
||||
}
|
||||
|
||||
func (x *VikingBuyResp) Reset() {
|
||||
*x = VikingBuyResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *VikingBuyResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*VikingBuyResp) ProtoMessage() {}
|
||||
|
||||
func (x *VikingBuyResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[5]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use VikingBuyResp.ProtoReflect.Descriptor instead.
|
||||
func (*VikingBuyResp) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_msg_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *VikingBuyResp) GetData() *DBViking {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 排行榜
|
||||
type VikingRankListReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *VikingRankListReq) Reset() {
|
||||
*x = VikingRankListReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[6]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *VikingRankListReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*VikingRankListReq) ProtoMessage() {}
|
||||
|
||||
func (x *VikingRankListReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[6]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use VikingRankListReq.ProtoReflect.Descriptor instead.
|
||||
func (*VikingRankListReq) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_msg_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
type VikingRankListResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *VikingRankListResp) Reset() {
|
||||
*x = VikingRankListResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[7]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *VikingRankListResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*VikingRankListResp) ProtoMessage() {}
|
||||
|
||||
func (x *VikingRankListResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_viking_viking_msg_proto_msgTypes[7]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use VikingRankListResp.ProtoReflect.Descriptor instead.
|
||||
func (*VikingRankListResp) Descriptor() ([]byte, []int) {
|
||||
return file_viking_viking_msg_proto_rawDescGZIP(), []int{7}
|
||||
}
|
||||
|
||||
var File_viking_viking_msg_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_viking_viking_msg_proto_rawDesc = []byte{
|
||||
0x0a, 0x17, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x5f,
|
||||
0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x76, 0x69, 0x6b, 0x69, 0x6e,
|
||||
0x67, 0x2f, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x22, 0x12, 0x0a, 0x10, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x32, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x47,
|
||||
0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61,
|
||||
0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b,
|
||||
0x69, 0x6e, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x50, 0x0a, 0x12, 0x56, 0x69, 0x6b,
|
||||
0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12,
|
||||
0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64,
|
||||
0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22, 0x34, 0x0a, 0x13, 0x56,
|
||||
0x69, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65,
|
||||
0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x09, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74,
|
||||
0x61, 0x22, 0x0e, 0x0a, 0x0c, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x52, 0x65,
|
||||
0x71, 0x22, 0x2e, 0x0a, 0x0d, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x52, 0x65,
|
||||
0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x09, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74,
|
||||
0x61, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x14, 0x0a, 0x12, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67,
|
||||
0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04,
|
||||
0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_viking_viking_msg_proto_rawDescOnce sync.Once
|
||||
file_viking_viking_msg_proto_rawDescData = file_viking_viking_msg_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_viking_viking_msg_proto_rawDescGZIP() []byte {
|
||||
file_viking_viking_msg_proto_rawDescOnce.Do(func() {
|
||||
file_viking_viking_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_viking_viking_msg_proto_rawDescData)
|
||||
})
|
||||
return file_viking_viking_msg_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_viking_viking_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
|
||||
var file_viking_viking_msg_proto_goTypes = []interface{}{
|
||||
(*VikingGetListReq)(nil), // 0: VikingGetListReq
|
||||
(*VikingGetListResp)(nil), // 1: VikingGetListResp
|
||||
(*VikingChallengeReq)(nil), // 2: VikingChallengeReq
|
||||
(*VikingChallengeResp)(nil), // 3: VikingChallengeResp
|
||||
(*VikingBuyReq)(nil), // 4: VikingBuyReq
|
||||
(*VikingBuyResp)(nil), // 5: VikingBuyResp
|
||||
(*VikingRankListReq)(nil), // 6: VikingRankListReq
|
||||
(*VikingRankListResp)(nil), // 7: VikingRankListResp
|
||||
(*DBViking)(nil), // 8: DBViking
|
||||
}
|
||||
var file_viking_viking_msg_proto_depIdxs = []int32{
|
||||
8, // 0: VikingGetListResp.data:type_name -> DBViking
|
||||
8, // 1: VikingChallengeResp.data:type_name -> DBViking
|
||||
8, // 2: VikingBuyResp.data:type_name -> DBViking
|
||||
3, // [3:3] is the sub-list for method output_type
|
||||
3, // [3:3] is the sub-list for method input_type
|
||||
3, // [3:3] is the sub-list for extension type_name
|
||||
3, // [3:3] is the sub-list for extension extendee
|
||||
0, // [0:3] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_viking_viking_msg_proto_init() }
|
||||
func file_viking_viking_msg_proto_init() {
|
||||
if File_viking_viking_msg_proto != nil {
|
||||
return
|
||||
}
|
||||
file_viking_viking_db_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_viking_viking_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*VikingGetListReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*VikingGetListResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*VikingChallengeReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*VikingChallengeResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*VikingBuyReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*VikingBuyResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*VikingRankListReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_viking_viking_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*VikingRankListResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_viking_viking_msg_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 8,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_viking_viking_msg_proto_goTypes,
|
||||
DependencyIndexes: file_viking_viking_msg_proto_depIdxs,
|
||||
MessageInfos: file_viking_viking_msg_proto_msgTypes,
|
||||
}.Build()
|
||||
File_viking_viking_msg_proto = out.File
|
||||
file_viking_viking_msg_proto_rawDesc = nil
|
||||
file_viking_viking_msg_proto_goTypes = nil
|
||||
file_viking_viking_msg_proto_depIdxs = nil
|
||||
}
|
@ -39,4 +39,5 @@ const (
|
||||
GameBuffType_HPDOWN = 27
|
||||
GameBuffType_EFFHITDOWN = 28
|
||||
GameBuffType_EFFREDOWN = 29
|
||||
GameBuffType_CAUSEDAMUP = 30
|
||||
)
|
||||
|
@ -44,4 +44,5 @@ const (
|
||||
GamePropertyType_Add_EffRe = 33
|
||||
GamePropertyType_ActValue = 34
|
||||
GamePropertyType_DamRe = 35
|
||||
GamePropertyType_CAUSEDAM = 36
|
||||
)
|
||||
|
@ -16,14 +16,7 @@ type GameRdtaskData struct {
|
||||
Type int32
|
||||
PreTid int32
|
||||
Condition []int32
|
||||
CD int32
|
||||
ObjType int32
|
||||
Point string
|
||||
StoryBegin int32
|
||||
StoryEnd int32
|
||||
ChooseId []int32
|
||||
Reward []*Gameatn
|
||||
NextTid int32
|
||||
Sidequest []int32
|
||||
}
|
||||
|
||||
const TypeId_GameRdtaskData = -358357379
|
||||
@ -51,40 +44,20 @@ func (_v *GameRdtaskData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["CD"].(float64); !_ok_ { err = errors.New("CD error"); return }; _v.CD = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["objType"].(float64); !_ok_ { err = errors.New("objType error"); return }; _v.ObjType = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Point, _ok_ = _buf["point"].(string); !_ok_ { err = errors.New("point error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["storyBegin"].(float64); !_ok_ { err = errors.New("storyBegin error"); return }; _v.StoryBegin = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["storyEnd"].(float64); !_ok_ { err = errors.New("storyEnd error"); return }; _v.StoryEnd = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["chooseId"].([]interface{}); !_ok_ { err = errors.New("chooseId error"); return }
|
||||
if _arr_, _ok_ = _buf["sidequest"].([]interface{}); !_ok_ { err = errors.New("sidequest error"); return }
|
||||
|
||||
_v.ChooseId = make([]int32, 0, len(_arr_))
|
||||
_v.Sidequest = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.ChooseId = append(_v.ChooseId, _list_v_)
|
||||
_v.Sidequest = append(_v.Sidequest, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return }
|
||||
|
||||
_v.Reward = 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.Reward = append(_v.Reward, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["nextTid"].(float64); !_ok_ { err = errors.New("nextTid error"); return }; _v.NextTid = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
|
42
sys/configure/structs/Game.RdtaskSide.go
Normal file
42
sys/configure/structs/Game.RdtaskSide.go
Normal 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 GameRdtaskSide struct {
|
||||
_dataMap map[int32]*GameRdtaskSideData
|
||||
_dataList []*GameRdtaskSideData
|
||||
}
|
||||
|
||||
func NewGameRdtaskSide(_buf []map[string]interface{}) (*GameRdtaskSide, error) {
|
||||
_dataList := make([]*GameRdtaskSideData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameRdtaskSideData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameRdtaskSideData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameRdtaskSide{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameRdtaskSide) GetDataMap() map[int32]*GameRdtaskSideData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameRdtaskSide) GetDataList() []*GameRdtaskSideData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameRdtaskSide) Get(key int32) *GameRdtaskSideData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
79
sys/configure/structs/Game.RdtaskSideData.go
Normal file
79
sys/configure/structs/Game.RdtaskSideData.go
Normal file
@ -0,0 +1,79 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GameRdtaskSideData struct {
|
||||
Id int32
|
||||
ObjType int32
|
||||
Point string
|
||||
StoryBegin int32
|
||||
StoryEnd int32
|
||||
ChooseId []int32
|
||||
Reward []*Gameatn
|
||||
CD int32
|
||||
NextTid int32
|
||||
EndTid int32
|
||||
}
|
||||
|
||||
const TypeId_GameRdtaskSideData = 865145588
|
||||
|
||||
func (*GameRdtaskSideData) GetTypeId() int32 {
|
||||
return 865145588
|
||||
}
|
||||
|
||||
func (_v *GameRdtaskSideData)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["objType"].(float64); !_ok_ { err = errors.New("objType error"); return }; _v.ObjType = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Point, _ok_ = _buf["point"].(string); !_ok_ { err = errors.New("point error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["storyBegin"].(float64); !_ok_ { err = errors.New("storyBegin error"); return }; _v.StoryBegin = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["storyEnd"].(float64); !_ok_ { err = errors.New("storyEnd error"); return }; _v.StoryEnd = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["chooseId"].([]interface{}); !_ok_ { err = errors.New("chooseId error"); return }
|
||||
|
||||
_v.ChooseId = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.ChooseId = append(_v.ChooseId, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return }
|
||||
|
||||
_v.Reward = 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.Reward = append(_v.Reward, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["CD"].(float64); !_ok_ { err = errors.New("CD error"); return }; _v.CD = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["nextTid"].(float64); !_ok_ { err = errors.New("nextTid error"); return }; _v.NextTid = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["endTid"].(float64); !_ok_ { err = errors.New("endTid error"); return }; _v.EndTid = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameRdtaskSideData(_buf map[string]interface{}) (*GameRdtaskSideData, error) {
|
||||
v := &GameRdtaskSideData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
@ -20,4 +20,8 @@ const (
|
||||
GameSkillEffectType_ShiftBuff = 9
|
||||
GameSkillEffectType_NowHpDps = 10
|
||||
GameSkillEffectType_AddActValue = 11
|
||||
GameSkillEffectType_DrawActValue = 12
|
||||
GameSkillEffectType_SkillCD = 13
|
||||
GameSkillEffectType_MaxDmg = 14
|
||||
GameSkillEffectType_RandBuff = 15
|
||||
)
|
||||
|
42
sys/configure/structs/Game.VikingBoss.go
Normal file
42
sys/configure/structs/Game.VikingBoss.go
Normal 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 GameVikingBoss struct {
|
||||
_dataMap map[int32]*GameVikingBossData
|
||||
_dataList []*GameVikingBossData
|
||||
}
|
||||
|
||||
func NewGameVikingBoss(_buf []map[string]interface{}) (*GameVikingBoss, error) {
|
||||
_dataList := make([]*GameVikingBossData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameVikingBossData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameVikingBossData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameVikingBoss{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameVikingBoss) GetDataMap() map[int32]*GameVikingBossData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameVikingBoss) GetDataList() []*GameVikingBossData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameVikingBoss) Get(key int32) *GameVikingBossData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
167
sys/configure/structs/Game.VikingBossData.go
Normal file
167
sys/configure/structs/Game.VikingBossData.go
Normal file
@ -0,0 +1,167 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GameVikingBossData struct {
|
||||
Id int32
|
||||
Type int32
|
||||
Name string
|
||||
Difficulty int32
|
||||
Captionrecommend []int32
|
||||
Firstprize []*Gameatn
|
||||
Dropshow []*Gameatn
|
||||
Drop int32
|
||||
Bossmodel int32
|
||||
Npcid1 []int32
|
||||
Npc1lv int32
|
||||
Npc1hp float32
|
||||
Npc1atk float32
|
||||
Npc1def float32
|
||||
Npcid2 []int32
|
||||
Npc2lv int32
|
||||
Npc2hp float32
|
||||
Npc2atk float32
|
||||
Npc2def float32
|
||||
Npcid3 []int32
|
||||
Npc3lv int32
|
||||
Npc3hp float32
|
||||
Npc3atk float32
|
||||
Npc3def float32
|
||||
Bosslv int32
|
||||
Bosshp float32
|
||||
Bossatk float32
|
||||
Bossdef float32
|
||||
}
|
||||
|
||||
const TypeId_GameVikingBossData = 550277405
|
||||
|
||||
func (*GameVikingBossData) GetTypeId() int32 {
|
||||
return 550277405
|
||||
}
|
||||
|
||||
func (_v *GameVikingBossData)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["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = 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["difficulty"].(float64); !_ok_ { err = errors.New("difficulty error"); return }; _v.Difficulty = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["captionrecommend"].([]interface{}); !_ok_ { err = errors.New("captionrecommend error"); return }
|
||||
|
||||
_v.Captionrecommend = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.Captionrecommend = append(_v.Captionrecommend, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["firstprize"].([]interface{}); !_ok_ { err = errors.New("firstprize error"); return }
|
||||
|
||||
_v.Firstprize = 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.Firstprize = append(_v.Firstprize, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
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_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["drop"].(float64); !_ok_ { err = errors.New("drop error"); return }; _v.Drop = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bossmodel"].(float64); !_ok_ { err = errors.New("bossmodel error"); return }; _v.Bossmodel = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["npcid1"].([]interface{}); !_ok_ { err = errors.New("npcid1 error"); return }
|
||||
|
||||
_v.Npcid1 = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.Npcid1 = append(_v.Npcid1, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc1lv"].(float64); !_ok_ { err = errors.New("npc1lv error"); return }; _v.Npc1lv = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc1hp"].(float64); !_ok_ { err = errors.New("npc1hp error"); return }; _v.Npc1hp = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc1atk"].(float64); !_ok_ { err = errors.New("npc1atk error"); return }; _v.Npc1atk = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc1def"].(float64); !_ok_ { err = errors.New("npc1def error"); return }; _v.Npc1def = float32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["npcid2"].([]interface{}); !_ok_ { err = errors.New("npcid2 error"); return }
|
||||
|
||||
_v.Npcid2 = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.Npcid2 = append(_v.Npcid2, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc2lv"].(float64); !_ok_ { err = errors.New("npc2lv error"); return }; _v.Npc2lv = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc2hp"].(float64); !_ok_ { err = errors.New("npc2hp error"); return }; _v.Npc2hp = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc2atk"].(float64); !_ok_ { err = errors.New("npc2atk error"); return }; _v.Npc2atk = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc2def"].(float64); !_ok_ { err = errors.New("npc2def error"); return }; _v.Npc2def = float32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["npcid3"].([]interface{}); !_ok_ { err = errors.New("npcid3 error"); return }
|
||||
|
||||
_v.Npcid3 = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.Npcid3 = append(_v.Npcid3, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc3lv"].(float64); !_ok_ { err = errors.New("npc3lv error"); return }; _v.Npc3lv = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc3hp"].(float64); !_ok_ { err = errors.New("npc3hp error"); return }; _v.Npc3hp = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc3atk"].(float64); !_ok_ { err = errors.New("npc3atk error"); return }; _v.Npc3atk = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc3def"].(float64); !_ok_ { err = errors.New("npc3def error"); return }; _v.Npc3def = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bosslv"].(float64); !_ok_ { err = errors.New("bosslv error"); return }; _v.Bosslv = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bosshp"].(float64); !_ok_ { err = errors.New("bosshp error"); return }; _v.Bosshp = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bossatk"].(float64); !_ok_ { err = errors.New("bossatk error"); return }; _v.Bossatk = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bossdef"].(float64); !_ok_ { err = errors.New("bossdef error"); return }; _v.Bossdef = float32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameVikingBossData(_buf map[string]interface{}) (*GameVikingBossData, error) {
|
||||
v := &GameVikingBossData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
42
sys/configure/structs/Game.VikingChallenge.go
Normal file
42
sys/configure/structs/Game.VikingChallenge.go
Normal 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 GameVikingChallenge struct {
|
||||
_dataMap map[int32]*GameVikingChallengeData
|
||||
_dataList []*GameVikingChallengeData
|
||||
}
|
||||
|
||||
func NewGameVikingChallenge(_buf []map[string]interface{}) (*GameVikingChallenge, error) {
|
||||
_dataList := make([]*GameVikingChallengeData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameVikingChallengeData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameVikingChallengeData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Buynum] = _v
|
||||
}
|
||||
}
|
||||
return &GameVikingChallenge{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameVikingChallenge) GetDataMap() map[int32]*GameVikingChallengeData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameVikingChallenge) GetDataList() []*GameVikingChallengeData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameVikingChallenge) Get(key int32) *GameVikingChallengeData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
50
sys/configure/structs/Game.VikingChallengeData.go
Normal file
50
sys/configure/structs/Game.VikingChallengeData.go
Normal 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"
|
||||
|
||||
type GameVikingChallengeData struct {
|
||||
Buynum int32
|
||||
Need []*Gameatn
|
||||
}
|
||||
|
||||
const TypeId_GameVikingChallengeData = 1311823367
|
||||
|
||||
func (*GameVikingChallengeData) GetTypeId() int32 {
|
||||
return 1311823367
|
||||
}
|
||||
|
||||
func (_v *GameVikingChallengeData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buynum"].(float64); !_ok_ { err = errors.New("buynum error"); return }; _v.Buynum = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["need"].([]interface{}); !_ok_ { err = errors.New("need error"); return }
|
||||
|
||||
_v.Need = 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.Need = append(_v.Need, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameVikingChallengeData(_buf map[string]interface{}) (*GameVikingChallengeData, error) {
|
||||
v := &GameVikingChallengeData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
@ -69,6 +69,7 @@ type Tables struct {
|
||||
Rdtask *GameRdtask
|
||||
RdtaskCondi *GameRdtaskCondi
|
||||
RdtaskChoose *GameRdtaskChoose
|
||||
RdtaskSide *GameRdtaskSide
|
||||
KungfuUnlock *GameKungfuUnlock
|
||||
KungfuMasterworker *GameKungfuMasterworker
|
||||
Gourmet *GameGourmet
|
||||
@ -76,6 +77,8 @@ type Tables struct {
|
||||
Drop *GameDrop
|
||||
Smithy *GameSmithy
|
||||
SmithyStove *GameSmithyStove
|
||||
VikingBoss *GameVikingBoss
|
||||
VikingChallenge *GameVikingChallenge
|
||||
}
|
||||
|
||||
func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
@ -431,6 +434,12 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
if tables.RdtaskChoose, err = NewGameRdtaskChoose(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_rdtaskside") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.RdtaskSide, err = NewGameRdtaskSide(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_kungfuunlock") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -473,5 +482,17 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
if tables.SmithyStove, err = NewGameSmithyStove(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_vikingboss") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.VikingBoss, err = NewGameVikingBoss(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_vikingchallenge") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.VikingChallenge, err = NewGameVikingChallenge(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return tables, nil
|
||||
}
|
||||
|
@ -12,6 +12,8 @@ import "errors"
|
||||
|
||||
type GameHeroStargrowData struct {
|
||||
Star int32
|
||||
Level int32
|
||||
Maxlevel int32
|
||||
StarupHp float32
|
||||
StarupAtk float32
|
||||
StarupDef float32
|
||||
@ -26,6 +28,8 @@ func (*GameHeroStargrowData) GetTypeId() int32 {
|
||||
|
||||
func (_v *GameHeroStargrowData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["level"].(float64); !_ok_ { err = errors.New("level error"); return }; _v.Level = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["maxlevel"].(float64); !_ok_ { err = errors.New("maxlevel error"); return }; _v.Maxlevel = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_hp"].(float64); !_ok_ { err = errors.New("starup_hp error"); return }; _v.StarupHp = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_atk"].(float64); !_ok_ { err = errors.New("starup_atk error"); return }; _v.StarupAtk = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_def"].(float64); !_ok_ { err = errors.New("starup_def error"); return }; _v.StarupDef = float32(_tempNum_) }
|
||||
|
@ -15,7 +15,6 @@ type GameRdtaskChooseData struct {
|
||||
Num int32
|
||||
PreTid int32
|
||||
NeedItem []int32
|
||||
EndTid int32
|
||||
}
|
||||
|
||||
const TypeId_GameRdtaskChooseData = -1833024780
|
||||
@ -42,7 +41,6 @@ func (_v *GameRdtaskChooseData)Deserialize(_buf map[string]interface{}) (err err
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["endTid"].(float64); !_ok_ { err = errors.New("endTid error"); return }; _v.EndTid = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user