Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
f4dd29bf2c
@ -108,5 +108,15 @@
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
},
|
||||
{
|
||||
"id": 111,
|
||||
"PlayType": "pvp",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
}
|
||||
]
|
File diff suppressed because it is too large
Load Diff
@ -48,5 +48,15 @@
|
||||
"ips": "10.0.0.85:7891",
|
||||
"debug": true,
|
||||
"sid": "dfmxf"
|
||||
},
|
||||
{
|
||||
"index": 6,
|
||||
"name": {
|
||||
"key": "debug_server_04",
|
||||
"text": "hjl"
|
||||
},
|
||||
"ips": "10.0.0.208:7891",
|
||||
"debug": true,
|
||||
"sid": "dfjl"
|
||||
}
|
||||
]
|
@ -104,37 +104,37 @@
|
||||
"camp3_pool1": "camp3_pool",
|
||||
"camp4_pool1": "camp4_pool",
|
||||
"base_pool1": {
|
||||
"s": 0,
|
||||
"e": 0,
|
||||
"s": 1,
|
||||
"e": 1,
|
||||
"p": "base_pool1"
|
||||
},
|
||||
"base_pool2": {
|
||||
"s": 1,
|
||||
"e": 99999,
|
||||
"s": 2,
|
||||
"e": 2,
|
||||
"p": "base_pool2"
|
||||
},
|
||||
"base_pool3": {
|
||||
"s": 100000,
|
||||
"e": 999999999,
|
||||
"p": "base_pool6"
|
||||
"s": 3,
|
||||
"e": 3,
|
||||
"p": "base_pool3"
|
||||
},
|
||||
"base_pool4": {
|
||||
"s": 99999999,
|
||||
"e": 999999999,
|
||||
"p": "base_pool7"
|
||||
"s": 4,
|
||||
"e": 4,
|
||||
"p": "base_pool4"
|
||||
},
|
||||
"base_pool5": {
|
||||
"s": 99999999,
|
||||
"e": 999999999,
|
||||
"p": "base_pool7"
|
||||
"s": 5,
|
||||
"e": 5,
|
||||
"p": "base_pool5"
|
||||
},
|
||||
"base_pool6": {
|
||||
"s": 99999999,
|
||||
"e": 999999999,
|
||||
"p": "base_pool7"
|
||||
"s": 6,
|
||||
"e": 6,
|
||||
"p": "base_pool6"
|
||||
},
|
||||
"base_pool7": {
|
||||
"s": 99999999,
|
||||
"s": 7,
|
||||
"e": 999999999,
|
||||
"p": "base_pool7"
|
||||
},
|
||||
|
@ -2601,9 +2601,9 @@
|
||||
},
|
||||
{
|
||||
"id": "55006",
|
||||
"preson": "11020",
|
||||
"presonshow": "11020_exhibition",
|
||||
"presonstory": "11020",
|
||||
"preson": "11021",
|
||||
"presonshow": "11021_exhibition",
|
||||
"presonstory": "11021",
|
||||
"presondraw": "",
|
||||
"height": 1,
|
||||
"weight": 1,
|
||||
|
@ -100,11 +100,5 @@
|
||||
"open": true,
|
||||
"routrules": "~/worker",
|
||||
"describe": "附魔副本排行榜数据"
|
||||
},
|
||||
{
|
||||
"msgid": "pvp",
|
||||
"open": true,
|
||||
"routrules": "~/worker",
|
||||
"describe": "同步竞技场"
|
||||
}
|
||||
]
|
918
bin/json/game_newsmithy.json
Normal file
918
bin/json/game_newsmithy.json
Normal file
@ -0,0 +1,918 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10201",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10301",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"temperature": 50,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 6
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 8
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 9
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 11
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 12
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 13
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 14
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 15
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 16
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 17
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 18
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 19
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 21
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 23
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 24
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 25
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"item_id": 0,
|
||||
"type": 1,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 26
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 28
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 29
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 30
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 31
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 32
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 33
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 34
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 36
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 37
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 38
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 39
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 40
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 41
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 42
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 42,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 43
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 43,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 44
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 44,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 45
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 45,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 46
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 46,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 47
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 47,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 48
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 49
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 49,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 50
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"item_id": 0,
|
||||
"type": 2,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 51
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 51,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 52
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 52,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 53
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 53,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 54
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 54,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 55
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 55,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 56
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 56,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 57
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 57,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 58
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 58,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 59
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 59,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 60
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 61
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 61,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 62
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 62,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 63
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 63,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 64
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 64,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 65
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 65,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 66
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 66,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 67
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 67,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 68
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 68,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 69
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 69,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 70
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 70,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 71
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 71,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 72
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 72,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 73
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 73,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 74
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 74,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 75
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 75,
|
||||
"item_id": 0,
|
||||
"type": 3,
|
||||
"consume": [],
|
||||
"temperature": 0,
|
||||
"quality": {
|
||||
"a": "item",
|
||||
"t": "20201",
|
||||
"n": 76
|
||||
}
|
||||
}
|
||||
]
|
@ -9,10 +9,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -35,10 +31,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -61,10 +53,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -109,10 +97,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -135,10 +119,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -161,10 +141,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -187,10 +163,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -213,10 +185,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -239,10 +207,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -265,10 +229,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -291,10 +251,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -317,10 +273,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -343,10 +295,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -369,10 +317,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -395,10 +339,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -421,10 +361,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -447,10 +383,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -473,10 +405,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -499,10 +427,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -525,10 +449,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -551,10 +471,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -577,10 +493,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -603,10 +515,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -629,10 +537,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -655,10 +559,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -681,10 +581,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -707,10 +603,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -755,10 +647,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -781,10 +669,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -807,10 +691,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -833,10 +713,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -859,10 +735,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -885,10 +757,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -911,10 +779,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -937,10 +801,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -963,10 +823,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -989,10 +845,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1015,10 +867,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1041,10 +889,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1067,10 +911,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1093,10 +933,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1119,10 +955,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1145,10 +977,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1171,10 +999,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1197,10 +1021,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1289,10 +1109,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1315,10 +1131,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1341,10 +1153,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1367,10 +1175,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1393,10 +1197,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1419,10 +1219,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1445,10 +1241,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1471,10 +1263,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1497,10 +1285,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1523,10 +1307,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1549,10 +1329,6 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1573,8 +1349,8 @@
|
||||
},
|
||||
"main": [
|
||||
{
|
||||
"key": 3,
|
||||
"param": 20010
|
||||
"key": 1,
|
||||
"param": 1
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1595,8 +1371,8 @@
|
||||
},
|
||||
"main": [
|
||||
{
|
||||
"key": 3,
|
||||
"param": 20010
|
||||
"key": 1,
|
||||
"param": 1
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1617,8 +1393,8 @@
|
||||
},
|
||||
"main": [
|
||||
{
|
||||
"key": 3,
|
||||
"param": 20010
|
||||
"key": 1,
|
||||
"param": 1
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
|
1006
bin/json/game_pandsmasexp.json
Normal file
1006
bin/json/game_pandsmasexp.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -4,7 +4,7 @@
|
||||
"privilege_type": 1,
|
||||
"privilege_DescribeFront": {
|
||||
"key": "privilege_10101",
|
||||
"text": "每日获得"
|
||||
"text": "购买后获得"
|
||||
},
|
||||
"privilege_DescribeAfter": {
|
||||
"key": "PrivilegeAfter_10101",
|
||||
@ -43,7 +43,7 @@
|
||||
"privilege_type": 1,
|
||||
"privilege_DescribeFront": {
|
||||
"key": "privilege_10201",
|
||||
"text": "每日获得"
|
||||
"text": "每日免费刷新商店"
|
||||
},
|
||||
"privilege_DescribeAfter": {
|
||||
"key": "PrivilegeAfter_10201",
|
||||
@ -56,11 +56,11 @@
|
||||
"privilege_type": 2,
|
||||
"privilege_DescribeFront": {
|
||||
"key": "privilege_10202",
|
||||
"text": "金币商店每日"
|
||||
"text": "每日获得"
|
||||
},
|
||||
"privilege_DescribeAfter": {
|
||||
"key": "PrivilegeAfter_10202",
|
||||
"text": "免费刷新次数+1"
|
||||
"text": "免费刷新次数+2"
|
||||
},
|
||||
"privilege_parameter": 1
|
||||
},
|
||||
@ -69,11 +69,11 @@
|
||||
"privilege_type": 7,
|
||||
"privilege_DescribeFront": {
|
||||
"key": "privilege_10203",
|
||||
"text": "巨怪商队"
|
||||
"text": "每周获得"
|
||||
},
|
||||
"privilege_DescribeAfter": {
|
||||
"key": "PrivilegeAfter_10203",
|
||||
"text": "背包容量+1"
|
||||
"text": "背包容量+2"
|
||||
},
|
||||
"privilege_parameter": 1
|
||||
},
|
||||
|
46
bin/json/game_smithycustomer.json
Normal file
46
bin/json/game_smithycustomer.json
Normal file
@ -0,0 +1,46 @@
|
||||
[
|
||||
{
|
||||
"customer_id": 1,
|
||||
"customer_type": 1,
|
||||
"customer_speak": {
|
||||
"key": "我需要{0}件【{1}】,如果你暂时没有备货的话我可以在这等一段时间,但不会太久。",
|
||||
"text": ""
|
||||
},
|
||||
"goods": [],
|
||||
"reword": [],
|
||||
"weight": 4500
|
||||
},
|
||||
{
|
||||
"customer_id": 2,
|
||||
"customer_type": 2,
|
||||
"customer_speak": {
|
||||
"key": "我需要{0}件【{1}】,如果你暂时没有备货的话我可以在这等一段时间,但不会太久。",
|
||||
"text": ""
|
||||
},
|
||||
"goods": [],
|
||||
"reword": [],
|
||||
"weight": 4500
|
||||
},
|
||||
{
|
||||
"customer_id": 3,
|
||||
"customer_type": 3,
|
||||
"customer_speak": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"goods": [],
|
||||
"reword": [],
|
||||
"weight": 500
|
||||
},
|
||||
{
|
||||
"customer_id": 4,
|
||||
"customer_type": 4,
|
||||
"customer_speak": {
|
||||
"key": "我有个宝贝,你要是喜欢的话便宜你点卖你。",
|
||||
"text": ""
|
||||
},
|
||||
"goods": [],
|
||||
"reword": [],
|
||||
"weight": 500
|
||||
}
|
||||
]
|
376
bin/json/game_smithyproficiency.json
Normal file
376
bin/json/game_smithyproficiency.json
Normal file
@ -0,0 +1,376 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"proficiency": 20,
|
||||
"reelId": 1,
|
||||
"proficiency_lv": 1,
|
||||
"title_text": {
|
||||
"key": "1",
|
||||
"text": "lv.{0}:熟练度{1}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "1",
|
||||
"text": "炉温消耗-{0}%"
|
||||
},
|
||||
"type": 1,
|
||||
"value1": 100,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"proficiency": 40,
|
||||
"reelId": 1,
|
||||
"proficiency_lv": 2,
|
||||
"title_text": {
|
||||
"key": "1",
|
||||
"text": "lv.{0}:熟练度{1}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "2",
|
||||
"text": "材料消耗减少"
|
||||
},
|
||||
"type": 2,
|
||||
"value1": 10001,
|
||||
"value2": -275
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"proficiency": 60,
|
||||
"reelId": 1,
|
||||
"proficiency_lv": 3,
|
||||
"title_text": {
|
||||
"key": "1",
|
||||
"text": "lv.{0}:熟练度{1}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "3",
|
||||
"text": "解锁图纸【紫金雷神锤】"
|
||||
},
|
||||
"type": 3,
|
||||
"value1": 2,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"proficiency": 80,
|
||||
"reelId": 1,
|
||||
"proficiency_lv": 4,
|
||||
"title_text": {
|
||||
"key": "1",
|
||||
"text": "lv.{0}:熟练度{1}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "4",
|
||||
"text": "解锁套装"
|
||||
},
|
||||
"type": 4,
|
||||
"value1": 5,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"proficiency": 100,
|
||||
"reelId": 1,
|
||||
"proficiency_lv": 5,
|
||||
"title_text": {
|
||||
"key": "1",
|
||||
"text": "lv.{0}:熟练度{1}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "5",
|
||||
"text": "{0}级装备售价提高{1}%"
|
||||
},
|
||||
"type": 5,
|
||||
"value1": 1,
|
||||
"value2": 10
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"proficiency": 120,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 1,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"proficiency": 140,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"proficiency": 160,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"proficiency": 180,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"proficiency": 200,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"proficiency": 220,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"proficiency": 240,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"proficiency": 260,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"proficiency": 280,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"proficiency": 300,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"proficiency": 0,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"proficiency": 0,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"proficiency": 0,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"proficiency": 0,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"proficiency": 0,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"proficiency": 0,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"proficiency": 0,
|
||||
"reelId": 0,
|
||||
"proficiency_lv": 0,
|
||||
"title_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"type": 0,
|
||||
"value1": 0,
|
||||
"value2": 0
|
||||
}
|
||||
]
|
262
bin/json/game_smithystovev1.json
Normal file
262
bin/json/game_smithystovev1.json
Normal file
@ -0,0 +1,262 @@
|
||||
[
|
||||
{
|
||||
"star": 1,
|
||||
"max_temperature": 2000,
|
||||
"temperature_recovery": 60,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"title_text": {
|
||||
"key": "1",
|
||||
"text": "冶炼炉lv.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"star": 2,
|
||||
"max_temperature": 2100,
|
||||
"temperature_recovery": 63,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"title_text": {
|
||||
"key": "2",
|
||||
"text": "冶炼炉lv.2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"star": 3,
|
||||
"max_temperature": 2200,
|
||||
"temperature_recovery": 66,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"title_text": {
|
||||
"key": "3",
|
||||
"text": "冶炼炉lv.3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"star": 4,
|
||||
"max_temperature": 2300,
|
||||
"temperature_recovery": 69,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"title_text": {
|
||||
"key": "4",
|
||||
"text": "冶炼炉lv.4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"star": 5,
|
||||
"max_temperature": 2400,
|
||||
"temperature_recovery": 72,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"title_text": {
|
||||
"key": "5",
|
||||
"text": "冶炼炉lv.5"
|
||||
}
|
||||
},
|
||||
{
|
||||
"star": 6,
|
||||
"max_temperature": 2500,
|
||||
"temperature_recovery": 75,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"title_text": {
|
||||
"key": "6",
|
||||
"text": "冶炼炉lv.6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"star": 7,
|
||||
"max_temperature": 2600,
|
||||
"temperature_recovery": 78,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"title_text": {
|
||||
"key": "7",
|
||||
"text": "冶炼炉lv.7"
|
||||
}
|
||||
},
|
||||
{
|
||||
"star": 8,
|
||||
"max_temperature": 2700,
|
||||
"temperature_recovery": 81,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"title_text": {
|
||||
"key": "8",
|
||||
"text": "冶炼炉lv.8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"star": 9,
|
||||
"max_temperature": 2800,
|
||||
"temperature_recovery": 84,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"title_text": {
|
||||
"key": "9",
|
||||
"text": "冶炼炉lv.9"
|
||||
}
|
||||
},
|
||||
{
|
||||
"star": 10,
|
||||
"max_temperature": 3000,
|
||||
"temperature_recovery": 90,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"title_text": {
|
||||
"key": "10",
|
||||
"text": "冶炼炉lv.10"
|
||||
}
|
||||
}
|
||||
]
|
962
bin/json/game_smithytool.json
Normal file
962
bin/json/game_smithytool.json
Normal file
@ -0,0 +1,962 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"skill_type": 1,
|
||||
"skill_lv": 1,
|
||||
"preconditions": 0,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"name_text": {
|
||||
"key": "1",
|
||||
"text": "测量尺lv.{0}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "1",
|
||||
"text": "史诗品质概率提升{0}%"
|
||||
},
|
||||
"value": 5
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"skill_type": 1,
|
||||
"skill_lv": 2,
|
||||
"preconditions": 0,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"name_text": {
|
||||
"key": "2",
|
||||
"text": "测量尺lv.{0}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "2",
|
||||
"text": "史诗品质概率提升{0}%"
|
||||
},
|
||||
"value": 10
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"skill_type": 1,
|
||||
"skill_lv": 3,
|
||||
"preconditions": 0,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"name_text": {
|
||||
"key": "3",
|
||||
"text": "测量尺lv.{0}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "3",
|
||||
"text": "史诗品质概率提升{0}%"
|
||||
},
|
||||
"value": 15
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"skill_type": 1,
|
||||
"skill_lv": 4,
|
||||
"preconditions": 0,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"name_text": {
|
||||
"key": "4",
|
||||
"text": "测量尺lv.{0}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "4",
|
||||
"text": "史诗品质概率提升{0}%"
|
||||
},
|
||||
"value": 20
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"skill_type": 1,
|
||||
"skill_lv": 5,
|
||||
"preconditions": 0,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"name_text": {
|
||||
"key": "5",
|
||||
"text": "测量尺lv.{0}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "5",
|
||||
"text": "史诗品质概率提升{0}%"
|
||||
},
|
||||
"value": 25
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"skill_type": 1,
|
||||
"skill_lv": 6,
|
||||
"preconditions": 0,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"name_text": {
|
||||
"key": "6",
|
||||
"text": "测量尺lv.{0}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "6",
|
||||
"text": "史诗品质概率提升{0}%"
|
||||
},
|
||||
"value": 30
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"skill_type": 1,
|
||||
"skill_lv": 7,
|
||||
"preconditions": 0,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"name_text": {
|
||||
"key": "7",
|
||||
"text": "测量尺lv.{0}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "7",
|
||||
"text": "史诗品质概率提升{0}%"
|
||||
},
|
||||
"value": 35
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"skill_type": 1,
|
||||
"skill_lv": 8,
|
||||
"preconditions": 0,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"name_text": {
|
||||
"key": "8",
|
||||
"text": "测量尺lv.{0}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "8",
|
||||
"text": "史诗品质概率提升{0}%"
|
||||
},
|
||||
"value": 40
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"skill_type": 1,
|
||||
"skill_lv": 9,
|
||||
"preconditions": 0,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"name_text": {
|
||||
"key": "9",
|
||||
"text": "测量尺lv.{0}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "9",
|
||||
"text": "史诗品质概率提升{0}%"
|
||||
},
|
||||
"value": 45
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"skill_type": 1,
|
||||
"skill_lv": 10,
|
||||
"preconditions": 0,
|
||||
"up_material": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 3
|
||||
}
|
||||
],
|
||||
"name_text": {
|
||||
"key": "10",
|
||||
"text": "测量尺lv.{0}"
|
||||
},
|
||||
"content_text": {
|
||||
"key": "10",
|
||||
"text": "史诗品质概率提升{0}%"
|
||||
},
|
||||
"value": 50
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"skill_type": 2,
|
||||
"skill_lv": 1,
|
||||
"preconditions": 5,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "11",
|
||||
"text": "所有装备售价提升{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"skill_type": 2,
|
||||
"skill_lv": 2,
|
||||
"preconditions": 15,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "12",
|
||||
"text": "所有装备售价提升{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"skill_type": 2,
|
||||
"skill_lv": 3,
|
||||
"preconditions": 15,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "13",
|
||||
"text": "所有装备售价提升{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"skill_type": 2,
|
||||
"skill_lv": 4,
|
||||
"preconditions": 15,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "14",
|
||||
"text": "所有装备售价提升{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"skill_type": 2,
|
||||
"skill_lv": 5,
|
||||
"preconditions": 15,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "15",
|
||||
"text": "所有装备售价提升{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"skill_type": 2,
|
||||
"skill_lv": 6,
|
||||
"preconditions": 15,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "16",
|
||||
"text": "所有装备售价提升{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"skill_type": 2,
|
||||
"skill_lv": 7,
|
||||
"preconditions": 15,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "17",
|
||||
"text": "所有装备售价提升{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"skill_type": 2,
|
||||
"skill_lv": 8,
|
||||
"preconditions": 15,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "18",
|
||||
"text": "所有装备售价提升{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"skill_type": 2,
|
||||
"skill_lv": 9,
|
||||
"preconditions": 15,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "19",
|
||||
"text": "所有装备售价提升{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"skill_type": 2,
|
||||
"skill_lv": 10,
|
||||
"preconditions": 15,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "20",
|
||||
"text": "所有装备售价提升{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"skill_type": 3,
|
||||
"skill_lv": 1,
|
||||
"preconditions": 25,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "21",
|
||||
"text": "所有图纸炉温消耗减少{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"skill_type": 3,
|
||||
"skill_lv": 2,
|
||||
"preconditions": 25,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "22",
|
||||
"text": "所有图纸炉温消耗减少{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"skill_type": 3,
|
||||
"skill_lv": 3,
|
||||
"preconditions": 25,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "23",
|
||||
"text": "所有图纸炉温消耗减少{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"skill_type": 3,
|
||||
"skill_lv": 4,
|
||||
"preconditions": 25,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "24",
|
||||
"text": "所有图纸炉温消耗减少{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"skill_type": 3,
|
||||
"skill_lv": 5,
|
||||
"preconditions": 25,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "25",
|
||||
"text": "所有图纸炉温消耗减少{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"skill_type": 3,
|
||||
"skill_lv": 6,
|
||||
"preconditions": 25,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "26",
|
||||
"text": "所有图纸炉温消耗减少{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"skill_type": 3,
|
||||
"skill_lv": 7,
|
||||
"preconditions": 25,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "27",
|
||||
"text": "所有图纸炉温消耗减少{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"skill_type": 3,
|
||||
"skill_lv": 8,
|
||||
"preconditions": 25,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "28",
|
||||
"text": "所有图纸炉温消耗减少{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"skill_type": 3,
|
||||
"skill_lv": 9,
|
||||
"preconditions": 25,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "29",
|
||||
"text": "所有图纸炉温消耗减少{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"skill_type": 3,
|
||||
"skill_lv": 10,
|
||||
"preconditions": 25,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "30",
|
||||
"text": "所有图纸炉温消耗减少{0}%"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"skill_type": 4,
|
||||
"skill_lv": 1,
|
||||
"preconditions": 35,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "31",
|
||||
"text": "每日顾客数量提升至{0}人"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"skill_type": 4,
|
||||
"skill_lv": 2,
|
||||
"preconditions": 35,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "32",
|
||||
"text": "每日顾客数量提升至{0}人"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"skill_type": 4,
|
||||
"skill_lv": 3,
|
||||
"preconditions": 35,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "33",
|
||||
"text": "每日顾客数量提升至{0}人"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"skill_type": 4,
|
||||
"skill_lv": 4,
|
||||
"preconditions": 35,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "34",
|
||||
"text": "每日顾客数量提升至{0}人"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"skill_type": 4,
|
||||
"skill_lv": 5,
|
||||
"preconditions": 35,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "35",
|
||||
"text": "每日顾客数量提升至{0}人"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"skill_type": 4,
|
||||
"skill_lv": 6,
|
||||
"preconditions": 35,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "36",
|
||||
"text": "每日顾客数量提升至{0}人"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"skill_type": 4,
|
||||
"skill_lv": 7,
|
||||
"preconditions": 35,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "37",
|
||||
"text": "每日顾客数量提升至{0}人"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"skill_type": 4,
|
||||
"skill_lv": 8,
|
||||
"preconditions": 35,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "38",
|
||||
"text": "每日顾客数量提升至{0}人"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"skill_type": 4,
|
||||
"skill_lv": 9,
|
||||
"preconditions": 35,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "39",
|
||||
"text": "每日顾客数量提升至{0}人"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"skill_type": 4,
|
||||
"skill_lv": 10,
|
||||
"preconditions": 35,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "40",
|
||||
"text": "每日顾客数量提升至{0}人"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"skill_type": 5,
|
||||
"skill_lv": 1,
|
||||
"preconditions": 45,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "41",
|
||||
"text": "顾客购买装备数量上限提高至{0}件"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 42,
|
||||
"skill_type": 5,
|
||||
"skill_lv": 2,
|
||||
"preconditions": 45,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "42",
|
||||
"text": "顾客购买装备数量上限提高至{0}件"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 43,
|
||||
"skill_type": 5,
|
||||
"skill_lv": 3,
|
||||
"preconditions": 45,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "43",
|
||||
"text": "顾客购买装备数量上限提高至{0}件"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 44,
|
||||
"skill_type": 5,
|
||||
"skill_lv": 4,
|
||||
"preconditions": 45,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "44",
|
||||
"text": "顾客购买装备数量上限提高至{0}件"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 45,
|
||||
"skill_type": 5,
|
||||
"skill_lv": 5,
|
||||
"preconditions": 45,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "45",
|
||||
"text": "顾客购买装备数量上限提高至{0}件"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 46,
|
||||
"skill_type": 5,
|
||||
"skill_lv": 6,
|
||||
"preconditions": 45,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "46",
|
||||
"text": "顾客购买装备数量上限提高至{0}件"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 47,
|
||||
"skill_type": 5,
|
||||
"skill_lv": 7,
|
||||
"preconditions": 45,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "47",
|
||||
"text": "顾客购买装备数量上限提高至{0}件"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"skill_type": 5,
|
||||
"skill_lv": 8,
|
||||
"preconditions": 45,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "48",
|
||||
"text": "顾客购买装备数量上限提高至{0}件"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 49,
|
||||
"skill_type": 5,
|
||||
"skill_lv": 9,
|
||||
"preconditions": 45,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "49",
|
||||
"text": "顾客购买装备数量上限提高至{0}件"
|
||||
},
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"skill_type": 5,
|
||||
"skill_lv": 10,
|
||||
"preconditions": 45,
|
||||
"up_material": [],
|
||||
"name_text": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
},
|
||||
"content_text": {
|
||||
"key": "50",
|
||||
"text": "顾客购买装备数量上限提高至{0}件"
|
||||
},
|
||||
"value": 0
|
||||
}
|
||||
]
|
@ -22,7 +22,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -67,7 +67,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -112,7 +112,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -157,7 +157,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -202,7 +202,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -247,7 +247,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -292,7 +292,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -337,7 +337,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -382,7 +382,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -427,7 +427,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -472,7 +472,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -517,7 +517,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -562,7 +562,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -607,7 +607,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
@ -652,7 +652,7 @@
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"tips": {
|
||||
"key": "mainline_desc_10001",
|
||||
"key": "mainline_desc_X",
|
||||
"text": "在实战中学习能够影响攻击力和防御力的技能作用"
|
||||
},
|
||||
"task": [
|
||||
|
@ -1,110 +1,218 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"goodsname": "物品1",
|
||||
"goodsname": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品1"
|
||||
},
|
||||
"goodsfor": 1,
|
||||
"goodsinfor": "物品1货品信息",
|
||||
"goodsinfor": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品1货品信息"
|
||||
},
|
||||
"goodsicon": "clmsg_ll_01",
|
||||
"goodsprice": 2000,
|
||||
"star_money": 12000,
|
||||
"uptext": "听说最近黑色峡谷的蘑菇供应不求,如果碰上,你或许可以囤积一些",
|
||||
"suptext": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!",
|
||||
"uptext": {
|
||||
"key": "hearsay1",
|
||||
"text": "听说最近黑色峡谷的蘑菇供应不求,如果碰上,你或许可以囤积一些"
|
||||
},
|
||||
"suptext": {
|
||||
"key": "suphearsay",
|
||||
"text": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!"
|
||||
},
|
||||
"max": 40
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"goodsname": "物品2",
|
||||
"goodsname": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品2"
|
||||
},
|
||||
"goodsfor": 1,
|
||||
"goodsinfor": "物品2货品信息",
|
||||
"goodsinfor": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品2货品信息"
|
||||
},
|
||||
"goodsicon": "clmsg_ll_02",
|
||||
"goodsprice": 2000,
|
||||
"star_money": 13000,
|
||||
"uptext": "嘿,你有听说过老人与海的故事吗,没听过也不打紧,一些贵族正在收购一批海鱼,价格都已经被炒上天了,留意这个发财的机会,兄弟。",
|
||||
"suptext": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!",
|
||||
"uptext": {
|
||||
"key": "hearsay2",
|
||||
"text": "嘿,你有听说过老人与海的故事吗,没听过也不打紧,一些贵族正在收购一批海鱼,价格都已经被炒上天了,留意这个发财的机会,兄弟。"
|
||||
},
|
||||
"suptext": {
|
||||
"key": "suphearsay",
|
||||
"text": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!"
|
||||
},
|
||||
"max": 40
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"goodsname": "物品3",
|
||||
"goodsname": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品3"
|
||||
},
|
||||
"goodsfor": 1,
|
||||
"goodsinfor": "物品3货品信息",
|
||||
"goodsinfor": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品3货品信息"
|
||||
},
|
||||
"goodsicon": "clmsg_ll_03",
|
||||
"goodsprice": 2000,
|
||||
"star_money": 14000,
|
||||
"uptext": "没人会拒绝寻香草的诱惑,尤其是商人,你说对吧。我有一个老主顾,他的孩子满月,现在正需要很多这个玩意,记得留心一下哦~",
|
||||
"suptext": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!",
|
||||
"uptext": {
|
||||
"key": "hearsay3",
|
||||
"text": "没人会拒绝寻香草的诱惑,尤其是商人,你说对吧。我有一个老主顾,他的孩子满月,现在正需要很多这个玩意,记得留心一下哦~"
|
||||
},
|
||||
"suptext": {
|
||||
"key": "suphearsay",
|
||||
"text": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!"
|
||||
},
|
||||
"max": 40
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"goodsname": "物品4",
|
||||
"goodsname": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品4"
|
||||
},
|
||||
"goodsfor": 2,
|
||||
"goodsinfor": "物品4货品信息",
|
||||
"goodsinfor": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品4货品信息"
|
||||
},
|
||||
"goodsicon": "clmsg_ll_04",
|
||||
"goodsprice": 2000,
|
||||
"star_money": 11000,
|
||||
"uptext": "好吧,你消息你运气来了,神龙大年久失修,正需要一批上好的木材,而你的下一个目的地......啧啧啧,有时候我真羡慕你的运气。",
|
||||
"suptext": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!",
|
||||
"uptext": {
|
||||
"key": "hearsay4",
|
||||
"text": "好吧,你消息你运气来了,神龙大年久失修,正需要一批上好的木材,而你的下一个目的地......啧啧啧,有时候我真羡慕你的运气。"
|
||||
},
|
||||
"suptext": {
|
||||
"key": "suphearsay",
|
||||
"text": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!"
|
||||
},
|
||||
"max": 40
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"goodsname": "物品5",
|
||||
"goodsname": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品5"
|
||||
},
|
||||
"goodsfor": 2,
|
||||
"goodsinfor": "物品5货品信息",
|
||||
"goodsinfor": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品5货品信息"
|
||||
},
|
||||
"goodsicon": "clmsg_ll_05",
|
||||
"goodsprice": 2000,
|
||||
"star_money": 1000,
|
||||
"uptext": "这次是我的私人消息,听说阿宝的某一个师兄越狱了,正在到处进行破坏,各地的村民都在收购铁器以备不时之需。我知道这很缺德,但咱们可是商人,赚谁的钱不是赚?",
|
||||
"suptext": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!",
|
||||
"uptext": {
|
||||
"key": "hearsay5",
|
||||
"text": "这次是我的私人消息,听说阿宝的某一个师兄越狱了,正在到处进行破坏,各地的村民都在收购铁器以备不时之需。我知道这很缺德,但咱们可是商人,赚谁的钱不是赚?"
|
||||
},
|
||||
"suptext": {
|
||||
"key": "suphearsay",
|
||||
"text": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!"
|
||||
},
|
||||
"max": 30
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"goodsname": "物品6",
|
||||
"goodsname": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品6"
|
||||
},
|
||||
"goodsfor": 2,
|
||||
"goodsinfor": "物品6货品信息",
|
||||
"goodsinfor": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品6货品信息"
|
||||
},
|
||||
"goodsicon": "wp_icon_0003",
|
||||
"goodsprice": 2000,
|
||||
"star_money": 2000,
|
||||
"uptext": "一根上号的雪茄,一杯威士忌,还有一把趁手的兵器,这或许就是男人最大的浪漫了。那帮维京人马上就要开始捕羊大赛了,你猜猜他们现在最需要什么?那可是场庆典,你懂得~",
|
||||
"suptext": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!",
|
||||
"uptext": {
|
||||
"key": "hearsay6",
|
||||
"text": "一根上号的雪茄,一杯威士忌,还有一把趁手的兵器,这或许就是男人最大的浪漫了。那帮维京人马上就要开始捕羊大赛了,你猜猜他们现在最需要什么?那可是场庆典,你懂得~"
|
||||
},
|
||||
"suptext": {
|
||||
"key": "suphearsay",
|
||||
"text": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!"
|
||||
},
|
||||
"max": 30
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"goodsname": "物品7",
|
||||
"goodsname": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品7"
|
||||
},
|
||||
"goodsfor": 3,
|
||||
"goodsinfor": "物品7货品信息",
|
||||
"goodsinfor": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品7货品信息"
|
||||
},
|
||||
"goodsicon": "wp_icon_10002",
|
||||
"goodsprice": 2000,
|
||||
"star_money": 1000,
|
||||
"uptext": "听说了吗,维京人的山谷总是会传来恐怖的怒吼,那嗓门,一听就知道肯定是一个大家伙,现在我认识的很多部落的族长都在收购武器,你知道该怎么做,不是吗?",
|
||||
"suptext": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!",
|
||||
"uptext": {
|
||||
"key": "hearsay7",
|
||||
"text": "听说了吗,维京人的山谷总是会传来恐怖的怒吼,那嗓门,一听就知道肯定是一个大家伙,现在我认识的很多部落的族长都在收购武器,你知道该怎么做,不是吗?"
|
||||
},
|
||||
"suptext": {
|
||||
"key": "suphearsay",
|
||||
"text": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!"
|
||||
},
|
||||
"max": 30
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"goodsname": "物品8",
|
||||
"goodsname": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品8"
|
||||
},
|
||||
"goodsfor": 3,
|
||||
"goodsinfor": "物品8货品信息",
|
||||
"goodsinfor": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品8货品信息"
|
||||
},
|
||||
"goodsicon": "wp_icon_10012",
|
||||
"goodsprice": 2000,
|
||||
"star_money": 3000,
|
||||
"uptext": "怪物史莱克你听说过吗,最近有消息他要带着他的公主一起来中轴城,并决定举办一场庆典,虽然我不知道他哪儿来的钱办庆典,但对于我们这种优良的商人来说,庆典就意味着可以赚大把的钱,你知道该准备什么了吗?",
|
||||
"suptext": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!",
|
||||
"uptext": {
|
||||
"key": "hearsay8",
|
||||
"text": "怪物史莱克你听说过吗,最近有消息他要带着他的公主一起来中轴城,并决定举办一场庆典,虽然我不知道他哪儿来的钱办庆典,但对于我们这种优良的商人来说,庆典就意味着可以赚大把的钱,你知道该准备什么了吗?"
|
||||
},
|
||||
"suptext": {
|
||||
"key": "suphearsay",
|
||||
"text": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!"
|
||||
},
|
||||
"max": 30
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"goodsname": "物品9",
|
||||
"goodsname": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品9"
|
||||
},
|
||||
"goodsfor": 3,
|
||||
"goodsinfor": "物品9货品信息",
|
||||
"goodsinfor": {
|
||||
"key": "itemname_40002",
|
||||
"text": "物品9货品信息"
|
||||
},
|
||||
"goodsicon": "wp_icon_10014",
|
||||
"goodsprice": 2000,
|
||||
"star_money": 4000,
|
||||
"uptext": "我很喜欢完游戏,因为我总能在里面不劳而获的得到诸多宝藏,你听说了吗,最近一个神秘的洞穴出现在丛林区,而当地的那些原始人,可是从中捞了不少宝贝,我们说不定可以从那些原始人手里捞上一笔,然后去中轴城高价卖出。",
|
||||
"suptext": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!",
|
||||
"uptext": {
|
||||
"key": "hearsay9",
|
||||
"text": "我很喜欢完游戏,因为我总能在里面不劳而获的得到诸多宝藏,你听说了吗,最近一个神秘的洞穴出现在丛林区,而当地的那些原始人,可是从中捞了不少宝贝,我们说不定可以从那些原始人手里捞上一笔,然后去中轴城高价卖出。"
|
||||
},
|
||||
"suptext": {
|
||||
"key": "suphearsay",
|
||||
"text": "我有一个好消息告诉你,咱们即将赚大发了,在下一个地区!"
|
||||
},
|
||||
"max": 30
|
||||
}
|
||||
]
|
@ -7,6 +7,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01",
|
||||
"旧时光1-指挥部杰克",
|
||||
@ -29,6 +41,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"display_platform_04_02",
|
||||
"旧时光1-住所主角",
|
||||
@ -51,6 +75,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"display_platform_04_02",
|
||||
"旧时光1-住所平先生",
|
||||
@ -73,6 +109,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"display_platform_04_02",
|
||||
"旧时光1-住所平先生",
|
||||
@ -95,6 +143,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"旧时光1-指挥部阿宝",
|
||||
@ -117,6 +177,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"旧时光1-指挥部杰克",
|
||||
@ -139,6 +211,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"dreamwork_jungle_playershow_01",
|
||||
"旧时光1-森林小道阿宝",
|
||||
@ -161,6 +245,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"dreamwork_jungle_playershow_01",
|
||||
"旧时光1-森林小道 阿宝",
|
||||
@ -183,6 +279,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"scenesfight_03_02",
|
||||
"旧时光1-竹林豺狼小怪",
|
||||
@ -205,6 +313,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"scenesfight_03_02",
|
||||
"旧时光1-竹林阿宝",
|
||||
@ -227,6 +347,18 @@
|
||||
"group": 101,
|
||||
"des": 3,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "旧时光"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "阿宝学功夫"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新剧情"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"旧时光1-指挥部杰克",
|
||||
@ -249,6 +381,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
@ -271,6 +415,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
@ -293,6 +449,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"1.新手引导-花朵-中轴城",
|
||||
@ -315,6 +483,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"1.新手引导-花朵-中轴城",
|
||||
@ -337,6 +517,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
@ -359,6 +551,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"3新手引导-波比-正常待机-中轴城",
|
||||
@ -381,6 +585,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"2新手引导-邦尼兔-正常待机-中轴城",
|
||||
@ -409,6 +625,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"新手引导-波比-右屏圣树1",
|
||||
@ -431,6 +659,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_kongfupanda_01",
|
||||
"新手引导-波比-右屏圣树2",
|
||||
@ -453,6 +693,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_kongfupanda_01",
|
||||
"新手引导-豺狼人-右屏圣树",
|
||||
@ -481,6 +733,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_kongfupanda_01",
|
||||
"新手引导-豺狼人-右屏圣树",
|
||||
@ -503,6 +767,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_kongfupanda_01",
|
||||
"新手引导-圣树下的黑洞",
|
||||
@ -525,6 +801,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_kongfupanda_01",
|
||||
"新手引导-波比-犀牛守卫",
|
||||
@ -547,6 +835,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_kongfupanda_01",
|
||||
"新手引导-波比-右屏圣树3",
|
||||
@ -569,6 +869,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_kongfupanda_01",
|
||||
"新手引导-波比-右屏圣树3",
|
||||
@ -591,6 +903,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
@ -613,6 +937,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
@ -635,6 +971,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
@ -657,6 +1005,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
@ -685,6 +1045,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_smithy_01",
|
||||
"暴夫纳特铁匠铺",
|
||||
@ -707,6 +1079,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_smithy_01",
|
||||
"暴夫纳特铁匠铺",
|
||||
@ -729,6 +1113,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
@ -751,6 +1147,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
@ -773,6 +1181,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
@ -795,6 +1215,18 @@
|
||||
"group": 2,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_Tname": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_name": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"task_display": {
|
||||
"key": "story_80",
|
||||
"text": "新手引导"
|
||||
},
|
||||
"npc": [
|
||||
"scenes_boundary_01_recordtask",
|
||||
"0新手引导-杰克-中轴城常驻待机",
|
||||
|
@ -126,6 +126,26 @@ func main() {
|
||||
})
|
||||
})
|
||||
|
||||
// 同步配置
|
||||
// 接受客户端上传的文件覆盖服务器上文件
|
||||
r.POST("/sync", func(c *gin.Context) {
|
||||
f, err := c.FormFile("file")
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
return
|
||||
}
|
||||
if f.Filename!="config.json"{
|
||||
log.Print("上传的配置文件不是config.json")
|
||||
return
|
||||
}
|
||||
dst := path.Join(*wwwDir, f.Filename)
|
||||
err = c.SaveUploadedFile(f, dst)
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
return
|
||||
}
|
||||
})
|
||||
|
||||
err := r.Run("0.0.0.0:" + *port)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
|
@ -4,5 +4,5 @@ Website = "http://legu.cc"
|
||||
Icon = "app.png"
|
||||
Name = "RobotGUI"
|
||||
ID = "cc.legu.app"
|
||||
Version = "1.2.9"
|
||||
Build = 39
|
||||
Version = "1.2.10"
|
||||
Build = 40
|
||||
|
@ -1,42 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GameTaskCond struct {
|
||||
_dataMap map[int32]*GameTaskCondData
|
||||
_dataList []*GameTaskCondData
|
||||
}
|
||||
|
||||
func NewGameTaskCond(_buf []map[string]interface{}) (*GameTaskCond, error) {
|
||||
_dataList := make([]*GameTaskCondData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameTaskCondData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameTaskCondData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameTaskCond{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameTaskCond) GetDataMap() map[int32]*GameTaskCondData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameTaskCond) GetDataList() []*GameTaskCondData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameTaskCond) Get(key int32) *GameTaskCondData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
@ -1,47 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GameTaskCondData struct {
|
||||
Id int32
|
||||
Type int32
|
||||
Data1 int32
|
||||
Data2 int32
|
||||
Data3 int32
|
||||
Data4 int32
|
||||
Data5 int32
|
||||
}
|
||||
|
||||
const TypeId_GameTaskCondData = -1719868659
|
||||
|
||||
func (*GameTaskCondData) GetTypeId() int32 {
|
||||
return -1719868659
|
||||
}
|
||||
|
||||
func (_v *GameTaskCondData)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 _tempNum_ float64; if _tempNum_, _ok_ = _buf["data1"].(float64); !_ok_ { err = errors.New("data1 error"); return }; _v.Data1 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["data2"].(float64); !_ok_ { err = errors.New("data2 error"); return }; _v.Data2 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["data3"].(float64); !_ok_ { err = errors.New("data3 error"); return }; _v.Data3 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["data4"].(float64); !_ok_ { err = errors.New("data4 error"); return }; _v.Data4 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["data5"].(float64); !_ok_ { err = errors.New("data5 error"); return }; _v.Data5 = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameTaskCondData(_buf map[string]interface{}) (*GameTaskCondData, error) {
|
||||
v := &GameTaskCondData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GameTestFlow struct {
|
||||
_dataMap map[int32]*GameTestFlowData
|
||||
_dataList []*GameTestFlowData
|
||||
}
|
||||
|
||||
func NewGameTestFlow(_buf []map[string]interface{}) (*GameTestFlow, error) {
|
||||
_dataList := make([]*GameTestFlowData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameTestFlowData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameTestFlowData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameTestFlow{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameTestFlow) GetDataMap() map[int32]*GameTestFlowData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameTestFlow) GetDataList() []*GameTestFlowData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameTestFlow) Get(key int32) *GameTestFlowData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
@ -1,41 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GameTestFlowData struct {
|
||||
Id int32
|
||||
Msg string
|
||||
Route string
|
||||
Params string
|
||||
}
|
||||
|
||||
const TypeId_GameTestFlowData = -1087831770
|
||||
|
||||
func (*GameTestFlowData) GetTypeId() int32 {
|
||||
return -1087831770
|
||||
}
|
||||
|
||||
func (_v *GameTestFlowData)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; if _v.Msg, _ok_ = _buf["msg"].(string); !_ok_ { err = errors.New("msg error"); return } }
|
||||
{ var _ok_ bool; if _v.Route, _ok_ = _buf["route"].(string); !_ok_ { err = errors.New("route error"); return } }
|
||||
{ var _ok_ bool; if _v.Params, _ok_ = _buf["params"].(string); !_ok_ { err = errors.New("params error"); return } }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameTestFlowData(_buf map[string]interface{}) (*GameTestFlowData, error) {
|
||||
v := &GameTestFlowData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 JsonLoader func(string) ([]map[string]interface{}, error)
|
||||
|
||||
type Tables struct {
|
||||
TestFlow *GameTestFlow
|
||||
TaskCond *GameTaskCond
|
||||
}
|
||||
|
||||
func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
var err error
|
||||
var buf []map[string]interface{}
|
||||
|
||||
tables := &Tables{}
|
||||
|
||||
if buf, err = loader("game_testflow"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.TestFlow, err = NewGameTestFlow(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if buf, err = loader("game_taskcond"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.TaskCond, err = NewGameTaskCond(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return tables, nil
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,9 +0,0 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"msg": "功能列表",
|
||||
"route": "sys.funclist",
|
||||
"params": "{}"
|
||||
}
|
||||
|
||||
]
|
@ -98,6 +98,7 @@ const (
|
||||
TOOLBAR_AUTO = "自动化"
|
||||
TOOLBAR_PING = "端口扫描"
|
||||
TOOLBAR_MGODB = "MongoDB"
|
||||
TOOLBAR_VALID = "配置校验"
|
||||
|
||||
TOOLBAR_PERF_TIP = "开始"
|
||||
TOOLBAR_PERF_CONF = "配置"
|
||||
|
@ -2,7 +2,7 @@ package storage
|
||||
|
||||
import "go_dreamfactory/pb"
|
||||
|
||||
//默认配置
|
||||
// 默认配置
|
||||
func NewDefaultConfig() *Config {
|
||||
return &Config{
|
||||
Pressure: PressureConfig{
|
||||
@ -40,6 +40,7 @@ type Config struct {
|
||||
Servers []*ServerConfig `json:"servers,omitempty"` //区服配置
|
||||
MgoDB *MgoDB `json:"mgoDB,omitempty"` //MongoDB配置
|
||||
ServiceDBInfo *pb.ServiceDBInfo `json:"serviceDBInfo,omitempty"` //
|
||||
JsonDir string `json:"jsonDir,omitempty"` //json配置目录
|
||||
}
|
||||
|
||||
type MgoDB struct {
|
||||
@ -51,14 +52,14 @@ type MgoDB struct {
|
||||
Database string `json:"database,omitempty"`
|
||||
}
|
||||
|
||||
//压测配置
|
||||
// 压测配置
|
||||
type PressureConfig struct {
|
||||
TimeoutMs int32 `json:"timeout,omitempty"` //超时时间 毫秒
|
||||
Concurrency int32 `json:"concurrency,omitempty"` //并发量
|
||||
DurationS int32 `json:"duration,omitempty"` //持续时间 秒
|
||||
}
|
||||
|
||||
//luban
|
||||
// luban
|
||||
type LubanConfig struct {
|
||||
ServerAddr string
|
||||
ProjectDir string
|
||||
|
@ -33,7 +33,6 @@ var (
|
||||
logger *logrus.Logger
|
||||
)
|
||||
|
||||
//
|
||||
func init() {
|
||||
_ = os.Setenv("FYNE_SCALE", "0.9")
|
||||
var err error
|
||||
@ -162,7 +161,6 @@ func setupLogger() (err error) {
|
||||
|
||||
// check version
|
||||
func checkVersion(app fyne.App, parent fyne.Window) {
|
||||
logrus.Debug("check version")
|
||||
b, err := connService.HttpConnect("http://10.0.0.9:8080/" + "version")
|
||||
if err != nil {
|
||||
dialog.ShowError(errors.New("版本检查:"+err.Error()), parent)
|
||||
|
File diff suppressed because one or more lines are too long
BIN
cmd/v2/theme/icon/excel.jpg
Normal file
BIN
cmd/v2/theme/icon/excel.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
BIN
cmd/v2/theme/icon/mongodb.jpg
Normal file
BIN
cmd/v2/theme/icon/mongodb.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.7 KiB |
@ -60,6 +60,23 @@ func (at *appContainer) openApp(app appInterface) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (at *appContainer) openWelcome() (string, error) {
|
||||
var firstTab *container.TabItem
|
||||
app := &appWelcome{}
|
||||
if err := at.initApp(app); err != nil {
|
||||
return app.GetAppName(), err
|
||||
}
|
||||
tab := app.GetTabItem()
|
||||
at.Append(tab)
|
||||
if firstTab == nil {
|
||||
firstTab = tab
|
||||
}
|
||||
if firstTab != nil {
|
||||
at.Select(firstTab)
|
||||
}
|
||||
return "", nil
|
||||
}
|
||||
|
||||
// open default app
|
||||
func (at *appContainer) openDefaultApp(appName string) (string, error) {
|
||||
var firstTab *container.TabItem
|
||||
|
@ -27,21 +27,14 @@ var (
|
||||
}
|
||||
|
||||
toolRegister = []appInterface{
|
||||
&appWelcome{},
|
||||
// &appWelcome{},
|
||||
&appGen{},
|
||||
&appPbGen{},
|
||||
&appLock{},
|
||||
&appTerm{},
|
||||
&appPing{},
|
||||
&appMgo{},
|
||||
}
|
||||
|
||||
perfRegister = []appInterface{
|
||||
&perfWelcome{},
|
||||
&perfConf{},
|
||||
&perfPb{},
|
||||
&perfResult{},
|
||||
&perfChoose{},
|
||||
&appConfigValid{},
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -1,18 +0,0 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
cfg "go_dreamfactory/cmd/v2/configure/structs"
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestGjson(t *testing.T) {
|
||||
if tables, err := cfg.NewTables(common.Loader); err != nil {
|
||||
println(err.Error())
|
||||
} else {
|
||||
for _, v := range tables.TestFlow.GetDataList() {
|
||||
fmt.Println(v.Msg)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,224 +0,0 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"go_dreamfactory/cmd/v2/lib"
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/cmd/v2/lib/storage"
|
||||
"go_dreamfactory/cmd/v2/service"
|
||||
"go_dreamfactory/cmd/v2/service/observer"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
"time"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/layout"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/Pallinder/go-randomdata"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
type perfChoose struct {
|
||||
appAdapter
|
||||
|
||||
obs observer.Observer
|
||||
conf *storage.Config
|
||||
binduids []string //账号
|
||||
handler lib.Handler
|
||||
}
|
||||
|
||||
func (app *perfChoose) LazyInit(ptService service.PttService, obs observer.Observer) error {
|
||||
app.obs = obs
|
||||
app.conf = perfWin.UIImpl.config
|
||||
|
||||
app.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_PERF_CHOOSE, theme.ContentCopyIcon(), nil)
|
||||
content := container.NewMax()
|
||||
content.Objects = []fyne.CanvasObject{}
|
||||
|
||||
loginTestBtn := widget.NewButton("登陆(注册)", nil)
|
||||
loginTestBtn.OnTapped = func() {
|
||||
closeApp3(perfWin.tabs, common.TOOLBAR_PERF_CHOOSE)
|
||||
openApp3(perfWin.tabs, common.TOOLBAR_PERF_RES)
|
||||
var err error
|
||||
|
||||
app.handler, err = service.NewWsCli(app.conf.WsAddr, 2*time.Second)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
userCount := app.conf.UserCount
|
||||
for i := int32(0); i < userCount; i++ {
|
||||
account := randomdata.SillyName()
|
||||
app.binduids = append(app.binduids, account)
|
||||
// 登录
|
||||
rqLogin := ReqParams{
|
||||
Sid: app.conf.SId,
|
||||
Account: account,
|
||||
PbReq: &pb.UserLoginReq{Sid: app.conf.SId, Account: account},
|
||||
MainType: "user",
|
||||
SubType: "login",
|
||||
}
|
||||
b, err := app.buildReq(rqLogin)
|
||||
if err != nil {
|
||||
logrus.Error(err)
|
||||
return
|
||||
}
|
||||
app.handler.SetReq(b, false)
|
||||
|
||||
}
|
||||
|
||||
param := lib.ParamMgr{
|
||||
Caller: app.handler,
|
||||
Timeout: time.Duration(app.conf.Pressure.TimeoutMs) * time.Millisecond,
|
||||
Lps: uint32(app.conf.Pressure.Concurrency),
|
||||
Duration: time.Duration(app.conf.Pressure.DurationS) * time.Second,
|
||||
ResultCh: make(chan *lib.CallResult, 50),
|
||||
}
|
||||
a, err := lib.NewAssistant(obs, param)
|
||||
if err != nil {
|
||||
logrus.Error(err)
|
||||
}
|
||||
|
||||
a.Start()
|
||||
|
||||
a.ShowResult()
|
||||
}
|
||||
|
||||
createTestBtn := widget.NewButton("创角", func() {
|
||||
closeApp3(perfWin.tabs, common.TOOLBAR_PERF_CHOOSE)
|
||||
openApp3(perfWin.tabs, common.TOOLBAR_PERF_RES)
|
||||
|
||||
for _, account := range app.binduids {
|
||||
rq := ReqParams{
|
||||
Sid: app.conf.SId,
|
||||
Account: account,
|
||||
PbReq: &pb.UserCreateReq{NickName: account},
|
||||
MainType: "user",
|
||||
SubType: "create",
|
||||
}
|
||||
b, err := app.buildReq(rq)
|
||||
if err != nil {
|
||||
logrus.Error(err)
|
||||
return
|
||||
}
|
||||
app.handler.SetReq(b, false)
|
||||
}
|
||||
|
||||
param := lib.ParamMgr{
|
||||
Caller: app.handler,
|
||||
Timeout: time.Duration(app.conf.Pressure.TimeoutMs) * time.Millisecond,
|
||||
Lps: uint32(app.conf.Pressure.Concurrency),
|
||||
Duration: time.Duration(app.conf.Pressure.DurationS) * time.Second,
|
||||
ResultCh: make(chan *lib.CallResult, 50),
|
||||
}
|
||||
a, err := lib.NewAssistant(obs, param)
|
||||
if err != nil {
|
||||
logrus.Error(err)
|
||||
}
|
||||
|
||||
a.Start()
|
||||
|
||||
a.ShowResult()
|
||||
})
|
||||
|
||||
//场景
|
||||
scenBtn := widget.NewButton("其它场景", nil)
|
||||
scenBtn.OnTapped = func() {
|
||||
// defer openApp3(perfWin.tabs, common.TOOLBAR_PERF_PB)
|
||||
// closeApp3(perfWin.tabs, common.TOOLBAR_PERF_CHOOSE)
|
||||
closeApp3(perfWin.tabs, common.TOOLBAR_PERF_CHOOSE)
|
||||
openApp3(perfWin.tabs, common.TOOLBAR_PERF_RES)
|
||||
|
||||
// if tables, err := cfg.NewTables(common.Loader); err != nil {
|
||||
// println(err.Error())
|
||||
// } else {
|
||||
// for _, v := range tables.TestFlow.GetDataList() {
|
||||
// p, ok := pbMap[v.Route]
|
||||
// if !ok {
|
||||
// logrus.WithField("route", v.Route).Debug("未注册")
|
||||
// continue
|
||||
// }
|
||||
// routeStr := strings.SplitN(v.Route, ".", 2)
|
||||
// for _, account := range app.binduids {
|
||||
// rq := ReqParams{
|
||||
// Sid: app.conf.SId,
|
||||
// Account: account,
|
||||
// PbReq: p,
|
||||
// MainType: routeStr[0],
|
||||
// SubType: routeStr[1],
|
||||
// }
|
||||
// b, err := app.buildReq(rq)
|
||||
// if err != nil {
|
||||
// logrus.Error(err)
|
||||
// return
|
||||
// }
|
||||
// app.handler.SetReq(b, true)
|
||||
// }
|
||||
|
||||
// param := lib.ParamMgr{
|
||||
// Caller: app.handler,
|
||||
// Timeout: time.Duration(app.conf.Pressure.TimeoutMs) * time.Millisecond,
|
||||
// Lps: uint32(app.conf.Pressure.Concurrency),
|
||||
// Duration: time.Duration(app.conf.Pressure.DurationS) * time.Second,
|
||||
// ResultCh: make(chan *lib.CallResult, 50),
|
||||
// }
|
||||
// a, err := lib.NewAssistant(obs, param)
|
||||
// if err != nil {
|
||||
// logrus.Error(err)
|
||||
// }
|
||||
|
||||
// a.Start()
|
||||
|
||||
// a.ShowResult()
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
//上一步
|
||||
preBtn := widget.NewButtonWithIcon("上一步", theme.NavigateBackIcon(), nil)
|
||||
preBtn.OnTapped = func() {
|
||||
defer openApp3(perfWin.tabs, common.TOOLBAR_PERF_CONF)
|
||||
closeApp3(perfWin.tabs, common.TOOLBAR_PERF_CHOOSE)
|
||||
}
|
||||
btns := container.NewVBox(loginTestBtn, createTestBtn, scenBtn)
|
||||
c := container.NewBorder(nil, container.NewHBox(layout.NewSpacer(), preBtn), nil, nil, btns)
|
||||
content.Objects = append(content.Objects, c)
|
||||
app.tabItem.Content = content
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *perfChoose) GetAppName() string {
|
||||
return common.TOOLBAR_PERF_CHOOSE
|
||||
}
|
||||
|
||||
func (a *perfChoose) OnClose() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (a *perfChoose) OnDestroy() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
type ReqParams struct {
|
||||
Sid string
|
||||
Account string
|
||||
PbReq proto.Message
|
||||
MainType string
|
||||
SubType string
|
||||
}
|
||||
|
||||
func (a *perfChoose) buildReq(rp ReqParams) ([]byte, error) {
|
||||
head := &pb.UserMessage{MainType: rp.MainType, SubType: rp.SubType}
|
||||
head.Sec = common.BuildSecStr(rp.Sid, rp.Account)
|
||||
if comm.ProtoMarshal(rp.PbReq, head) {
|
||||
data, err := proto.Marshal(head)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return data, nil
|
||||
}
|
||||
return nil, nil
|
||||
}
|
@ -1,154 +0,0 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/cmd/v2/lib/storage"
|
||||
"go_dreamfactory/cmd/v2/service"
|
||||
"go_dreamfactory/cmd/v2/service/observer"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/layout"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/spf13/cast"
|
||||
)
|
||||
|
||||
type perfConf struct {
|
||||
appAdapter
|
||||
|
||||
obs observer.Observer
|
||||
conf *storage.Config
|
||||
}
|
||||
|
||||
func (app *perfConf) LazyInit(ptService service.PttService, obs observer.Observer) error {
|
||||
app.obs = obs
|
||||
app.conf = perfWin.UIImpl.config
|
||||
|
||||
app.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_PERF_CONF, theme.ContentCopyIcon(), nil)
|
||||
content := container.NewMax()
|
||||
content.Objects = []fyne.CanvasObject{}
|
||||
|
||||
// 压测form
|
||||
wsAddrEntry := widget.NewEntry()
|
||||
wsAddrEntry.PlaceHolder = "服务地址"
|
||||
wsAddrEntry.Text = app.conf.WsAddr
|
||||
|
||||
timeoutEntry := widget.NewEntry()
|
||||
timeoutEntry.PlaceHolder = "毫秒数"
|
||||
timeoutEntry.Text = cast.ToString(app.conf.Pressure.TimeoutMs)
|
||||
|
||||
lpsEntry := widget.NewEntry()
|
||||
lpsEntry.PlaceHolder = "并发数量"
|
||||
lpsEntry.Text = cast.ToString(app.conf.Pressure.Concurrency)
|
||||
|
||||
durationEntry := widget.NewEntry()
|
||||
durationEntry.PlaceHolder = "秒数"
|
||||
durationEntry.Text = cast.ToString(app.conf.Pressure.DurationS)
|
||||
|
||||
userCountEntry := widget.NewEntry()
|
||||
userCountEntry.PlaceHolder = "自动创建的用户数"
|
||||
userCountEntry.Text = cast.ToString(app.conf.UserCount)
|
||||
|
||||
sidEntry := widget.NewEntry()
|
||||
sidEntry.PlaceHolder = "区服ID"
|
||||
sidEntry.Text = app.conf.SId
|
||||
|
||||
intervalEntry := widget.NewEntry()
|
||||
intervalEntry.PlaceHolder = "间隔时间(s)"
|
||||
intervalEntry.Text = cast.ToString(app.conf.IntervalS)
|
||||
|
||||
form := widget.NewForm(
|
||||
widget.NewFormItem("服务地址", wsAddrEntry),
|
||||
widget.NewFormItem("区服", sidEntry),
|
||||
widget.NewFormItem("用户数", userCountEntry),
|
||||
widget.NewFormItem("超时(ms)", timeoutEntry),
|
||||
widget.NewFormItem("并发量", lpsEntry),
|
||||
widget.NewFormItem("持续时间(s)", durationEntry),
|
||||
widget.NewFormItem("间隔时间(s)", intervalEntry),
|
||||
)
|
||||
// btn
|
||||
nextBtn := widget.NewButtonWithIcon("下一步", theme.NavigateNextIcon(), nil)
|
||||
nextBtn.OnTapped = func() {
|
||||
//校验表单数据
|
||||
if wsAddrEntry.Text == "" {
|
||||
common.ShowTip("服务地址必填")
|
||||
return
|
||||
}
|
||||
|
||||
if sidEntry.Text == "" {
|
||||
common.ShowTip("区服ID必填")
|
||||
return
|
||||
}
|
||||
|
||||
if timeoutEntry.Text == "" {
|
||||
common.ShowTip("超时时间必填")
|
||||
return
|
||||
}
|
||||
if lpsEntry.Text == "" {
|
||||
common.ShowTip("并发数必填")
|
||||
return
|
||||
}
|
||||
|
||||
if durationEntry.Text == "" {
|
||||
common.ShowTip("持续时间")
|
||||
return
|
||||
}
|
||||
|
||||
if userCountEntry.Text == "" {
|
||||
common.ShowTip("用户数至少是1")
|
||||
return
|
||||
}
|
||||
|
||||
pressure := app.conf.Pressure
|
||||
pressure.TimeoutMs = cast.ToInt32(timeoutEntry.Text)
|
||||
pressure.Concurrency = cast.ToInt32(lpsEntry.Text)
|
||||
pressure.DurationS = cast.ToInt32(durationEntry.Text)
|
||||
app.conf.Pressure = pressure
|
||||
app.conf.UserCount = cast.ToInt32(userCountEntry.Text)
|
||||
app.conf.WsAddr = wsAddrEntry.Text
|
||||
app.conf.SId = sidEntry.Text
|
||||
if err := perfWin.UIImpl.storage.StoreConfig(app.conf); err != nil {
|
||||
logrus.Error(err)
|
||||
}
|
||||
|
||||
//next
|
||||
defer closeApp3(perfWin.tabs, common.TOOLBAR_PERF_CONF)
|
||||
openApp3(perfWin.tabs, common.TOOLBAR_PERF_CHOOSE)
|
||||
}
|
||||
|
||||
resetBtn := widget.NewButtonWithIcon("重置", theme.ContentRedoIcon(), nil)
|
||||
resetBtn.OnTapped = func() {
|
||||
timeoutEntry.Text = ""
|
||||
lpsEntry.Text = ""
|
||||
durationEntry.Text = ""
|
||||
userCountEntry.Text = ""
|
||||
wsAddrEntry.Text = ""
|
||||
sidEntry.Text = ""
|
||||
form.Refresh()
|
||||
}
|
||||
|
||||
preBtn := widget.NewButtonWithIcon("上一步", theme.NavigateBackIcon(), nil)
|
||||
preBtn.OnTapped = func() {
|
||||
defer closeApp3(perfWin.tabs, common.TOOLBAR_PERF_CONF)
|
||||
openApp3(perfWin.tabs, common.TOOLBAR_PERF_TIP)
|
||||
}
|
||||
|
||||
c := container.NewBorder(nil, container.NewHBox(layout.NewSpacer(), preBtn, resetBtn, nextBtn), nil, nil, form)
|
||||
content.Objects = append(content.Objects, c)
|
||||
app.tabItem.Content = content
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *perfConf) GetAppName() string {
|
||||
return common.TOOLBAR_PERF_CONF
|
||||
}
|
||||
|
||||
func (a *perfConf) OnClose() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (a *perfConf) OnDestroy() bool {
|
||||
return true
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/cmd/v2/lib/storage"
|
||||
"go_dreamfactory/cmd/v2/service"
|
||||
"go_dreamfactory/cmd/v2/service/observer"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
)
|
||||
|
||||
type perfCreate struct {
|
||||
appAdapter
|
||||
|
||||
obs observer.Observer
|
||||
conf *storage.Config
|
||||
}
|
||||
|
||||
func (app *perfCreate) LazyInit(ptService service.PttService, obs observer.Observer) error {
|
||||
app.obs = obs
|
||||
app.conf = perfWin.UIImpl.config
|
||||
|
||||
app.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_PERF_CONF, theme.ContentCopyIcon(), nil)
|
||||
content := container.NewMax()
|
||||
content.Objects = []fyne.CanvasObject{}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *perfCreate) GetAppName() string {
|
||||
return common.TOOLBAR_PERF_CREATE
|
||||
}
|
||||
|
||||
func (a *perfCreate) OnClose() bool {
|
||||
return false
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/cmd/v2/lib/storage"
|
||||
"go_dreamfactory/cmd/v2/service"
|
||||
"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"
|
||||
)
|
||||
|
||||
type perfLogin struct {
|
||||
appAdapter
|
||||
|
||||
obs observer.Observer
|
||||
conf *storage.Config
|
||||
}
|
||||
|
||||
func (app *perfLogin) LazyInit(ptService service.PttService, obs observer.Observer) error {
|
||||
app.obs = obs
|
||||
app.conf = perfWin.UIImpl.config
|
||||
|
||||
app.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_PERF_CONF, theme.ContentCopyIcon(), nil)
|
||||
content := container.NewMax()
|
||||
content.Objects = []fyne.CanvasObject{}
|
||||
|
||||
loginTestBtn := widget.NewButton("登陆/注册", func() {
|
||||
|
||||
})
|
||||
|
||||
createTestBtn := widget.NewButton("创角", func() {})
|
||||
|
||||
btns := container.NewHBox(loginTestBtn, createTestBtn)
|
||||
c := container.NewBorder(btns, nil, nil, nil)
|
||||
content.Objects = append(content.Objects, c)
|
||||
app.tabItem.Content = content
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *perfLogin) GetAppName() string {
|
||||
return common.TOOLBAR_PERF_LOGIN
|
||||
}
|
||||
|
||||
func (a *perfLogin) OnClose() bool {
|
||||
return false
|
||||
}
|
@ -1,215 +0,0 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"go_dreamfactory/cmd/v2/lib"
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/cmd/v2/lib/storage"
|
||||
"go_dreamfactory/cmd/v2/service"
|
||||
"go_dreamfactory/cmd/v2/service/observer"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/layout"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/Pallinder/go-randomdata"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
type perfPb struct {
|
||||
appAdapter
|
||||
|
||||
obs observer.Observer
|
||||
|
||||
itemList common.ItemList
|
||||
|
||||
pbList func() //协议列表
|
||||
conf *storage.Config
|
||||
}
|
||||
|
||||
func (app *perfPb) LazyInit(ptService service.PttService, obs observer.Observer) error {
|
||||
app.obs = obs
|
||||
app.conf = perfWin.UIImpl.config
|
||||
|
||||
app.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_PERF_PB, theme.ContentCopyIcon(), nil)
|
||||
content := container.NewMax()
|
||||
content.Objects = []fyne.CanvasObject{}
|
||||
|
||||
app.itemList = *common.NewItemList()
|
||||
app.itemList.ItemList = app.itemList.CreateList()
|
||||
|
||||
app.pbList = func() {
|
||||
// if tables, err := cfg.NewTables(common.Loader); err != nil {
|
||||
// println(err.Error())
|
||||
// } else {
|
||||
// for _, v := range tables.TestFlow.GetDataList() {
|
||||
// item := common.Item{
|
||||
// Id: cast.ToString(v.Id),
|
||||
// Text: fmt.Sprintf("%-6d %-20s %-20s %s", v.Id, v.Msg, v.Route, v.Params),
|
||||
// Data: v,
|
||||
// }
|
||||
// app.itemList.AddItem(item)
|
||||
// }
|
||||
// }
|
||||
}
|
||||
defer app.pbList()
|
||||
|
||||
// 刷新按钮
|
||||
refeshBtn := widget.NewButtonWithIcon("", theme.ViewRefreshIcon(), func() {
|
||||
app.itemList.Reset()
|
||||
app.pbList()
|
||||
})
|
||||
|
||||
// next按钮
|
||||
nextBtn := widget.NewButtonWithIcon("下一步", theme.NavigateNextIcon(), nil)
|
||||
nextBtn.OnTapped = func() {
|
||||
defer closeApp3(perfWin.tabs, common.TOOLBAR_PERF_PB)
|
||||
openApp3(perfWin.tabs, common.TOOLBAR_PERF_RES)
|
||||
// 根据填写的用户数创建用户
|
||||
userCount := perfWin.config.UserCount
|
||||
|
||||
// 遍历时,通过sleep 控制增加的用户数
|
||||
for i := int32(0); i < userCount; i++ {
|
||||
handler, err := service.NewWsCli(perfWin.config.WsAddr, time.Duration(perfWin.config.Pressure.TimeoutMs)*time.Millisecond)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
var login *UserLogin
|
||||
login, err = app.loginReq(perfWin.config.SId)
|
||||
handler.SetReq(login.req, false)
|
||||
assist := app.createAssistantWithoutConf(handler)
|
||||
assist.Start()
|
||||
assist.ShowResult()
|
||||
|
||||
// 遍历测试的协议
|
||||
for _, item := range app.itemList.CachedList.Items {
|
||||
if data, ok := item.Data.(*cfg.GameTestFlowData); ok {
|
||||
logrus.Debugf("%v %v", data.Route, data.Params)
|
||||
var (
|
||||
reqData []byte
|
||||
err error
|
||||
)
|
||||
|
||||
if login == nil {
|
||||
continue
|
||||
}
|
||||
if v, ok := pbMap[data.Route]; ok {
|
||||
routeStr := strings.SplitN(data.Route, ".", 2)
|
||||
head := &pb.UserMessage{MainType: routeStr[0], SubType: routeStr[1]}
|
||||
head.Sec = common.BuildSecStr(login.sid, login.account)
|
||||
if err := common.Json2Pb(data.Params, v); err != nil {
|
||||
logrus.Error(err)
|
||||
continue
|
||||
}
|
||||
if comm.ProtoMarshal(v, head) {
|
||||
reqData, err = proto.Marshal(head)
|
||||
if err != nil {
|
||||
logrus.Error(err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
handler.SetReq(reqData, false)
|
||||
assist := app.createAssistant(handler)
|
||||
assist.Start()
|
||||
assist.ShowResult()
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// time.Sleep(time.Second)
|
||||
}
|
||||
|
||||
obs.Notify(observer.EVENT_FINISH, true)
|
||||
}
|
||||
|
||||
preBtn := widget.NewButtonWithIcon("上一步", theme.NavigateBackIcon(), nil)
|
||||
preBtn.OnTapped = func() {
|
||||
defer closeApp3(perfWin.tabs, common.TOOLBAR_PERF_PB)
|
||||
openApp3(perfWin.tabs, common.TOOLBAR_PERF_CONF)
|
||||
}
|
||||
|
||||
//layout
|
||||
c := container.NewBorder(container.NewHBox(refeshBtn), container.NewHBox(layout.NewSpacer(), preBtn, nextBtn), nil, nil, app.itemList.ItemList)
|
||||
content.Objects = append(content.Objects, c)
|
||||
app.tabItem.Content = content
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *perfPb) GetAppName() string {
|
||||
return common.TOOLBAR_PERF_PB
|
||||
}
|
||||
|
||||
func (a *perfPb) OnClose() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (a *perfPb) createAssistantWithoutConf(handler lib.Handler) lib.Aiassistant {
|
||||
|
||||
param := lib.ParamMgr{
|
||||
Caller: handler,
|
||||
Timeout: time.Duration(a.conf.Pressure.TimeoutMs) * time.Millisecond,
|
||||
Lps: 1,
|
||||
Duration: 1,
|
||||
ResultCh: make(chan *lib.CallResult, 50),
|
||||
}
|
||||
assist, err := lib.NewAssistant(a.obs, param)
|
||||
if err != nil {
|
||||
logrus.Errorf("AI助手初始化错误: %v", err)
|
||||
return nil
|
||||
}
|
||||
return assist
|
||||
}
|
||||
|
||||
//
|
||||
func (a *perfPb) createAssistant(handler lib.Handler) lib.Aiassistant {
|
||||
|
||||
param := lib.ParamMgr{
|
||||
Caller: handler,
|
||||
Timeout: time.Duration(a.conf.Pressure.TimeoutMs) * time.Millisecond,
|
||||
Lps: uint32(a.conf.Pressure.Concurrency),
|
||||
Duration: time.Duration(a.conf.Pressure.DurationS) * time.Second,
|
||||
ResultCh: make(chan *lib.CallResult, 50),
|
||||
}
|
||||
assist, err := lib.NewAssistant(a.obs, param)
|
||||
if err != nil {
|
||||
logrus.Errorf("AI助手初始化错误: %v", err)
|
||||
return nil
|
||||
}
|
||||
return assist
|
||||
}
|
||||
|
||||
type UserLogin struct {
|
||||
req []byte
|
||||
sid string
|
||||
account string
|
||||
}
|
||||
|
||||
func (a *perfPb) loginReq(sid string) (*UserLogin, error) {
|
||||
login := &UserLogin{sid: sid}
|
||||
head := &pb.UserMessage{MainType: "user", SubType: "login"}
|
||||
account := randomdata.SillyName()
|
||||
login.account = account
|
||||
head.Sec = common.BuildSecStr(login.sid, login.account)
|
||||
if comm.ProtoMarshal(&pb.UserLoginReq{
|
||||
Sid: login.sid,
|
||||
Account: login.account,
|
||||
}, head) {
|
||||
logrus.WithField("账号", login.account).Info("登录")
|
||||
data, err := proto.Marshal(head)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
login.req = data
|
||||
|
||||
return login, nil
|
||||
}
|
||||
return nil, nil
|
||||
}
|
@ -1,121 +0,0 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/cmd/v2/lib"
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/cmd/v2/lib/storage"
|
||||
"go_dreamfactory/cmd/v2/service"
|
||||
"go_dreamfactory/cmd/v2/service/observer"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/layout"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
)
|
||||
|
||||
type perfResult struct {
|
||||
appAdapter
|
||||
|
||||
obs observer.Observer
|
||||
conf *storage.Config
|
||||
|
||||
itemList common.ItemList
|
||||
|
||||
resultList func() //结果列表
|
||||
resetBtn *widget.Button
|
||||
returnBtn *widget.Button
|
||||
report *widget.Card
|
||||
layout *fyne.Container
|
||||
}
|
||||
|
||||
func (app *perfResult) LazyInit(ptService service.PttService, obs observer.Observer) error {
|
||||
app.obs = obs
|
||||
app.conf = perfWin.UIImpl.config
|
||||
|
||||
app.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_PERF_RES, theme.ContentCopyIcon(), nil)
|
||||
content := container.NewMax()
|
||||
content.Objects = []fyne.CanvasObject{}
|
||||
|
||||
app.itemList = *common.NewItemList()
|
||||
app.itemList.ItemList = app.itemList.CreateList()
|
||||
|
||||
//重新开始
|
||||
app.resetBtn = widget.NewButtonWithIcon("再来一次", theme.ContentRedoIcon(), nil)
|
||||
app.resetBtn.Hide()
|
||||
app.resetBtn.OnTapped = func() {
|
||||
defer openApp3(perfWin.tabs, common.TOOLBAR_PERF_TIP)
|
||||
app.itemList.Reset()
|
||||
closeApp3(perfWin.tabs, common.TOOLBAR_PERF_RES)
|
||||
}
|
||||
|
||||
// 返回
|
||||
app.returnBtn = widget.NewButtonWithIcon("", theme.NavigateBackIcon(), nil)
|
||||
app.returnBtn.Disable()
|
||||
app.returnBtn.OnTapped = func() {
|
||||
defer openApp3(perfWin.tabs, common.TOOLBAR_PERF_CHOOSE)
|
||||
app.itemList.Reset()
|
||||
closeApp3(perfWin.tabs, common.TOOLBAR_PERF_RES)
|
||||
}
|
||||
app.returnBtn.Text = "等待中..."
|
||||
|
||||
//统计Panel
|
||||
app.report = widget.NewCard("测试报告", "登录/创角", container.NewVBox(
|
||||
// widget.NewLabel("结果:"),
|
||||
))
|
||||
app.report.Hide()
|
||||
|
||||
//layout
|
||||
app.layout = container.NewBorder(app.report, container.NewHBox(layout.NewSpacer(), app.resetBtn, app.returnBtn), nil, nil, app.itemList.ItemList)
|
||||
content.Objects = append(content.Objects, app.layout)
|
||||
app.tabItem.Content = content
|
||||
app.listen()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (app *perfResult) listen() {
|
||||
app.obs.AddListener(observer.EVENT_RESULT, observer.Listener{
|
||||
OnNotify: func(data interface{}, args ...interface{}) {
|
||||
res, ok := data.(*lib.Statistics)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
item := common.Item{
|
||||
Text: fmt.Sprintf("协议名称:%s, 调用次数:%d, 总耗时:%vms, 平均耗时:%vms, 最大耗时:%vms, 最小耗时:%vms",
|
||||
res.Route, res.CallCount, res.ElapseTotal, res.AvgElapse, res.MaxElapse, res.MinElapse),
|
||||
Data: res,
|
||||
}
|
||||
app.itemList.AddItem(item)
|
||||
app.returnBtn.Text = "返回"
|
||||
app.returnBtn.Enable()
|
||||
app.returnBtn.Refresh()
|
||||
app.layout.Refresh()
|
||||
},
|
||||
})
|
||||
|
||||
app.obs.AddListener(observer.EVENT_FINISH, observer.Listener{
|
||||
OnNotify: func(data interface{}, args ...interface{}) {
|
||||
finish, ok := data.(bool)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
if finish {
|
||||
app.resetBtn.Show()
|
||||
app.resetBtn.Refresh()
|
||||
app.report.Show()
|
||||
app.report.Refresh()
|
||||
}
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func (app *perfResult) GetAppName() string {
|
||||
return common.TOOLBAR_PERF_RES
|
||||
}
|
||||
|
||||
func (a *perfResult) OnClose() bool {
|
||||
return false
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/cmd/v2/service"
|
||||
"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"
|
||||
)
|
||||
|
||||
type perfWelcome struct {
|
||||
appAdapter
|
||||
|
||||
obs observer.Observer
|
||||
}
|
||||
|
||||
func (app *perfWelcome) LazyInit(service service.PttService, obs observer.Observer) error {
|
||||
app.obs = obs
|
||||
|
||||
app.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_PERF_TIP, theme.ContentCopyIcon(), nil)
|
||||
content := container.NewMax()
|
||||
content.Objects = []fyne.CanvasObject{}
|
||||
|
||||
wel := widget.NewRichTextFromMarkdown("# 自动化性能测试工具使用说明" +
|
||||
`
|
||||
* 基于Luban工具生成协议文件(json格式)
|
||||
`)
|
||||
for i := range wel.Segments {
|
||||
if seg, ok := wel.Segments[i].(*widget.TextSegment); ok {
|
||||
seg.Style.Alignment = fyne.TextAlignLeading
|
||||
}
|
||||
}
|
||||
|
||||
goBtn := widget.NewButton("开始测试 >>", nil)
|
||||
goBtn.OnTapped = func() {
|
||||
defer closeApp3(perfWin.tabs, common.TOOLBAR_PERF_TIP)
|
||||
openApp3(perfWin.tabs, common.TOOLBAR_PERF_CONF)
|
||||
}
|
||||
app.tabItem.Content = container.NewCenter(
|
||||
container.NewVBox(
|
||||
wel,
|
||||
goBtn,
|
||||
))
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *perfWelcome) OpenDefault() string {
|
||||
return common.TOOLBAR_PERF_TIP
|
||||
}
|
||||
|
||||
func (a *perfWelcome) GetAppName() string {
|
||||
return common.TOOLBAR_PERF_TIP
|
||||
}
|
||||
|
||||
func (a *perfWelcome) OnClose() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (a *perfWelcome) OnDestroy() bool {
|
||||
return true
|
||||
}
|
@ -1,107 +0,0 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/pb"
|
||||
"reflect"
|
||||
"strings"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
var perfWin *PerfWindowImpl
|
||||
|
||||
var pbMap map[string]proto.Message //pb
|
||||
|
||||
type PerfWindow interface {
|
||||
WindowInterface
|
||||
}
|
||||
|
||||
type PerfWindowImpl struct {
|
||||
UIImpl
|
||||
parent fyne.Window
|
||||
w fyne.Window
|
||||
statusbar *statusBar //状态栏
|
||||
tabs *appContainer //tabs
|
||||
toolbar *toolBar //工具条
|
||||
}
|
||||
|
||||
func NewPerfWindow(ui *UIImpl, parent fyne.Window) PerfWindow {
|
||||
|
||||
pw := &PerfWindowImpl{
|
||||
UIImpl: *ui,
|
||||
parent: parent,
|
||||
}
|
||||
|
||||
perfWin = pw
|
||||
|
||||
pbMap = make(map[string]proto.Message)
|
||||
|
||||
pw.initPb()
|
||||
return pw
|
||||
}
|
||||
|
||||
func (ui *PerfWindowImpl) CreateWindow(_ string, width, height float32, _ bool) {
|
||||
title := fmt.Sprintf(common.APP_WIN_TITLE, "自动化性能测试工具", ui.app.Metadata().Version, ui.app.Metadata().Build, common.APP_NAME)
|
||||
w := ui.app.NewWindow(title)
|
||||
ui.AddWindow("main", w)
|
||||
ui.w = w
|
||||
|
||||
w.Resize(fyne.NewSize(width, height))
|
||||
w.CenterOnScreen()
|
||||
w.SetCloseIntercept(func() {
|
||||
ui.parent.Show()
|
||||
})
|
||||
|
||||
ui.statusbar = newStatusBar()
|
||||
toolbar := widget.NewToolbar(
|
||||
// widget.NewToolbarAction(theme.MediaVideoIcon(), func() {
|
||||
// openApp(ui.tabs, common.TOOLBAR_PERF_TIP)
|
||||
// }),
|
||||
// widget.NewToolbarAction(theme.MediaVideoIcon(), func() {
|
||||
// openApp(ui.tabs, common.TOOLBAR_PERF_CONF)
|
||||
// }),
|
||||
)
|
||||
ui.toolbar = newToolBar(toolbar)
|
||||
|
||||
ui.tabs = newAppContainer(perfRegister, ui.pttService, ui.obs)
|
||||
content := container.NewBorder(ui.toolbar.toolbar, ui.statusbar.widget, nil, nil, ui.tabs)
|
||||
ui.w.SetContent(content)
|
||||
|
||||
defer func() {
|
||||
appName, err := ui.tabs.openDefaultApp(common.TOOLBAR_PERF_TIP)
|
||||
if err != nil {
|
||||
logrus.WithField("appName", appName).Error(err)
|
||||
}
|
||||
}()
|
||||
|
||||
w.SetCloseIntercept(func() {
|
||||
ui.parent.Show()
|
||||
w.Close()
|
||||
})
|
||||
w.Show()
|
||||
}
|
||||
|
||||
func (ui *PerfWindowImpl) registerPb(route string, pb proto.Message) {
|
||||
typeOf := reflect.TypeOf(pb)
|
||||
pbName := typeOf.Elem().Name()
|
||||
if strings.HasSuffix(pbName, "Req") {
|
||||
s := strings.SplitN(route, ".", 2)
|
||||
low := strings.ToLower(pbName)
|
||||
if strings.Contains(low, s[0]) &&
|
||||
strings.Contains(low, s[1]) {
|
||||
pbMap[route] = pb
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (ui *PerfWindowImpl) initPb() {
|
||||
ui.registerPb("user.login", &pb.UserLoginReq{})
|
||||
ui.registerPb("user.create", &pb.UserCreateReq{})
|
||||
ui.registerPb("sys.funclist", &pb.SysFuncListReq{})
|
||||
}
|
@ -42,17 +42,6 @@ func openApp2(ac *appContainer, name string) {
|
||||
}
|
||||
}
|
||||
|
||||
func openApp3(ac *appContainer, name string) {
|
||||
for _, app := range perfRegister {
|
||||
if app.GetAppName() == name {
|
||||
err := ac.openApp(app)
|
||||
if err != nil {
|
||||
logrus.Error(fmt.Errorf("%s %v", app.GetAppName(), err))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func closeApp3(ac *appContainer, name string) {
|
||||
for _, appItem := range ac.Items {
|
||||
if appItem.Text == name {
|
||||
|
@ -431,3 +431,6 @@ func openFile(entry *widget.Entry, w fyne.Window) {
|
||||
func (a *appGen) GetAppName() string {
|
||||
return common.TOOLBAR_GEN
|
||||
}
|
||||
func(a *appGen) Icon() fyne.Resource{
|
||||
return theme.ContentCopyIcon()
|
||||
}
|
53
cmd/v2/ui/tool_menu.go
Normal file
53
cmd/v2/ui/tool_menu.go
Normal file
@ -0,0 +1,53 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type toolMenu struct {
|
||||
*fyne.MainMenu
|
||||
sysMenu *fyne.Menu
|
||||
appMenus []*fyne.MenuItem
|
||||
|
||||
//退出
|
||||
quite *fyne.MenuItem
|
||||
|
||||
// 工具
|
||||
toolMenu *fyne.Menu
|
||||
//同步配置
|
||||
syncConfMenu *fyne.MenuItem
|
||||
}
|
||||
|
||||
func newToolMenu() *toolMenu {
|
||||
var mm toolMenu
|
||||
// system
|
||||
mm.appMenus = make([]*fyne.MenuItem, len(toolRegister))
|
||||
for i, app := range toolRegister {
|
||||
mm.appMenus[i] = fyne.NewMenuItem(app.GetAppName(), func() {
|
||||
err := toolWin.at.openApp(app)
|
||||
if err != nil {
|
||||
logrus.Errorf("打开 %s, err:%v", app.GetAppName(), err)
|
||||
}
|
||||
})
|
||||
mm.appMenus[i].Icon = app.Icon()
|
||||
}
|
||||
mm.quite = fyne.NewMenuItem("退出", toolWin.quiteHandle)
|
||||
mm.quite.Icon = theme.LogoutIcon()
|
||||
mm.quite.IsQuit = true
|
||||
mm.sysMenu = fyne.NewMenu("应用", mm.appMenus...)
|
||||
mm.sysMenu.Items = append(mm.sysMenu.Items, fyne.NewMenuItemSeparator(), mm.quite)
|
||||
|
||||
//tool
|
||||
mm.syncConfMenu = fyne.NewMenuItem("同步云配置", toolWin.syncConfig)
|
||||
mm.toolMenu = fyne.NewMenu("工具",
|
||||
mm.syncConfMenu,
|
||||
)
|
||||
|
||||
mm.MainMenu = fyne.NewMainMenu(
|
||||
mm.sysMenu,
|
||||
mm.toolMenu,
|
||||
)
|
||||
return &mm
|
||||
}
|
@ -11,6 +11,8 @@ import (
|
||||
"go_dreamfactory/pb"
|
||||
"strings"
|
||||
|
||||
mytheme "go_dreamfactory/cmd/v2/theme"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/dialog"
|
||||
@ -244,3 +246,6 @@ func (this *appMgo) showConWin() {
|
||||
func (a *appMgo) GetAppName() string {
|
||||
return common.TOOLBAR_MGODB
|
||||
}
|
||||
func (a *appMgo) Icon() fyne.Resource {
|
||||
return mytheme.ResourceMongodbJpg
|
||||
}
|
||||
|
@ -68,3 +68,6 @@ func (this *appLock) LazyInit(ptService service.PttService, obs observer.Observe
|
||||
func (a *appLock) GetAppName() string {
|
||||
return common.TOOLBAR_SEC
|
||||
}
|
||||
func (a *appLock) Icon() fyne.Resource {
|
||||
return theme.DownloadIcon()
|
||||
}
|
||||
|
@ -191,6 +191,9 @@ func (this *appPbGen) LazyInit(ptService service.PttService, obs observer.Observ
|
||||
func (a *appPbGen) GetAppName() string {
|
||||
return common.TOOLBAR_PB
|
||||
}
|
||||
func (a *appPbGen) Icon() fyne.Resource {
|
||||
return theme.ContentAddIcon()
|
||||
}
|
||||
|
||||
type folderList struct {
|
||||
selItemIds []string //选择的ID
|
||||
|
@ -130,3 +130,7 @@ func (this *appPing) ping(targetHost string, ports []string) {
|
||||
func (a *appPing) GetAppName() string {
|
||||
return common.TOOLBAR_PING
|
||||
}
|
||||
|
||||
func (a *appPing) Icon() fyne.Resource {
|
||||
return theme.ComputerIcon()
|
||||
}
|
||||
|
@ -549,6 +549,9 @@ func (app *appTerm) LazyInit(ptService service.PttService, obs observer.Observer
|
||||
func (a *appTerm) GetAppName() string {
|
||||
return common.TOOLBAR_TERM
|
||||
}
|
||||
func (a *appTerm) Icon() fyne.Resource {
|
||||
return theme.MailSendIcon()
|
||||
}
|
||||
|
||||
func OpenExplor(dir string) {
|
||||
if dir == "" {
|
||||
|
122
cmd/v2/ui/tool_valid.go
Normal file
122
cmd/v2/ui/tool_valid.go
Normal file
@ -0,0 +1,122 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
os_storage "go_dreamfactory/cmd/v2/lib/storage"
|
||||
"go_dreamfactory/cmd/v2/service"
|
||||
"go_dreamfactory/cmd/v2/service/observer"
|
||||
mytheme "go_dreamfactory/cmd/v2/theme"
|
||||
"io/ioutil"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/dialog"
|
||||
fyne_storage "fyne.io/fyne/v2/storage"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type jsonFileList struct {
|
||||
selItemId string //选择的文件ID
|
||||
cacheList common.List
|
||||
itemList *widget.List
|
||||
fileTotal int //文件数
|
||||
}
|
||||
|
||||
func newJsonFileList() *jsonFileList {
|
||||
return &jsonFileList{
|
||||
cacheList: common.NewList(""),
|
||||
}
|
||||
}
|
||||
|
||||
type appConfigValid struct {
|
||||
appAdapter
|
||||
jsonFileList
|
||||
}
|
||||
|
||||
func (a *appConfigValid) LazyInit(pt service.PttService, obs observer.Observer) error {
|
||||
a.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_VALID, mytheme.ResourceExcelJpg, nil)
|
||||
a.jsonFileList = *newJsonFileList()
|
||||
|
||||
//load conf
|
||||
storage, _ := os_storage.NewOSStorage()
|
||||
conf, err := storage.LoadConfig()
|
||||
if err != nil {
|
||||
logrus.Error(err)
|
||||
return err
|
||||
}
|
||||
|
||||
if conf.JsonDir!=""{
|
||||
|
||||
}
|
||||
content := container.NewMax()
|
||||
content.Objects = []fyne.CanvasObject{}
|
||||
|
||||
// 打开目录
|
||||
openFolder := func(entry *widget.Entry) {
|
||||
dConf := dialog.NewFolderOpen(func(lu fyne.ListableURI, err error) {
|
||||
if lu == nil {
|
||||
return
|
||||
}
|
||||
entry.Text = lu.Path()
|
||||
entry.Refresh()
|
||||
}, toolWin.w)
|
||||
luri, _ := fyne_storage.ListerForURI(fyne_storage.NewFileURI("."))
|
||||
dConf.SetLocation(luri)
|
||||
dConf.SetConfirmText("打开")
|
||||
dConf.SetDismissText("取消")
|
||||
dConf.Resize(fyne.NewSize(750, 500))
|
||||
dConf.Show()
|
||||
}
|
||||
//配置json路径
|
||||
jsonDir := widget.NewEntry()
|
||||
jsonDir.PlaceHolder = "json目录"
|
||||
form := widget.NewForm(
|
||||
widget.NewFormItem("json目录", container.NewBorder(nil, nil, nil, widget.NewButtonWithIcon("", theme.FolderIcon(), func() {
|
||||
openFolder(jsonDir)
|
||||
a.jsonFileList.initItem(jsonDir.Text)
|
||||
}), jsonDir)),
|
||||
)
|
||||
|
||||
jsonDir.SetText(conf.JsonDir)
|
||||
|
||||
c := container.NewBorder(form, nil, nil, nil)
|
||||
|
||||
content.Objects = append(content.Objects, c)
|
||||
a.tabItem.Content = content
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *appConfigValid) GetAppName() string {
|
||||
return common.TOOLBAR_VALID
|
||||
}
|
||||
|
||||
func (a *appConfigValid) Icon() fyne.Resource {
|
||||
return mytheme.ResourceExcelJpg
|
||||
}
|
||||
|
||||
func (f *jsonFileList) initItem(dir string) {
|
||||
files, err := ioutil.ReadDir(dir)
|
||||
if err != nil {
|
||||
logrus.Error(err)
|
||||
return
|
||||
}
|
||||
|
||||
for _, file := range files {
|
||||
if file.IsDir() {
|
||||
if file.Name() == ".vscode" {
|
||||
continue
|
||||
}
|
||||
fm := common.Item{
|
||||
Text: file.Name(),
|
||||
Checked: false,
|
||||
}
|
||||
f.cacheList.Items = append(f.cacheList.Items, fm)
|
||||
// f.selItemIds = append(f.selItemIds, fm.Id)
|
||||
f.fileTotal++
|
||||
// logrus.Debugf("%v", fm.Id)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,11 +1,20 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"go_dreamfactory/cmd/v2/lib/common"
|
||||
"go_dreamfactory/cmd/v2/lib/storage"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
mytheme "go_dreamfactory/cmd/v2/theme"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/dialog"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/sirupsen/logrus"
|
||||
@ -24,6 +33,7 @@ type ToolWindowImpl struct {
|
||||
tb *toolBar //工具条
|
||||
sb *statusBar //状态栏
|
||||
at *appContainer //tabs
|
||||
mm *toolMenu //菜单
|
||||
}
|
||||
|
||||
func NewToolWindow(ui *UIImpl, parent fyne.Window) ToolWindow {
|
||||
@ -56,10 +66,15 @@ func NewToolWindow(ui *UIImpl, parent fyne.Window) ToolWindow {
|
||||
widget.NewToolbarAction(theme.ComputerIcon(), func() {
|
||||
openApp2(mw.at, common.TOOLBAR_PING)
|
||||
}),
|
||||
widget.NewToolbarAction(theme.SettingsIcon(), func() {
|
||||
|
||||
widget.NewToolbarAction(mytheme.ResourceMongodbJpg, func() {
|
||||
openApp2(mw.at, common.TOOLBAR_MGODB)
|
||||
}),
|
||||
|
||||
widget.NewToolbarAction(mytheme.ResourceExcelJpg, func() {
|
||||
openApp2(mw.at, common.TOOLBAR_VALID)
|
||||
}),
|
||||
|
||||
widget.NewToolbarSpacer(),
|
||||
widget.NewToolbarAction(theme.HelpIcon(), func() {
|
||||
showAbout()
|
||||
@ -78,11 +93,13 @@ func (ui *ToolWindowImpl) CreateWindow(title string, width, height float32, _ bo
|
||||
ui.AddWindow("tool", w)
|
||||
ui.w = w
|
||||
|
||||
ui.mm = newToolMenu()
|
||||
ui.w.SetMainMenu(ui.mm.MainMenu)
|
||||
// content
|
||||
content := container.NewBorder(ui.tb.toolbar, ui.sb.widget,
|
||||
nil, nil, ui.at)
|
||||
ui.w.SetContent(content)
|
||||
appName, err := ui.at.openDefaultApp(common.TOOLBAR_WEL)
|
||||
appName, err := ui.at.openWelcome()
|
||||
if err != nil {
|
||||
logrus.WithField("appName", appName).Error(err)
|
||||
}
|
||||
@ -105,3 +122,50 @@ func (ui *ToolWindowImpl) CreateWindow(title string, width, height float32, _ bo
|
||||
})
|
||||
w.Show()
|
||||
}
|
||||
func (ui *ToolWindowImpl) quiteHandle() {
|
||||
dialog.ShowConfirm("提示", "确定退出吗", func(b bool) {
|
||||
if !b {
|
||||
return
|
||||
}
|
||||
ui.app.Quit()
|
||||
}, ui.w)
|
||||
}
|
||||
|
||||
func (ui *ToolWindowImpl) syncConfig() {
|
||||
cli := http.Client{Timeout: time.Second * 10}
|
||||
r, err := cli.Get("http://10.0.0.9:8080/prd/config.json")
|
||||
if err != nil {
|
||||
logrus.Error(err)
|
||||
dialog.ShowError(err, ui.w)
|
||||
return
|
||||
}
|
||||
|
||||
defer r.Body.Close()
|
||||
|
||||
b, err2 := ioutil.ReadAll(r.Body)
|
||||
if err2 != nil {
|
||||
logrus.Error(err)
|
||||
dialog.ShowError(err2, ui.w)
|
||||
return
|
||||
}
|
||||
if len(b) == 0 {
|
||||
dialog.ShowError(errors.New("云配置可能不存在"), ui.w)
|
||||
return
|
||||
}
|
||||
config := &storage.Config{}
|
||||
if err := json.Unmarshal(b, config); err != nil {
|
||||
dialog.ShowError(fmt.Errorf("云配置解析错误: %s", err), ui.w)
|
||||
return
|
||||
}
|
||||
|
||||
s, err := storage.NewOSStorage()
|
||||
s.StoreConfig(config)
|
||||
|
||||
dialog.ShowConfirm("提示", "云配置同步成功,需要重新打开窗口", func(b bool) {
|
||||
if !b {
|
||||
return
|
||||
}
|
||||
ui.parent.Show()
|
||||
ui.w.Close()
|
||||
}, ui.w)
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ const (
|
||||
|
||||
TableSeasonRecord = "seasonRecord" // 赛季塔记录
|
||||
/// 美食馆
|
||||
TableSmithy = "smithy"
|
||||
TableSmithy = "smithy"
|
||||
TableSmithyTrade = "trade"
|
||||
/// 赛季塔数据表
|
||||
TableSeasonPagoda = "seasonpagoda"
|
||||
@ -222,6 +222,9 @@ const (
|
||||
|
||||
// pvp
|
||||
TablePvp = "pvp"
|
||||
|
||||
// 铁匠铺铸造台
|
||||
TableStove = "stove"
|
||||
)
|
||||
|
||||
// RPC服务接口定义处
|
||||
@ -723,3 +726,10 @@ const (
|
||||
UseType1 int32 = 1 //英雄碎片
|
||||
UseType8 int32 = 8 //觉醒材料合成
|
||||
)
|
||||
|
||||
const (
|
||||
SmithyReelType1 = 1 //炉温消耗减少
|
||||
SmithyReelType2 = 2 // 材料消耗减少
|
||||
SmithyReelType3 = 3 // 解锁图纸【紫金雷神锤】
|
||||
SmithyReelType4 = 4
|
||||
)
|
||||
|
@ -3,13 +3,15 @@ package smithy
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/configure"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) ForgeEquipCheck(session comm.IUserSession, req *pb.SmithyForgeEquipReq) (code pb.ErrorCode) {
|
||||
if req.EquipType == 0 {
|
||||
if req.ReelId == 0 {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
@ -18,18 +20,81 @@ func (this *apiComp) ForgeEquipCheck(session comm.IUserSession, req *pb.SmithyFo
|
||||
|
||||
// 打造装备
|
||||
func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEquipReq) (code pb.ErrorCode, data proto.Message) {
|
||||
var ()
|
||||
var (
|
||||
stove *pb.DBStove
|
||||
err error
|
||||
update map[string]interface{}
|
||||
|
||||
costRes []*cfg.Gameatn
|
||||
)
|
||||
update = make(map[string]interface{})
|
||||
code = this.ForgeEquipCheck(session, req)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return // 参数校验失败直接返回
|
||||
}
|
||||
stove, err := this.module.modelSmithy.getSmithyStoveList(session.GetUserId())
|
||||
stove, err = this.module.modelStove.getSmithyStoveList(session.GetUserId())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
reelcfg := this.module.configure.GetSmithyReelConfigData(req.ReelId)
|
||||
if reelcfg == nil {
|
||||
code = pb.ErrorCode_ReqParameterError // 没有找到该类型的图纸信息
|
||||
return
|
||||
}
|
||||
// 校验图纸是否激活
|
||||
if _, ok := stove.Data[req.ReelId]; !ok { // 是不是首次打造
|
||||
if !this.module.configure.CheckSmithyFirstReelConfigData(reelcfg.Type, req.ReelId) { // 没有激活图纸
|
||||
code = pb.ErrorCode_SmithyNoReel
|
||||
return
|
||||
}
|
||||
stove.Data[req.ReelId] = &pb.Mastery{
|
||||
Lv: 1,
|
||||
Value: 0,
|
||||
}
|
||||
//update["data"] = stove.Data
|
||||
}
|
||||
stove.Data[req.ReelId].Value += 1
|
||||
// 是否是精益打造
|
||||
if req.Quality > 0 {
|
||||
costRes = append(costRes, reelcfg.Quality)
|
||||
}
|
||||
costRes = append(costRes, reelcfg.Consume...)
|
||||
subAtn := this.module.modelStove.CheckForgeConsume(req.ReelId, stove.Data[req.ReelId].Lv)
|
||||
costRes = append(costRes, subAtn...)
|
||||
if code = this.module.CheckRes(session, costRes); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
// 熟练度减少的温度
|
||||
t := this.module.modelStove.CheckTemperature(req.ReelId, stove.Data[req.ReelId].Lv)
|
||||
// 检查炉温 是否够
|
||||
if stove.Temperature < reelcfg.Temperature-t {
|
||||
code = pb.ErrorCode_SmithyNoTemperature // 炉温不够 直接返回
|
||||
return
|
||||
}
|
||||
|
||||
// 检查是否提升了熟练度等级
|
||||
nextProficiency := this.module.configure.GetSmithyProficileData(req.ReelId, stove.Data[req.ReelId].Lv+1)
|
||||
if nextProficiency != nil && nextProficiency.Proficiency >= stove.Data[req.ReelId].Value { // 提升熟练度
|
||||
stove.Data[req.ReelId].Lv += 1
|
||||
stove.Data[req.ReelId].Value = 0
|
||||
// 校验是否解锁了新的图纸
|
||||
if nextProficiency.Type == comm.SmithyReelType3 {
|
||||
stove.Data[nextProficiency.Value1] = &pb.Mastery{
|
||||
Lv: 1,
|
||||
Value: 0,
|
||||
}
|
||||
}
|
||||
}
|
||||
if code = this.module.ConsumeRes(session, costRes, true); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
stove.Temperature -= (reelcfg.Temperature - t) // 消耗温度
|
||||
stove.RecoveTime = configure.Now().Unix()
|
||||
update["data"] = stove.Data
|
||||
update["recoveTime"] = stove.RecoveTime
|
||||
update["temperature"] = stove.Temperature
|
||||
this.module.modelStove.updateSmithyStove(session.GetUserId(), update)
|
||||
session.SendMsg(string(this.module.GetType()), "forgeequip", &pb.SmithyForgeEquipResp{Data: stove})
|
||||
return
|
||||
}
|
||||
|
48
modules/smithy/api_getCustomer.go
Normal file
48
modules/smithy/api_getCustomer.go
Normal file
@ -0,0 +1,48 @@
|
||||
package smithy
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/utils"
|
||||
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
func (this *apiComp) CustomerCheck(session comm.IUserSession, req *pb.SmithyCustomerReq) (code pb.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
func (this *apiComp) Customer(session comm.IUserSession, req *pb.SmithyCustomerReq) (code pb.ErrorCode, data proto.Message) {
|
||||
cus, err := this.module.modelTrade.getDBCustomer(session.GetUserId())
|
||||
if err != nil {
|
||||
if err == mongo.ErrNoDocuments {
|
||||
c, err := this.module.modelTrade.addCustomer(session.GetUserId(), 3)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
cus = c
|
||||
} else {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if utils.IsFirstTody(cus.LastRefreshTime) {
|
||||
this.module.modelTrade.DelByUId(session.GetUserId())
|
||||
c, err := this.module.modelTrade.addCustomer(session.GetUserId(), 3)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
cus = c
|
||||
}
|
||||
|
||||
rsp := &pb.SmithyCustomerResp{
|
||||
CustomerIds: cus.CustomerIds,
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), "customer", rsp)
|
||||
return
|
||||
}
|
@ -20,11 +20,12 @@ func (this *apiComp) GetStoveInfo(session comm.IUserSession, req *pb.SmithyGetSt
|
||||
if code != pb.ErrorCode_Success {
|
||||
return // 参数校验失败直接返回
|
||||
}
|
||||
_smithy, err := this.module.modelSmithy.getSmithyStoveList(session.GetUserId())
|
||||
_smithy, err := this.module.modelStove.getSmithyStoveList(session.GetUserId())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
this.module.modelStove.calculationRecoveryT(session.GetUserId(), _smithy)
|
||||
session.SendMsg(string(this.module.GetType()), "getstoveinfo", &pb.SmithyGetStoveInfoResp{Data: _smithy})
|
||||
return
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ func (this *apiComp) OrderEquip(session comm.IUserSession, req *pb.SmithyOrderEq
|
||||
if code != pb.ErrorCode_Success {
|
||||
return // 参数校验失败直接返回
|
||||
}
|
||||
stove, err := this.module.modelSmithy.getSmithyStoveList(session.GetUserId())
|
||||
stove, err := this.module.modelStove.getSmithyStoveList(session.GetUserId())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
|
@ -23,7 +23,7 @@ func (this *apiComp) Rise(session comm.IUserSession, req *pb.SmithyRiseReq) (cod
|
||||
if code != pb.ErrorCode_Success {
|
||||
return // 参数校验失败直接返回
|
||||
}
|
||||
stove, err := this.module.modelSmithy.getSmithyStoveList(session.GetUserId())
|
||||
stove, err := this.module.modelStove.getSmithyStoveList(session.GetUserId())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
|
@ -8,23 +8,40 @@ import (
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) StrveUpCheck(session comm.IUserSession, req *pb.SmithyStoveUpReq) (code pb.ErrorCode) {
|
||||
func (this *apiComp) StoveUpCheck(session comm.IUserSession, req *pb.SmithyStoveUpReq) (code pb.ErrorCode) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// 炉子升级
|
||||
func (this *apiComp) StrveUp(session comm.IUserSession, req *pb.SmithyStoveUpReq) (code pb.ErrorCode, data proto.Message) {
|
||||
code = this.StrveUpCheck(session, req)
|
||||
func (this *apiComp) StoveUp(session comm.IUserSession, req *pb.SmithyStoveUpReq) (code pb.ErrorCode, data proto.Message) {
|
||||
code = this.StoveUpCheck(session, req)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return // 参数校验失败直接返回
|
||||
}
|
||||
stove, err := this.module.modelSmithy.getSmithyStoveList(session.GetUserId())
|
||||
stove, err := this.module.modelStove.getSmithyStoveList(session.GetUserId())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
|
||||
conf := this.module.configure.GetSmithyStoveConf(stove.Lv)
|
||||
if conf == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
nexConf := this.module.configure.GetSmithyStoveConf(stove.Lv + 1)
|
||||
if nexConf == nil {
|
||||
code = pb.ErrorCode_SmithyStoveMaxLv
|
||||
return
|
||||
}
|
||||
if code = this.module.ConsumeRes(session, conf.UpMaterial, true); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
stove.Lv += 1
|
||||
update := make(map[string]interface{})
|
||||
update["temperature"] = stove.Temperature
|
||||
update["recoveTime"] = stove.RecoveTime
|
||||
this.module.modelStove.updateSmithyStove(session.GetUserId(), update)
|
||||
session.SendMsg(string(this.module.GetType()), "stoveup", &pb.SmithyStoveUpResp{Data: stove})
|
||||
return
|
||||
}
|
||||
|
@ -19,11 +19,30 @@ func (this *apiComp) ToolsUp(session comm.IUserSession, req *pb.SmithyToolsUpReq
|
||||
if code != pb.ErrorCode_Success {
|
||||
return // 参数校验失败直接返回
|
||||
}
|
||||
stove, err := this.module.modelSmithy.getSmithyStoveList(session.GetUserId())
|
||||
stove, err := this.module.modelStove.getSmithyStoveList(session.GetUserId())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
conf := this.module.configure.GetSmithyToolsData(req.Id)
|
||||
if conf == nil {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
// 校验前置条件
|
||||
if conf.Preconditions == 0 {
|
||||
stove.Skill[conf.SkillType] = conf.SkillLv
|
||||
} else {
|
||||
//TODU
|
||||
}
|
||||
|
||||
if this.module.ConsumeRes(session, conf.UpMaterial, true); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
update := make(map[string]interface{})
|
||||
update["skill"] = stove.Skill
|
||||
this.module.modelStove.updateSmithyStove(session.GetUserId(), update)
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), "toolsup", &pb.SmithyToolsUpResp{Data: stove})
|
||||
return
|
||||
|
@ -3,10 +3,43 @@ package smithy
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
)
|
||||
|
||||
// 贸易
|
||||
|
||||
func (this *apiComp) TradeCheck(session comm.IUserSession, req *pb.SmithySellItemReq) (code pb.ErrorCode) {
|
||||
func (this *apiComp) SellCheck(session comm.IUserSession, req *pb.SmithySellReq) (code pb.ErrorCode) {
|
||||
if req.CustomerId == 0 || len(req.Ids) == 0 {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (this *apiComp) SellItem(session comm.IUserSession, req *pb.SmithySellReq) (code pb.ErrorCode, data proto.Message) {
|
||||
if code = this.SellCheck(session, req); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
//校验customer类型,因为有的类型是不能进入交易逻辑的
|
||||
//TODO
|
||||
|
||||
_ = this.module.modelTrade.updateCustomer(session.GetUserId(), req.CustomerId)
|
||||
|
||||
conf := this.module.configure.GetSmithyCustomerConf(req.CustomerId)
|
||||
if conf == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
|
||||
// 发奖励
|
||||
this.module.DispenseRes(session, conf.Reword, true)
|
||||
|
||||
rsp := &pb.SmithySellResp{
|
||||
CustomerId: req.CustomerId,
|
||||
Ids: req.Ids,
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), "sell", rsp)
|
||||
return
|
||||
}
|
||||
|
@ -10,23 +10,32 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
game_smithy = "game_smithy.json"
|
||||
game_smithystove = "game_smithystove.json"
|
||||
game_smithy = "game_smithy.json"
|
||||
game_smithystoveold = "game_smithystove.json"
|
||||
|
||||
game_smithyreel = "game_newsmithy.json" // 新版铁匠铺卷轴
|
||||
game_smproficiency = "game_smithyproficiency.json" // 铁匠铺熟练度
|
||||
game_smithystove = "game_smithystovev1.json" // 铁匠铺台子 打造配置
|
||||
game_smithytools = "game_smithytool.json" // 铁匠铺工具台
|
||||
game_smithycustomer = "game_smithycustomer.json"
|
||||
)
|
||||
|
||||
///配置管理基础组件
|
||||
// /配置管理基础组件
|
||||
type configureComp struct {
|
||||
modules.MCompConfigure
|
||||
module *Smithy
|
||||
hlock sync.RWMutex
|
||||
_smithyMap map[int64]*cfg.GameSmithyData
|
||||
|
||||
_mapProficile map[int64]*cfg.GameSmithyProficiencyData // 熟练度 key 卷轴ID+ 等级
|
||||
_mapskill map[int64]*cfg.GameSmithyToolData // 熟练度 key 技能类型+ 技能等级等级
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
// 组件初始化接口
|
||||
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
err = this.MCompConfigure.Init(service, module, comp, options)
|
||||
this._smithyMap = make(map[int64]*cfg.GameSmithyData, 0)
|
||||
this.module = module.(*Smithy)
|
||||
this._smithyMap = make(map[int64]*cfg.GameSmithyData, 0)
|
||||
configure.RegisterConfigure(game_smithy, cfg.NewGameSmithy, func() {
|
||||
if v, err := this.GetConfigure(game_smithy); err == nil {
|
||||
if configure, ok := v.(*cfg.GameSmithy); ok {
|
||||
@ -41,7 +50,17 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
log.Errorf("get game_pagoda conf err:%v", err)
|
||||
return
|
||||
})
|
||||
err = this.LoadConfigure(game_smithystove, cfg.NewGameSmithyStove)
|
||||
|
||||
this._mapProficile = make(map[int64]*cfg.GameSmithyProficiencyData, 0)
|
||||
configure.RegisterConfigure(game_smproficiency, cfg.NewGameSmithyProficiency, this.LoadProficileData)
|
||||
this._mapskill = make(map[int64]*cfg.GameSmithyToolData, 0)
|
||||
configure.RegisterConfigure(game_smithytools, cfg.NewGameSmithyTool, this.LoadSmithySkillData)
|
||||
err = this.LoadConfigure(game_smithyreel, cfg.NewGameSmithyStove)
|
||||
err = this.LoadConfigure(game_smithystove, cfg.NewGameSmithyStoveV1)
|
||||
err = this.LoadConfigure(game_smithytools, cfg.NewGameSmithyTool)
|
||||
err = this.LoadConfigure(game_smithystoveold, cfg.NewGameSmithyStove)
|
||||
err = this.LoadConfigure(game_smithycustomer, cfg.NewGameSmithyCustomer)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@ -66,7 +85,7 @@ func (this *configureComp) GetSmithyTypeConfigData() (mapType map[int32]struct{}
|
||||
|
||||
// 获取炉子配置数据
|
||||
func (this *configureComp) GetSmithyStoveConfigData(level int32) (data *cfg.GameSmithyStoveData) {
|
||||
if v, err := this.GetConfigure(game_smithystove); err == nil {
|
||||
if v, err := this.GetConfigure(game_smithystoveold); err == nil {
|
||||
if configure, ok := v.(*cfg.GameSmithyStove); ok {
|
||||
data = configure.Get(int32(level))
|
||||
return
|
||||
@ -75,7 +94,7 @@ func (this *configureComp) GetSmithyStoveConfigData(level int32) (data *cfg.Game
|
||||
return
|
||||
}
|
||||
|
||||
//加载多个配置文件
|
||||
// 加载多个配置文件
|
||||
func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) {
|
||||
for k, v := range confs {
|
||||
err = configure.RegisterConfigure(k, v, nil)
|
||||
@ -87,7 +106,132 @@ func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err
|
||||
return
|
||||
}
|
||||
|
||||
//读取配置数据
|
||||
// 读取配置数据
|
||||
func (this *configureComp) GetConfigure(name string) (v interface{}, err error) {
|
||||
return configure.GetConfigure(name)
|
||||
}
|
||||
|
||||
// 获取图纸信息
|
||||
func (this *configureComp) GetSmithyReelConfigData(id int32) (data *cfg.GameNewSmithyData) {
|
||||
if v, err := this.GetConfigure(game_smithyreel); err == nil {
|
||||
if configure, ok := v.(*cfg.GameNewSmithy); ok {
|
||||
data = configure.Get(int32(id))
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (this *configureComp) CheckSmithyFirstReelConfigData(etype int32, id int32) bool {
|
||||
if v, err := this.GetConfigure(game_smithyreel); err == nil {
|
||||
if configure, ok := v.(*cfg.GameNewSmithy); ok {
|
||||
for _, v := range configure.GetDataList() {
|
||||
if v.Type == etype {
|
||||
if v.Id == id {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// 获取铁匠铺熟练度数据
|
||||
func (this *configureComp) GetSmithProficiencyConf(id int32) (data *cfg.GameSmithyProficiencyData) {
|
||||
if v, err := this.GetConfigure(game_smproficiency); err == nil {
|
||||
if configure, ok := v.(*cfg.GameSmithyProficiency); ok {
|
||||
data = configure.Get(int32(id))
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 获取铁匠铺的工具台技能
|
||||
func (this *configureComp) GetSmithySkill(skillType int32, skillLv int32) *cfg.GameSmithyToolData {
|
||||
return this._mapskill[int64(skillType<<16)+int64(skillLv)]
|
||||
}
|
||||
|
||||
func (this *configureComp) LoadSmithySkillData() {
|
||||
if v, err := this.GetConfigure(game_smithytools); err == nil {
|
||||
if configure, ok := v.(*cfg.GameSmithyTool); ok {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
for _, value := range configure.GetDataList() {
|
||||
this._mapskill[int64(value.SkillType<<16)+int64(value.SkillLv)] = value
|
||||
}
|
||||
return
|
||||
}
|
||||
} else {
|
||||
log.Errorf("get LoadSmithySkillData conf err:%v", err)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func (this *configureComp) LoadProficileData() {
|
||||
|
||||
if v, err := this.GetConfigure(game_smproficiency); err == nil {
|
||||
if configure, ok := v.(*cfg.GameSmithyProficiency); ok {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
for _, value := range configure.GetDataList() {
|
||||
this._mapProficile[int64(value.ReelId<<16)+int64(value.ProficiencyLv)] = value
|
||||
}
|
||||
return
|
||||
}
|
||||
} else {
|
||||
log.Errorf("get game_pagoda conf err:%v", err)
|
||||
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (this *configureComp) GetSmithyProficileData(reelid int32, proficile int32) *cfg.GameSmithyProficiencyData {
|
||||
return this._mapProficile[int64(reelid<<16)+int64(proficile)]
|
||||
}
|
||||
|
||||
// 获取铁匠铺顾客配置
|
||||
func (this *configureComp) GetSmithyCustomerConfList() (data []*cfg.GameSmithyCustomerData) {
|
||||
if v, err := this.GetConfigure(game_smithycustomer); err != nil {
|
||||
if conf, ok := v.(*cfg.GameSmithyCustomer); ok {
|
||||
data = conf.GetDataList()
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (this *configureComp) GetSmithyCustomerConf(id int32) *cfg.GameSmithyCustomerData {
|
||||
if v, err := this.GetConfigure(game_smithycustomer); err == nil {
|
||||
if configure, ok := v.(*cfg.GameSmithyCustomer); ok {
|
||||
return configure.GetDataMap()[id]
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 获取铁匠铺工作台信息
|
||||
func (this *configureComp) GetSmithyToolsData(id int32) (data *cfg.GameSmithyToolData) {
|
||||
if v, err := this.GetConfigure(game_smithytools); err == nil {
|
||||
if configure, ok := v.(*cfg.GameSmithyTool); ok {
|
||||
data = configure.Get(int32(id))
|
||||
return
|
||||
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (this *configureComp) GetSmithyStoveConf(level int32) (data *cfg.GameSmithyStoveV1Data) {
|
||||
if v, err := this.GetConfigure(game_smithystove); err == nil {
|
||||
if configure, ok := v.(*cfg.GameSmithyStoveV1); ok {
|
||||
data = configure.Get(int32(level))
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -186,33 +186,3 @@ func (this *modelSmithy) CalculationStoveSkillLv(uid string, Smithy *pb.DBSmithy
|
||||
mapData["orderCostTime"] = Smithy.OrderCostTime
|
||||
this.module.ModifySmithyData(uid, mapData)
|
||||
}
|
||||
|
||||
// 获取铁匠铺信息
|
||||
func (this *modelSmithy) getSmithyStoveList(uid string) (result *pb.DBStove, err error) {
|
||||
result = &pb.DBStove{}
|
||||
if err = this.Get(uid, result); err != nil {
|
||||
if redis.RedisNil != err { // 没有数据直接创建新的数据
|
||||
result.Id = primitive.NewObjectID().Hex()
|
||||
result.Uid = uid
|
||||
result.Data = make(map[int32]int32, 0)
|
||||
result.Skill = make(map[int32]int32, 0)
|
||||
result.Lv = 1
|
||||
result.Temperature = 20000 // 配置
|
||||
result.RecoveTime = 0
|
||||
|
||||
if err = this.Add(uid, result); err != nil {
|
||||
this.module.Errorf("err:%v", err)
|
||||
err = nil
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
err = nil
|
||||
return result, err
|
||||
}
|
||||
|
||||
func (this *modelSmithy) updateSmithyStove(uid string, update map[string]interface{}) (err error) {
|
||||
err = this.Change(uid, update)
|
||||
return err
|
||||
}
|
||||
|
117
modules/smithy/model_stove.go
Normal file
117
modules/smithy/model_stove.go
Normal file
@ -0,0 +1,117 @@
|
||||
package smithy
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/redis"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/configure"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"strconv"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"go.mongodb.org/mongo-driver/x/bsonx"
|
||||
)
|
||||
|
||||
type modelStove struct {
|
||||
modules.MCompModel
|
||||
module *Smithy
|
||||
}
|
||||
|
||||
func (this *modelStove) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
this.TableName = string(comm.TableStove)
|
||||
err = this.MCompModel.Init(service, module, comp, options)
|
||||
this.module = module.(*Smithy)
|
||||
// uid 创建索引
|
||||
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
|
||||
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
// 获取铁匠铺信息
|
||||
func (this *modelStove) getSmithyStoveList(uid string) (result *pb.DBStove, err error) {
|
||||
result = &pb.DBStove{}
|
||||
if err = this.Get(uid, result); err != nil {
|
||||
if redis.RedisNil != err { // 没有数据直接创建新的数据
|
||||
result.Id = primitive.NewObjectID().Hex()
|
||||
result.Uid = uid
|
||||
result.Data = make(map[int32]*pb.Mastery, 0)
|
||||
result.Skill = make(map[int32]int32, 0)
|
||||
result.Forge = make(map[int32]int32, 0)
|
||||
result.Lv = 1
|
||||
result.Temperature = 20000 // 配置
|
||||
result.RecoveTime = 0
|
||||
|
||||
if err = this.Add(uid, result); err != nil {
|
||||
this.module.Errorf("err:%v", err)
|
||||
err = nil
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
err = nil
|
||||
return result, err
|
||||
}
|
||||
|
||||
func (this *modelStove) updateSmithyStove(uid string, update map[string]interface{}) (err error) {
|
||||
err = this.Change(uid, update)
|
||||
return err
|
||||
}
|
||||
|
||||
// 图纸属性 炉温消耗减少
|
||||
func (this *modelStove) CheckTemperature(reelId int32, lv int32) (t int32) {
|
||||
var index int32
|
||||
for index = 1; index <= lv; index++ {
|
||||
if cfg := this.module.configure.GetSmithyProficileData(reelId, index); cfg != nil {
|
||||
if cfg.Type == comm.SmithyReelType1 {
|
||||
t += cfg.Value1
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 检查消耗减少
|
||||
func (this *modelStove) CheckForgeConsume(reelId int32, lv int32) (atn []*cfg.Gameatn) {
|
||||
var index int32
|
||||
for index = 1; index <= lv; index++ {
|
||||
if cfgData := this.module.configure.GetSmithyProficileData(reelId, index); cfgData != nil {
|
||||
if cfgData.Type == comm.SmithyReelType2 {
|
||||
atn = append(atn, &cfg.Gameatn{
|
||||
A: "item",
|
||||
T: strconv.Itoa(int(cfgData.Value1)),
|
||||
N: cfgData.Value2,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 计算恢复进度
|
||||
func (this *modelStove) calculationRecoveryT(uid string, stove *pb.DBStove) {
|
||||
|
||||
conf := this.module.configure.GetSmithyStoveConf(stove.Lv)
|
||||
if conf == nil {
|
||||
return
|
||||
}
|
||||
if stove.Temperature < conf.MaxTemperature {
|
||||
update := make(map[string]interface{})
|
||||
// 小于最高温度就开始恢复
|
||||
addT := (configure.Now().Unix() - stove.RecoveTime) / int64(conf.TemperatureRecovery)
|
||||
stove.Temperature += int32(addT)
|
||||
if stove.Temperature > conf.MaxTemperature {
|
||||
stove.Temperature = conf.MaxTemperature
|
||||
stove.RecoveTime = 0
|
||||
} else {
|
||||
stove.RecoveTime += addT * int64(conf.TemperatureRecovery)
|
||||
}
|
||||
update["temperature"] = stove.Temperature
|
||||
update["recoveTime"] = stove.RecoveTime
|
||||
this.module.modelStove.updateSmithyStove(uid, update)
|
||||
}
|
||||
}
|
@ -4,7 +4,12 @@ import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/configure"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"math/rand"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"go.mongodb.org/mongo-driver/x/bsonx"
|
||||
)
|
||||
@ -24,4 +29,107 @@ func (this *modelTrade) Init(service core.IService, module core.IModule, comp co
|
||||
})
|
||||
return
|
||||
}
|
||||
//
|
||||
|
||||
// 权重项目
|
||||
type WeightedRandom struct {
|
||||
items []*cfg.GameSmithyCustomerData
|
||||
totalWeight int
|
||||
}
|
||||
|
||||
func newWeightedRandom(items []*cfg.GameSmithyCustomerData) *WeightedRandom {
|
||||
wr := &WeightedRandom{items: items}
|
||||
for _, item := range wr.items {
|
||||
wr.totalWeight += int(item.Weight)
|
||||
}
|
||||
return wr
|
||||
}
|
||||
|
||||
func (wr *WeightedRandom) pick() *cfg.GameSmithyCustomerData {
|
||||
randomNumber := rand.Intn(wr.totalWeight)
|
||||
for _, item := range wr.items {
|
||||
if randomNumber < int(item.Weight) {
|
||||
return item
|
||||
}
|
||||
randomNumber -= int(item.Weight)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 随机顾客
|
||||
func (s *modelTrade) getCustomerRandom() (customerId int32) {
|
||||
items := s.module.configure.GetSmithyCustomerConfList()
|
||||
wr := newWeightedRandom(items)
|
||||
if c := wr.pick(); c != nil {
|
||||
customerId = c.CustomerId
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (s *modelTrade) getDBCustomer(uid string) (*pb.DBCustomer, error) {
|
||||
customer := &pb.DBCustomer{}
|
||||
if err := s.Get(uid, customer); err != nil {
|
||||
s.module.Errorln(err)
|
||||
return nil, err
|
||||
}
|
||||
return customer, nil
|
||||
}
|
||||
|
||||
// 初始顾客
|
||||
func (s *modelTrade) addCustomer(uid string, num int32) (*pb.DBCustomer, error) {
|
||||
customer := &pb.DBCustomer{
|
||||
Id: primitive.NewObjectID().Hex(),
|
||||
Uid: uid,
|
||||
Total: num,
|
||||
LastRefreshTime: configure.Now().Unix(),
|
||||
}
|
||||
for i := 0; i < int(num); i++ {
|
||||
customer.CustomerIds = append(customer.CustomerIds, s.getCustomerRandom())
|
||||
}
|
||||
if err := s.Add(uid, customer); err != nil {
|
||||
s.module.Errorln(err)
|
||||
return nil, err
|
||||
}
|
||||
return customer, nil
|
||||
}
|
||||
|
||||
// 移除顾客
|
||||
func (s *modelTrade) removeCustomer(cus *pb.DBCustomer, customerId int32) *pb.DBCustomer {
|
||||
for i, v := range cus.CustomerIds {
|
||||
if v == customerId {
|
||||
cus.CustomerIds = append(cus.CustomerIds[:i], cus.CustomerIds[i+1:]...)
|
||||
i--
|
||||
}
|
||||
}
|
||||
return cus
|
||||
}
|
||||
|
||||
// 随机新顾客
|
||||
func (s *modelTrade) updateCustomer(uid string, customerId int32) error {
|
||||
cus, err := s.getDBCustomer(uid)
|
||||
if err == nil {
|
||||
cus = s.removeCustomer(cus, customerId)
|
||||
cus.Total++
|
||||
//上限
|
||||
limit := 20
|
||||
left := limit - int(cus.Total)
|
||||
if left <= 0 {
|
||||
return comm.NewCustomError(pb.ErrorCode_SmithyCustomerLimit)
|
||||
}
|
||||
|
||||
cus.CustomerIds = append(cus.CustomerIds, s.getCustomerRandom())
|
||||
cus.LastRefreshTime = configure.Now().Unix()
|
||||
update := map[string]interface{}{
|
||||
"customerIds": cus.CustomerIds,
|
||||
"total": cus.Total,
|
||||
"lastRefreshTime": cus.LastRefreshTime,
|
||||
}
|
||||
if err := s.Change(uid, update); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
//顾客类型策略
|
||||
|
||||
//交易
|
||||
|
@ -18,6 +18,7 @@ type Smithy struct {
|
||||
modelTrade *modelTrade
|
||||
api *apiComp
|
||||
configure *configureComp
|
||||
modelStove *modelStove
|
||||
}
|
||||
|
||||
func NewModule() core.IModule {
|
||||
@ -40,6 +41,7 @@ func (this *Smithy) OnInstallComp() {
|
||||
this.modelSmithy = this.RegisterComp(new(modelSmithy)).(*modelSmithy)
|
||||
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
|
||||
this.modelTrade = this.RegisterComp(new(modelTrade)).(*modelTrade)
|
||||
this.modelStove = this.RegisterComp(new(modelStove)).(*modelStove)
|
||||
}
|
||||
|
||||
// 接口信息
|
||||
|
@ -315,6 +315,11 @@ const (
|
||||
// AutoBattle
|
||||
ErrorCode_AutoBattleNoData ErrorCode = 4001 //没有正在自动战斗的数据
|
||||
ErrorCode_AutoBattleStatesErr ErrorCode = 4002 // 自动战斗状态错误
|
||||
// smithy
|
||||
ErrorCode_SmithyNoReel ErrorCode = 4101 // 没有激活图纸信息
|
||||
ErrorCode_SmithyNoTemperature ErrorCode = 4102 // 炉温不够不能打造
|
||||
ErrorCode_SmithyStoveMaxLv ErrorCode = 4103 // 炉子达到最大等级
|
||||
ErrorCode_SmithyCustomerLimit ErrorCode = 4104 //顾客上限
|
||||
)
|
||||
|
||||
// Enum value maps for ErrorCode.
|
||||
@ -581,6 +586,10 @@ var (
|
||||
3901: "AcademyTaskNoCompleteTask",
|
||||
4001: "AutoBattleNoData",
|
||||
4002: "AutoBattleStatesErr",
|
||||
4101: "SmithyNoReel",
|
||||
4102: "SmithyNoTemperature",
|
||||
4103: "SmithyStoveMaxLv",
|
||||
4104: "SmithyCustomerLimit",
|
||||
}
|
||||
ErrorCode_value = map[string]int32{
|
||||
"Success": 0,
|
||||
@ -844,6 +853,10 @@ var (
|
||||
"AcademyTaskNoCompleteTask": 3901,
|
||||
"AutoBattleNoData": 4001,
|
||||
"AutoBattleStatesErr": 4002,
|
||||
"SmithyNoReel": 4101,
|
||||
"SmithyNoTemperature": 4102,
|
||||
"SmithyStoveMaxLv": 4103,
|
||||
"SmithyCustomerLimit": 4104,
|
||||
}
|
||||
)
|
||||
|
||||
@ -878,7 +891,7 @@ var File_errorcode_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_errorcode_proto_rawDesc = []byte{
|
||||
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2a, 0x92, 0x2f, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
|
||||
0x6f, 0x2a, 0xf0, 0x2f, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
|
||||
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d,
|
||||
0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12,
|
||||
0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||
@ -1255,8 +1268,14 @@ var file_errorcode_proto_rawDesc = []byte{
|
||||
0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74,
|
||||
0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xa1, 0x1f, 0x12, 0x18, 0x0a, 0x13,
|
||||
0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73,
|
||||
0x45, 0x72, 0x72, 0x10, 0xa2, 0x1f, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x45, 0x72, 0x72, 0x10, 0xa2, 0x1f, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
|
||||
0x4e, 0x6f, 0x52, 0x65, 0x65, 0x6c, 0x10, 0x85, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69,
|
||||
0x74, 0x68, 0x79, 0x4e, 0x6f, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65,
|
||||
0x10, 0x86, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f,
|
||||
0x76, 0x65, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x87, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d,
|
||||
0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69,
|
||||
0x74, 0x10, 0x88, 0x20, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -20,26 +20,81 @@ const (
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Mastery struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Lv int32 `protobuf:"varint,1,opt,name=lv,proto3" json:"lv"`
|
||||
Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value"`
|
||||
}
|
||||
|
||||
func (x *Mastery) Reset() {
|
||||
*x = Mastery{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_smithy_smithy_db_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Mastery) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Mastery) ProtoMessage() {}
|
||||
|
||||
func (x *Mastery) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_smithy_smithy_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 Mastery.ProtoReflect.Descriptor instead.
|
||||
func (*Mastery) Descriptor() ([]byte, []int) {
|
||||
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Mastery) GetLv() int32 {
|
||||
if x != nil {
|
||||
return x.Lv
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Mastery) GetValue() int32 {
|
||||
if x != nil {
|
||||
return x.Value
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 炉子信息
|
||||
type DBStove 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
|
||||
Lv int32 `protobuf:"varint,3,opt,name=lv,proto3" json:"lv"` // 炉子等级
|
||||
Data map[int32]int32 `protobuf:"bytes,4,rep,name=data,proto3" json:"data" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 套装类型 value 熟练度
|
||||
Skill map[int32]int32 `protobuf:"bytes,5,rep,name=skill,proto3" json:"skill" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 台子技能
|
||||
Forge map[int32]int32 `protobuf:"bytes,6,rep,name=forge,proto3" json:"forge" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 套装类型 value 打造次数
|
||||
Temperature int32 `protobuf:"varint,7,opt,name=temperature,proto3" json:"temperature"` // 炉子温度
|
||||
RecoveTime int64 `protobuf:"varint,8,opt,name=recoveTime,proto3" json:"recoveTime"` // 恢复满时间
|
||||
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
|
||||
Lv int32 `protobuf:"varint,3,opt,name=lv,proto3" json:"lv"` // 炉子等级
|
||||
Data map[int32]*Mastery `protobuf:"bytes,4,rep,name=data,proto3" json:"data" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // key 图纸ID value 熟练度
|
||||
Skill map[int32]int32 `protobuf:"bytes,5,rep,name=skill,proto3" json:"skill" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 台子技能
|
||||
Forge map[int32]int32 `protobuf:"bytes,6,rep,name=forge,proto3" json:"forge" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 套装类型 value 打造次数
|
||||
Temperature int32 `protobuf:"varint,7,opt,name=temperature,proto3" json:"temperature"` // 炉子温度
|
||||
RecoveTime int64 `protobuf:"varint,8,opt,name=recoveTime,proto3" json:"recoveTime"` // 恢复满时间
|
||||
}
|
||||
|
||||
func (x *DBStove) Reset() {
|
||||
*x = DBStove{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_smithy_smithy_db_proto_msgTypes[0]
|
||||
mi := &file_smithy_smithy_db_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@ -52,7 +107,7 @@ func (x *DBStove) String() string {
|
||||
func (*DBStove) ProtoMessage() {}
|
||||
|
||||
func (x *DBStove) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_smithy_smithy_db_proto_msgTypes[0]
|
||||
mi := &file_smithy_smithy_db_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@ -65,7 +120,7 @@ func (x *DBStove) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use DBStove.ProtoReflect.Descriptor instead.
|
||||
func (*DBStove) Descriptor() ([]byte, []int) {
|
||||
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{0}
|
||||
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *DBStove) GetId() string {
|
||||
@ -89,7 +144,7 @@ func (x *DBStove) GetLv() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBStove) GetData() map[int32]int32 {
|
||||
func (x *DBStove) GetData() map[int32]*Mastery {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
}
|
||||
@ -124,68 +179,20 @@ func (x *DBStove) GetRecoveTime() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
// 商人信息
|
||||
type DBBusiness struct {
|
||||
type DBCustomer struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Shop map[int32]int32 `protobuf:"bytes,1,rep,name=shop,proto3" json:"shop" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
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"` //
|
||||
CustomerIds []int32 `protobuf:"varint,3,rep,packed,name=customerIds,proto3" json:"customerIds" bson:"customerIds"` // 顾客Ids
|
||||
Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total" bson:"total"` //顾客累计数
|
||||
LastRefreshTime int64 `protobuf:"varint,5,opt,name=lastRefreshTime,proto3" json:"lastRefreshTime" bson:"lastRefreshTime"` // 上次更新时间
|
||||
}
|
||||
|
||||
func (x *DBBusiness) Reset() {
|
||||
*x = DBBusiness{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_smithy_smithy_db_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DBBusiness) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DBBusiness) ProtoMessage() {}
|
||||
|
||||
func (x *DBBusiness) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_smithy_smithy_db_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 DBBusiness.ProtoReflect.Descriptor instead.
|
||||
func (*DBBusiness) Descriptor() ([]byte, []int) {
|
||||
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *DBBusiness) GetShop() map[int32]int32 {
|
||||
if x != nil {
|
||||
return x.Shop
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type DBBusinessData 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
|
||||
Data []*DBBusiness `protobuf:"bytes,3,rep,name=data,proto3" json:"data"`
|
||||
Count int32 `protobuf:"varint,4,opt,name=count,proto3" json:"count"` // 刷新次数
|
||||
RefreshTime int64 `protobuf:"varint,5,opt,name=refreshTime,proto3" json:"refreshTime" bson:"refreshTime"` //刷新开始时间
|
||||
}
|
||||
|
||||
func (x *DBBusinessData) Reset() {
|
||||
*x = DBBusinessData{}
|
||||
func (x *DBCustomer) Reset() {
|
||||
*x = DBCustomer{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_smithy_smithy_db_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -193,13 +200,13 @@ func (x *DBBusinessData) Reset() {
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DBBusinessData) String() string {
|
||||
func (x *DBCustomer) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DBBusinessData) ProtoMessage() {}
|
||||
func (*DBCustomer) ProtoMessage() {}
|
||||
|
||||
func (x *DBBusinessData) ProtoReflect() protoreflect.Message {
|
||||
func (x *DBCustomer) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_smithy_smithy_db_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -211,42 +218,42 @@ func (x *DBBusinessData) ProtoReflect() protoreflect.Message {
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use DBBusinessData.ProtoReflect.Descriptor instead.
|
||||
func (*DBBusinessData) Descriptor() ([]byte, []int) {
|
||||
// Deprecated: Use DBCustomer.ProtoReflect.Descriptor instead.
|
||||
func (*DBCustomer) Descriptor() ([]byte, []int) {
|
||||
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *DBBusinessData) GetId() string {
|
||||
func (x *DBCustomer) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBBusinessData) GetUid() string {
|
||||
func (x *DBCustomer) GetUid() string {
|
||||
if x != nil {
|
||||
return x.Uid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBBusinessData) GetData() []*DBBusiness {
|
||||
func (x *DBCustomer) GetCustomerIds() []int32 {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
return x.CustomerIds
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *DBBusinessData) GetCount() int32 {
|
||||
func (x *DBCustomer) GetTotal() int32 {
|
||||
if x != nil {
|
||||
return x.Count
|
||||
return x.Total
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBBusinessData) GetRefreshTime() int64 {
|
||||
func (x *DBCustomer) GetLastRefreshTime() int64 {
|
||||
if x != nil {
|
||||
return x.RefreshTime
|
||||
return x.LastRefreshTime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
@ -653,111 +660,108 @@ var File_smithy_smithy_db_proto protoreflect.FileDescriptor
|
||||
var file_smithy_smithy_db_proto_rawDesc = []byte{
|
||||
0x0a, 0x16, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2f, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x5f,
|
||||
0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x03, 0x0a, 0x07, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65,
|
||||
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, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
|
||||
0x6c, 0x76, 0x12, 0x26, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x12, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x6b,
|
||||
0x69, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x42, 0x53, 0x74,
|
||||
0x6f, 0x76, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05,
|
||||
0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x29, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x18, 0x06,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x2e, 0x46,
|
||||
0x6f, 0x72, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x67, 0x65,
|
||||
0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18,
|
||||
0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75,
|
||||
0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x54, 0x69,
|
||||
0x6d, 0x65, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 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, 0x1a, 0x38, 0x0a, 0x0a, 0x53,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x07, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x79, 0x12,
|
||||
0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb2, 0x03, 0x0a, 0x07, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76,
|
||||
0x65, 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, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x02, 0x6c, 0x76, 0x12, 0x26, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x12, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x05, 0x73,
|
||||
0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x42, 0x53,
|
||||
0x74, 0x6f, 0x76, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
|
||||
0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x29, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x18,
|
||||
0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x2e,
|
||||
0x46, 0x6f, 0x72, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x67,
|
||||
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65,
|
||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74,
|
||||
0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x54, 0x69, 0x6d,
|
||||
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x54,
|
||||
0x69, 0x6d, 0x65, 0x1a, 0x41, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
||||
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
|
||||
0x65, 0x79, 0x12, 0x1e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x08, 0x2e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 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,
|
||||
0x1a, 0x38, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x67, 0x65, 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, 0x22, 0x90, 0x01, 0x0a, 0x0a, 0x44,
|
||||
0x42, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 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, 0x20, 0x0a, 0x0b, 0x63,
|
||||
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05,
|
||||
0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f,
|
||||
0x74, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65,
|
||||
0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6c, 0x61,
|
||||
0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xba, 0x01,
|
||||
0x0a, 0x08, 0x44, 0x42, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 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, 0x2d, 0x0a, 0x06,
|
||||
0x74, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44,
|
||||
0x42, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x2e, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73,
|
||||
0x6c, 0x69, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6c, 0x69,
|
||||
0x64, 0x65, 0x72, 0x1a, 0x45, 0x0a, 0x0b, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52,
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x55, 0x0a, 0x09, 0x46, 0x6f,
|
||||
0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x67, 0x65,
|
||||
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x6f, 0x72,
|
||||
0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69,
|
||||
0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74,
|
||||
0x79, 0x22, 0x4f, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65,
|
||||
0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x65,
|
||||
0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x54, 0x69,
|
||||
0x6d, 0x65, 0x22, 0x5a, 0x0a, 0x0a, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x6e, 0x67,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x82,
|
||||
0x04, 0x0a, 0x08, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 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, 0x1c, 0x0a,
|
||||
0x05, 0x63, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x43,
|
||||
0x6c, 0x61, 0x6e, 0x67, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x06, 0x6f,
|
||||
0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x4f, 0x72,
|
||||
0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73,
|
||||
0x12, 0x21, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x69, 0x74,
|
||||
0x65, 0x6d, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x53, 0x6b,
|
||||
0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x07, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x4c, 0x76, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x72, 0x64,
|
||||
0x65, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
|
||||
0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x64, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f,
|
||||
0x6f, 0x72, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69,
|
||||
0x74, 0x68, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x52, 0x09, 0x64, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1e, 0x0a,
|
||||
0x0a, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1c, 0x0a,
|
||||
0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x53,
|
||||
0x6b, 0x69, 0x6c, 0x6c, 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, 0x1a, 0x38, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x67, 0x65, 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, 0x22,
|
||||
0x70, 0x0a, 0x0a, 0x44, 0x42, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a,
|
||||
0x04, 0x73, 0x68, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42,
|
||||
0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x52, 0x04, 0x73, 0x68, 0x6f, 0x70, 0x1a, 0x37, 0x0a, 0x09, 0x53, 0x68, 0x6f, 0x70,
|
||||
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, 0x22, 0x8b, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73,
|
||||
0x44, 0x61, 0x74, 0x61, 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, 0x1f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73,
|
||||
0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a,
|
||||
0x0b, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x22,
|
||||
0xba, 0x01, 0x0a, 0x08, 0x44, 0x42, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 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, 0x2d,
|
||||
0x0a, 0x06, 0x74, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15,
|
||||
0x2e, 0x44, 0x42, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x2e, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73,
|
||||
0x6c, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x45, 0x0a, 0x0b, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74,
|
||||
0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x55, 0x0a, 0x09,
|
||||
0x46, 0x6f, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x6f, 0x72,
|
||||
0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66,
|
||||
0x6f, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61,
|
||||
0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c,
|
||||
0x69, 0x74, 0x79, 0x22, 0x4f, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08,
|
||||
0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
|
||||
0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x54, 0x69, 0x6d,
|
||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x22, 0x5a, 0x0a, 0x0a, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61,
|
||||
0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x22, 0x82, 0x04, 0x0a, 0x08, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 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,
|
||||
0x1c, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06,
|
||||
0x2e, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x23, 0x0a,
|
||||
0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
|
||||
0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65,
|
||||
0x72, 0x73, 0x12, 0x21, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05,
|
||||
0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x06,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e,
|
||||
0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x6b, 0x69, 0x6c,
|
||||
0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x4c, 0x76, 0x18, 0x07, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x4c, 0x76, 0x12, 0x24, 0x0a, 0x0d, 0x6f,
|
||||
0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d,
|
||||
0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x64, 0x65, 0x73, 0x6b, 0x46,
|
||||
0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x53,
|
||||
0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x64, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x12,
|
||||
0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x0b, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x12,
|
||||
0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x38, 0x0a,
|
||||
0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 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, 0x1a, 0x3c, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x6b, 0x46,
|
||||
0x6c, 0x6f, 0x6f, 0x72, 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,
|
||||
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f,
|
||||
0x6f, 0x72, 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 (
|
||||
@ -772,43 +776,41 @@ func file_smithy_smithy_db_proto_rawDescGZIP() []byte {
|
||||
return file_smithy_smithy_db_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_smithy_smithy_db_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
|
||||
var file_smithy_smithy_db_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
|
||||
var file_smithy_smithy_db_proto_goTypes = []interface{}{
|
||||
(*DBStove)(nil), // 0: DBStove
|
||||
(*DBBusiness)(nil), // 1: DBBusiness
|
||||
(*DBBusinessData)(nil), // 2: DBBusinessData
|
||||
(*DBTujian)(nil), // 3: DBTujian
|
||||
(*ForgeData)(nil), // 4: ForgeData
|
||||
(*Clang)(nil), // 5: Clang
|
||||
(*OrderClang)(nil), // 6: OrderClang
|
||||
(*DBSmithy)(nil), // 7: DBSmithy
|
||||
nil, // 8: DBStove.DataEntry
|
||||
nil, // 9: DBStove.SkillEntry
|
||||
nil, // 10: DBStove.ForgeEntry
|
||||
nil, // 11: DBBusiness.ShopEntry
|
||||
nil, // 12: DBTujian.TujianEntry
|
||||
nil, // 13: DBSmithy.SkillEntry
|
||||
nil, // 14: DBSmithy.DeskFloorEntry
|
||||
(*UserAssets)(nil), // 15: UserAssets
|
||||
(*Mastery)(nil), // 0: Mastery
|
||||
(*DBStove)(nil), // 1: DBStove
|
||||
(*DBCustomer)(nil), // 2: DBCustomer
|
||||
(*DBTujian)(nil), // 3: DBTujian
|
||||
(*ForgeData)(nil), // 4: ForgeData
|
||||
(*Clang)(nil), // 5: Clang
|
||||
(*OrderClang)(nil), // 6: OrderClang
|
||||
(*DBSmithy)(nil), // 7: DBSmithy
|
||||
nil, // 8: DBStove.DataEntry
|
||||
nil, // 9: DBStove.SkillEntry
|
||||
nil, // 10: DBStove.ForgeEntry
|
||||
nil, // 11: DBTujian.TujianEntry
|
||||
nil, // 12: DBSmithy.SkillEntry
|
||||
nil, // 13: DBSmithy.DeskFloorEntry
|
||||
(*UserAssets)(nil), // 14: UserAssets
|
||||
}
|
||||
var file_smithy_smithy_db_proto_depIdxs = []int32{
|
||||
8, // 0: DBStove.data:type_name -> DBStove.DataEntry
|
||||
9, // 1: DBStove.skill:type_name -> DBStove.SkillEntry
|
||||
10, // 2: DBStove.forge:type_name -> DBStove.ForgeEntry
|
||||
11, // 3: DBBusiness.shop:type_name -> DBBusiness.ShopEntry
|
||||
1, // 4: DBBusinessData.data:type_name -> DBBusiness
|
||||
12, // 5: DBTujian.tujian:type_name -> DBTujian.TujianEntry
|
||||
5, // 6: DBSmithy.clang:type_name -> Clang
|
||||
6, // 7: DBSmithy.orders:type_name -> OrderClang
|
||||
15, // 8: DBSmithy.items:type_name -> UserAssets
|
||||
13, // 9: DBSmithy.skill:type_name -> DBSmithy.SkillEntry
|
||||
14, // 10: DBSmithy.deskFloor:type_name -> DBSmithy.DeskFloorEntry
|
||||
4, // 11: DBTujian.TujianEntry.value:type_name -> ForgeData
|
||||
12, // [12:12] is the sub-list for method output_type
|
||||
12, // [12:12] is the sub-list for method input_type
|
||||
12, // [12:12] is the sub-list for extension type_name
|
||||
12, // [12:12] is the sub-list for extension extendee
|
||||
0, // [0:12] is the sub-list for field type_name
|
||||
11, // 3: DBTujian.tujian:type_name -> DBTujian.TujianEntry
|
||||
5, // 4: DBSmithy.clang:type_name -> Clang
|
||||
6, // 5: DBSmithy.orders:type_name -> OrderClang
|
||||
14, // 6: DBSmithy.items:type_name -> UserAssets
|
||||
12, // 7: DBSmithy.skill:type_name -> DBSmithy.SkillEntry
|
||||
13, // 8: DBSmithy.deskFloor:type_name -> DBSmithy.DeskFloorEntry
|
||||
0, // 9: DBStove.DataEntry.value:type_name -> Mastery
|
||||
4, // 10: DBTujian.TujianEntry.value:type_name -> ForgeData
|
||||
11, // [11:11] is the sub-list for method output_type
|
||||
11, // [11:11] is the sub-list for method input_type
|
||||
11, // [11:11] is the sub-list for extension type_name
|
||||
11, // [11:11] is the sub-list for extension extendee
|
||||
0, // [0:11] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_smithy_smithy_db_proto_init() }
|
||||
@ -819,7 +821,7 @@ func file_smithy_smithy_db_proto_init() {
|
||||
file_comm_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_smithy_smithy_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBStove); i {
|
||||
switch v := v.(*Mastery); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -831,7 +833,7 @@ func file_smithy_smithy_db_proto_init() {
|
||||
}
|
||||
}
|
||||
file_smithy_smithy_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBBusiness); i {
|
||||
switch v := v.(*DBStove); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -843,7 +845,7 @@ func file_smithy_smithy_db_proto_init() {
|
||||
}
|
||||
}
|
||||
file_smithy_smithy_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBBusinessData); i {
|
||||
switch v := v.(*DBCustomer); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -921,7 +923,7 @@ func file_smithy_smithy_db_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_smithy_smithy_db_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 15,
|
||||
NumMessages: 14,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
@ -112,9 +112,9 @@ type SmithyForgeEquipReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
EquipType int32 `protobuf:"varint,1,opt,name=equipType,proto3" json:"equipType"` // 装备类型
|
||||
Lava int32 `protobuf:"varint,2,opt,name=lava,proto3" json:"lava"` // 添加熔岩
|
||||
Quality int32 `protobuf:"varint,3,opt,name=quality,proto3" json:"quality"` // 精益制造
|
||||
ReelId int32 `protobuf:"varint,1,opt,name=reelId,proto3" json:"reelId"` // 卷轴ID
|
||||
Lava int32 `protobuf:"varint,2,opt,name=lava,proto3" json:"lava"` // 添加熔岩
|
||||
Quality int32 `protobuf:"varint,3,opt,name=quality,proto3" json:"quality"` // 精益制造
|
||||
}
|
||||
|
||||
func (x *SmithyForgeEquipReq) Reset() {
|
||||
@ -149,9 +149,9 @@ func (*SmithyForgeEquipReq) Descriptor() ([]byte, []int) {
|
||||
return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *SmithyForgeEquipReq) GetEquipType() int32 {
|
||||
func (x *SmithyForgeEquipReq) GetReelId() int32 {
|
||||
if x != nil {
|
||||
return x.EquipType
|
||||
return x.ReelId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
@ -637,14 +637,14 @@ func (x *SmithyToolsUpResp) GetData() *DBStove {
|
||||
}
|
||||
|
||||
// 刷新商人
|
||||
type SmithyRefreshShopReq struct {
|
||||
type SmithyCustomerReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *SmithyRefreshShopReq) Reset() {
|
||||
*x = SmithyRefreshShopReq{}
|
||||
func (x *SmithyCustomerReq) Reset() {
|
||||
*x = SmithyCustomerReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_smithy_smithy_msg_proto_msgTypes[12]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -652,13 +652,13 @@ func (x *SmithyRefreshShopReq) Reset() {
|
||||
}
|
||||
}
|
||||
|
||||
func (x *SmithyRefreshShopReq) String() string {
|
||||
func (x *SmithyCustomerReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*SmithyRefreshShopReq) ProtoMessage() {}
|
||||
func (*SmithyCustomerReq) ProtoMessage() {}
|
||||
|
||||
func (x *SmithyRefreshShopReq) ProtoReflect() protoreflect.Message {
|
||||
func (x *SmithyCustomerReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_smithy_smithy_msg_proto_msgTypes[12]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -670,21 +670,21 @@ func (x *SmithyRefreshShopReq) ProtoReflect() protoreflect.Message {
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use SmithyRefreshShopReq.ProtoReflect.Descriptor instead.
|
||||
func (*SmithyRefreshShopReq) Descriptor() ([]byte, []int) {
|
||||
// Deprecated: Use SmithyCustomerReq.ProtoReflect.Descriptor instead.
|
||||
func (*SmithyCustomerReq) Descriptor() ([]byte, []int) {
|
||||
return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{12}
|
||||
}
|
||||
|
||||
type SmithyRefreshShopResp struct {
|
||||
type SmithyCustomerResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Data *DBBusiness `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
|
||||
CustomerIds []int32 `protobuf:"varint,1,rep,packed,name=customerIds,proto3" json:"customerIds"` //顾客
|
||||
}
|
||||
|
||||
func (x *SmithyRefreshShopResp) Reset() {
|
||||
*x = SmithyRefreshShopResp{}
|
||||
func (x *SmithyCustomerResp) Reset() {
|
||||
*x = SmithyCustomerResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_smithy_smithy_msg_proto_msgTypes[13]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -692,13 +692,13 @@ func (x *SmithyRefreshShopResp) Reset() {
|
||||
}
|
||||
}
|
||||
|
||||
func (x *SmithyRefreshShopResp) String() string {
|
||||
func (x *SmithyCustomerResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*SmithyRefreshShopResp) ProtoMessage() {}
|
||||
func (*SmithyCustomerResp) ProtoMessage() {}
|
||||
|
||||
func (x *SmithyRefreshShopResp) ProtoReflect() protoreflect.Message {
|
||||
func (x *SmithyCustomerResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_smithy_smithy_msg_proto_msgTypes[13]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -710,30 +710,30 @@ func (x *SmithyRefreshShopResp) ProtoReflect() protoreflect.Message {
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use SmithyRefreshShopResp.ProtoReflect.Descriptor instead.
|
||||
func (*SmithyRefreshShopResp) Descriptor() ([]byte, []int) {
|
||||
// Deprecated: Use SmithyCustomerResp.ProtoReflect.Descriptor instead.
|
||||
func (*SmithyCustomerResp) Descriptor() ([]byte, []int) {
|
||||
return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{13}
|
||||
}
|
||||
|
||||
func (x *SmithyRefreshShopResp) GetData() *DBBusiness {
|
||||
func (x *SmithyCustomerResp) GetCustomerIds() []int32 {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
return x.CustomerIds
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 出售装备
|
||||
type SmithySellItemReq struct {
|
||||
type SmithySellReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` // 装备ID
|
||||
Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 数量
|
||||
Ids []int32 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids"` // 装备ID
|
||||
CustomerId int32 `protobuf:"varint,2,opt,name=customerId,proto3" json:"customerId"` //顾客ID
|
||||
}
|
||||
|
||||
func (x *SmithySellItemReq) Reset() {
|
||||
*x = SmithySellItemReq{}
|
||||
func (x *SmithySellReq) Reset() {
|
||||
*x = SmithySellReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_smithy_smithy_msg_proto_msgTypes[14]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -741,13 +741,13 @@ func (x *SmithySellItemReq) Reset() {
|
||||
}
|
||||
}
|
||||
|
||||
func (x *SmithySellItemReq) String() string {
|
||||
func (x *SmithySellReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*SmithySellItemReq) ProtoMessage() {}
|
||||
func (*SmithySellReq) ProtoMessage() {}
|
||||
|
||||
func (x *SmithySellItemReq) ProtoReflect() protoreflect.Message {
|
||||
func (x *SmithySellReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_smithy_smithy_msg_proto_msgTypes[14]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -759,35 +759,36 @@ func (x *SmithySellItemReq) ProtoReflect() protoreflect.Message {
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use SmithySellItemReq.ProtoReflect.Descriptor instead.
|
||||
func (*SmithySellItemReq) Descriptor() ([]byte, []int) {
|
||||
// Deprecated: Use SmithySellReq.ProtoReflect.Descriptor instead.
|
||||
func (*SmithySellReq) Descriptor() ([]byte, []int) {
|
||||
return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{14}
|
||||
}
|
||||
|
||||
func (x *SmithySellItemReq) GetId() int32 {
|
||||
func (x *SmithySellReq) GetIds() []int32 {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
return x.Ids
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *SmithySellReq) GetCustomerId() int32 {
|
||||
if x != nil {
|
||||
return x.CustomerId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *SmithySellItemReq) GetCount() int32 {
|
||||
if x != nil {
|
||||
return x.Count
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type SmithySellItemResp struct {
|
||||
type SmithySellResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Data *DBBusiness `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
|
||||
CustomerId int32 `protobuf:"varint,1,opt,name=customerId,proto3" json:"customerId"` //顾客ID
|
||||
Ids []int32 `protobuf:"varint,2,rep,packed,name=ids,proto3" json:"ids"` //出售的装备
|
||||
}
|
||||
|
||||
func (x *SmithySellItemResp) Reset() {
|
||||
*x = SmithySellItemResp{}
|
||||
func (x *SmithySellResp) Reset() {
|
||||
*x = SmithySellResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_smithy_smithy_msg_proto_msgTypes[15]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -795,13 +796,13 @@ func (x *SmithySellItemResp) Reset() {
|
||||
}
|
||||
}
|
||||
|
||||
func (x *SmithySellItemResp) String() string {
|
||||
func (x *SmithySellResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*SmithySellItemResp) ProtoMessage() {}
|
||||
func (*SmithySellResp) ProtoMessage() {}
|
||||
|
||||
func (x *SmithySellItemResp) ProtoReflect() protoreflect.Message {
|
||||
func (x *SmithySellResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_smithy_smithy_msg_proto_msgTypes[15]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -813,14 +814,21 @@ func (x *SmithySellItemResp) ProtoReflect() protoreflect.Message {
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use SmithySellItemResp.ProtoReflect.Descriptor instead.
|
||||
func (*SmithySellItemResp) Descriptor() ([]byte, []int) {
|
||||
// Deprecated: Use SmithySellResp.ProtoReflect.Descriptor instead.
|
||||
func (*SmithySellResp) Descriptor() ([]byte, []int) {
|
||||
return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{15}
|
||||
}
|
||||
|
||||
func (x *SmithySellItemResp) GetData() *DBBusiness {
|
||||
func (x *SmithySellResp) GetCustomerId() int32 {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
return x.CustomerId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *SmithySellResp) GetIds() []int32 {
|
||||
if x != nil {
|
||||
return x.Ids
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@ -1380,95 +1388,96 @@ var file_smithy_smithy_msg_proto_rawDesc = []byte{
|
||||
0x0a, 0x16, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x76, 0x65,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65,
|
||||
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x61, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
|
||||
0x46, 0x6f, 0x72, 0x67, 0x65, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a,
|
||||
0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c,
|
||||
0x61, 0x76, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x61, 0x76, 0x61, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x4a, 0x0a, 0x14, 0x53, 0x6d, 0x69,
|
||||
0x74, 0x68, 0x79, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65, 0x73,
|
||||
0x70, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x52,
|
||||
0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x79, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4f,
|
||||
0x72, 0x64, 0x65, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07,
|
||||
0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73,
|
||||
0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x76, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x04, 0x6c, 0x61, 0x76, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74,
|
||||
0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79,
|
||||
0x22, 0x4a, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x45,
|
||||
0x71, 0x75, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x71, 0x75, 0x69,
|
||||
0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, 0x12, 0x1c,
|
||||
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x44,
|
||||
0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x12, 0x0a, 0x10,
|
||||
0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x55, 0x70, 0x52, 0x65, 0x71,
|
||||
0x22, 0x31, 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x55,
|
||||
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5b, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
|
||||
0x46, 0x6f, 0x72, 0x67, 0x65, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x72, 0x65, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72,
|
||||
0x65, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x76, 0x61, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x61, 0x76, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61,
|
||||
0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c,
|
||||
0x69, 0x74, 0x79, 0x22, 0x4a, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x46, 0x6f, 0x72,
|
||||
0x67, 0x65, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x65,
|
||||
0x71, 0x75, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x71, 0x75, 0x69,
|
||||
0x70, 0x12, 0x1c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x08, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22,
|
||||
0x79, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x45, 0x71,
|
||||
0x75, 0x69, 0x70, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x6c, 0x61, 0x76, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x61, 0x76, 0x61,
|
||||
0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x4a, 0x0a, 0x14, 0x53, 0x6d,
|
||||
0x69, 0x74, 0x68, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65,
|
||||
0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65,
|
||||
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
|
||||
0x53, 0x74, 0x6f, 0x76, 0x65, 0x55, 0x70, 0x52, 0x65, 0x71, 0x22, 0x31, 0x0a, 0x11, 0x53, 0x6d,
|
||||
0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x55, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12,
|
||||
0x1c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e,
|
||||
0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3d, 0x0a,
|
||||
0x0d, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x52, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x16,
|
||||
0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
||||
0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x2e, 0x0a, 0x0e,
|
||||
0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x52, 0x69, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c,
|
||||
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x44,
|
||||
0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x22, 0x0a, 0x10,
|
||||
0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x55, 0x70, 0x52, 0x65, 0x71,
|
||||
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64,
|
||||
0x22, 0x31, 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x55,
|
||||
0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x52, 0x04, 0x64,
|
||||
0x61, 0x74, 0x61, 0x22, 0x3d, 0x0a, 0x0d, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x52, 0x69, 0x73,
|
||||
0x65, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x22, 0x2e, 0x0a, 0x0e, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x52, 0x69, 0x73, 0x65,
|
||||
0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x08, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x52, 0x04, 0x64, 0x61,
|
||||
0x74, 0x61, 0x22, 0x22, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x6f, 0x6f, 0x6c,
|
||||
0x73, 0x55, 0x70, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x31, 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
|
||||
0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x55, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x04, 0x64,
|
||||
0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x44, 0x42, 0x53, 0x74,
|
||||
0x6f, 0x76, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x6d, 0x69,
|
||||
0x74, 0x68, 0x79, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x65,
|
||||
0x71, 0x22, 0x38, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x52, 0x65, 0x66, 0x72, 0x65,
|
||||
0x73, 0x68, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x64, 0x61,
|
||||
0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x42, 0x75, 0x73,
|
||||
0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x39, 0x0a, 0x11, 0x53,
|
||||
0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71,
|
||||
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x35, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
|
||||
0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04,
|
||||
0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x42,
|
||||
0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x39, 0x0a,
|
||||
0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64,
|
||||
0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x6e,
|
||||
0x67, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x36, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74,
|
||||
0x68, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73,
|
||||
0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x09, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
|
||||
0x22, 0x14, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77,
|
||||
0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x22, 0x34, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
|
||||
0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a,
|
||||
0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42,
|
||||
0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x32, 0x0a, 0x14,
|
||||
0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x44, 0x65, 0x73, 0x6b, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c,
|
||||
0x76, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65,
|
||||
0x22, 0x36, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x44, 0x65, 0x73, 0x6b, 0x53, 0x6b,
|
||||
0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74,
|
||||
0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74,
|
||||
0x68, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74,
|
||||
0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x52, 0x65,
|
||||
0x71, 0x22, 0x37, 0x0a, 0x16, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, 0x65,
|
||||
0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64,
|
||||
0x61, 0x74, 0x61, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73,
|
||||
0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x22, 0x36, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74,
|
||||
0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20,
|
||||
0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x73,
|
||||
0x22, 0x41, 0x0a, 0x0d, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65,
|
||||
0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x03,
|
||||
0x69, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49,
|
||||
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65,
|
||||
0x72, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x0e, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x65, 0x6c,
|
||||
0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65,
|
||||
0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f,
|
||||
0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
|
||||
0x28, 0x05, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x39, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68,
|
||||
0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12,
|
||||
0x21, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
|
||||
0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x72, 0x64,
|
||||
0x65, 0x72, 0x22, 0x36, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64,
|
||||
0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x53, 0x6d,
|
||||
0x69, 0x74, 0x68, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x14, 0x53, 0x6d,
|
||||
0x69, 0x74, 0x68, 0x79, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52,
|
||||
0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x06, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x22, 0x34, 0x0a, 0x15, 0x53, 0x6d,
|
||||
0x69, 0x74, 0x68, 0x79, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52,
|
||||
0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72,
|
||||
0x22, 0x12, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x52, 0x65, 0x71, 0x22, 0x32, 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 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, 0x53, 0x6d, 0x69, 0x74,
|
||||
0x68, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x69, 0x74, 0x68, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x14, 0x0a, 0x12, 0x53, 0x6d,
|
||||
0x69, 0x74, 0x68, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
|
||||
0x22, 0x34, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77,
|
||||
0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
|
||||
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x32, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
|
||||
0x44, 0x65, 0x73, 0x6b, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x52, 0x65, 0x71, 0x12, 0x1a,
|
||||
0x0a, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0x36, 0x0a, 0x15, 0x53, 0x6d,
|
||||
0x69, 0x74, 0x68, 0x79, 0x44, 0x65, 0x73, 0x6b, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x52,
|
||||
0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x52, 0x04, 0x64, 0x61,
|
||||
0x74, 0x61, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76,
|
||||
0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x52, 0x65, 0x71, 0x22, 0x37, 0x0a, 0x16, 0x53,
|
||||
0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c,
|
||||
0x76, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x52, 0x04,
|
||||
0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x47, 0x65,
|
||||
0x74, 0x52, 0x61, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x65,
|
||||
0x6f, 0x70, 0x6c, 0x65, 0x22, 0x34, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x47, 0x65,
|
||||
0x74, 0x52, 0x61, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a,
|
||||
0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42,
|
||||
0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6d,
|
||||
0x69, 0x74, 0x68, 0x79, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x32,
|
||||
0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 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, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x52, 0x04, 0x64, 0x61,
|
||||
0x74, 0x61, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -1497,10 +1506,10 @@ var file_smithy_smithy_msg_proto_goTypes = []interface{}{
|
||||
(*SmithyRiseResp)(nil), // 9: SmithyRiseResp
|
||||
(*SmithyToolsUpReq)(nil), // 10: SmithyToolsUpReq
|
||||
(*SmithyToolsUpResp)(nil), // 11: SmithyToolsUpResp
|
||||
(*SmithyRefreshShopReq)(nil), // 12: SmithyRefreshShopReq
|
||||
(*SmithyRefreshShopResp)(nil), // 13: SmithyRefreshShopResp
|
||||
(*SmithySellItemReq)(nil), // 14: SmithySellItemReq
|
||||
(*SmithySellItemResp)(nil), // 15: SmithySellItemResp
|
||||
(*SmithyCustomerReq)(nil), // 12: SmithyCustomerReq
|
||||
(*SmithyCustomerResp)(nil), // 13: SmithyCustomerResp
|
||||
(*SmithySellReq)(nil), // 14: SmithySellReq
|
||||
(*SmithySellResp)(nil), // 15: SmithySellResp
|
||||
(*SmithyCreateOrderReq)(nil), // 16: SmithyCreateOrderReq
|
||||
(*SmithyCreateOrderResp)(nil), // 17: SmithyCreateOrderResp
|
||||
(*SmithyGetRewardReq)(nil), // 18: SmithyGetRewardReq
|
||||
@ -1514,10 +1523,9 @@ var file_smithy_smithy_msg_proto_goTypes = []interface{}{
|
||||
(*SmithyGetListReq)(nil), // 26: SmithyGetListReq
|
||||
(*SmithyGetListResp)(nil), // 27: SmithyGetListResp
|
||||
(*DBStove)(nil), // 28: DBStove
|
||||
(*DBBusiness)(nil), // 29: DBBusiness
|
||||
(*OrderClang)(nil), // 30: OrderClang
|
||||
(*DBSmithy)(nil), // 31: DBSmithy
|
||||
(*DBUser)(nil), // 32: DBUser
|
||||
(*OrderClang)(nil), // 29: OrderClang
|
||||
(*DBSmithy)(nil), // 30: DBSmithy
|
||||
(*DBUser)(nil), // 31: DBUser
|
||||
}
|
||||
var file_smithy_smithy_msg_proto_depIdxs = []int32{
|
||||
28, // 0: SmithyGetStoveInfoResp.data:type_name -> DBStove
|
||||
@ -1526,20 +1534,18 @@ var file_smithy_smithy_msg_proto_depIdxs = []int32{
|
||||
28, // 3: SmithyStoveUpResp.data:type_name -> DBStove
|
||||
28, // 4: SmithyRiseResp.data:type_name -> DBStove
|
||||
28, // 5: SmithyToolsUpResp.data:type_name -> DBStove
|
||||
29, // 6: SmithyRefreshShopResp.data:type_name -> DBBusiness
|
||||
29, // 7: SmithySellItemResp.data:type_name -> DBBusiness
|
||||
30, // 8: SmithyCreateOrderReq.order:type_name -> OrderClang
|
||||
31, // 9: SmithyCreateOrderResp.data:type_name -> DBSmithy
|
||||
31, // 10: SmithyGetRewardResp.data:type_name -> DBSmithy
|
||||
31, // 11: SmithyDeskSkillLvResp.data:type_name -> DBSmithy
|
||||
31, // 12: SmithyStoveSkillLvResp.data:type_name -> DBSmithy
|
||||
32, // 13: SmithyGetRandUserResp.user:type_name -> DBUser
|
||||
31, // 14: SmithyGetListResp.data:type_name -> DBSmithy
|
||||
15, // [15:15] is the sub-list for method output_type
|
||||
15, // [15:15] is the sub-list for method input_type
|
||||
15, // [15:15] is the sub-list for extension type_name
|
||||
15, // [15:15] is the sub-list for extension extendee
|
||||
0, // [0:15] is the sub-list for field type_name
|
||||
29, // 6: SmithyCreateOrderReq.order:type_name -> OrderClang
|
||||
30, // 7: SmithyCreateOrderResp.data:type_name -> DBSmithy
|
||||
30, // 8: SmithyGetRewardResp.data:type_name -> DBSmithy
|
||||
30, // 9: SmithyDeskSkillLvResp.data:type_name -> DBSmithy
|
||||
30, // 10: SmithyStoveSkillLvResp.data:type_name -> DBSmithy
|
||||
31, // 11: SmithyGetRandUserResp.user:type_name -> DBUser
|
||||
30, // 12: SmithyGetListResp.data:type_name -> DBSmithy
|
||||
13, // [13:13] is the sub-list for method output_type
|
||||
13, // [13:13] is the sub-list for method input_type
|
||||
13, // [13:13] is the sub-list for extension type_name
|
||||
13, // [13:13] is the sub-list for extension extendee
|
||||
0, // [0:13] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_smithy_smithy_msg_proto_init() }
|
||||
@ -1695,7 +1701,7 @@ func file_smithy_smithy_msg_proto_init() {
|
||||
}
|
||||
}
|
||||
file_smithy_smithy_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SmithyRefreshShopReq); i {
|
||||
switch v := v.(*SmithyCustomerReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -1707,7 +1713,7 @@ func file_smithy_smithy_msg_proto_init() {
|
||||
}
|
||||
}
|
||||
file_smithy_smithy_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SmithyRefreshShopResp); i {
|
||||
switch v := v.(*SmithyCustomerResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -1719,7 +1725,7 @@ func file_smithy_smithy_msg_proto_init() {
|
||||
}
|
||||
}
|
||||
file_smithy_smithy_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SmithySellItemReq); i {
|
||||
switch v := v.(*SmithySellReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -1731,7 +1737,7 @@ func file_smithy_smithy_msg_proto_init() {
|
||||
}
|
||||
}
|
||||
file_smithy_smithy_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SmithySellItemResp); i {
|
||||
switch v := v.(*SmithySellResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
42
sys/configure/structs/Game.NewSmithy.go
Normal file
42
sys/configure/structs/Game.NewSmithy.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 GameNewSmithy struct {
|
||||
_dataMap map[int32]*GameNewSmithyData
|
||||
_dataList []*GameNewSmithyData
|
||||
}
|
||||
|
||||
func NewGameNewSmithy(_buf []map[string]interface{}) (*GameNewSmithy, error) {
|
||||
_dataList := make([]*GameNewSmithyData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameNewSmithyData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameNewSmithyData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameNewSmithy{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameNewSmithy) GetDataMap() map[int32]*GameNewSmithyData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameNewSmithy) GetDataList() []*GameNewSmithyData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameNewSmithy) Get(key int32) *GameNewSmithyData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
58
sys/configure/structs/Game.NewSmithyData.go
Normal file
58
sys/configure/structs/Game.NewSmithyData.go
Normal file
@ -0,0 +1,58 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GameNewSmithyData struct {
|
||||
Id int32
|
||||
ItemId int32
|
||||
Type int32
|
||||
Consume []*Gameatn
|
||||
Temperature int32
|
||||
Quality *Gameatn
|
||||
}
|
||||
|
||||
const TypeId_GameNewSmithyData = -1249020316
|
||||
|
||||
func (*GameNewSmithyData) GetTypeId() int32 {
|
||||
return -1249020316
|
||||
}
|
||||
|
||||
func (_v *GameNewSmithyData)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["item_id"].(float64); !_ok_ { err = errors.New("item_id error"); return }; _v.ItemId = 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 _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["consume"].([]interface{}); !_ok_ { err = errors.New("consume error"); return }
|
||||
|
||||
_v.Consume = 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.Consume = append(_v.Consume, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["temperature"].(float64); !_ok_ { err = errors.New("temperature error"); return }; _v.Temperature = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["quality"].(map[string]interface{}); !_ok_ { err = errors.New("quality error"); return }; if _v.Quality, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameNewSmithyData(_buf map[string]interface{}) (*GameNewSmithyData, error) {
|
||||
v := &GameNewSmithyData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
42
sys/configure/structs/Game.SmithyCustomer.go
Normal file
42
sys/configure/structs/Game.SmithyCustomer.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 GameSmithyCustomer struct {
|
||||
_dataMap map[int32]*GameSmithyCustomerData
|
||||
_dataList []*GameSmithyCustomerData
|
||||
}
|
||||
|
||||
func NewGameSmithyCustomer(_buf []map[string]interface{}) (*GameSmithyCustomer, error) {
|
||||
_dataList := make([]*GameSmithyCustomerData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameSmithyCustomerData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameSmithyCustomerData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.CustomerId] = _v
|
||||
}
|
||||
}
|
||||
return &GameSmithyCustomer{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameSmithyCustomer) GetDataMap() map[int32]*GameSmithyCustomerData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameSmithyCustomer) GetDataList() []*GameSmithyCustomerData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameSmithyCustomer) Get(key int32) *GameSmithyCustomerData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
71
sys/configure/structs/Game.SmithyCustomerData.go
Normal file
71
sys/configure/structs/Game.SmithyCustomerData.go
Normal file
@ -0,0 +1,71 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GameSmithyCustomerData struct {
|
||||
CustomerId int32
|
||||
CustomerType int32
|
||||
CustomerSpeak string
|
||||
Goods []*Gameatn
|
||||
Reword []*Gameatn
|
||||
Weight int32
|
||||
}
|
||||
|
||||
const TypeId_GameSmithyCustomerData = 1314583578
|
||||
|
||||
func (*GameSmithyCustomerData) GetTypeId() int32 {
|
||||
return 1314583578
|
||||
}
|
||||
|
||||
func (_v *GameSmithyCustomerData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["customer_id"].(float64); !_ok_ { err = errors.New("customer_id error"); return }; _v.CustomerId = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["customer_type"].(float64); !_ok_ { err = errors.New("customer_type error"); return }; _v.CustomerType = int32(_tempNum_) }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["customer_speak"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.CustomerSpeak error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.CustomerSpeak, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["goods"].([]interface{}); !_ok_ { err = errors.New("goods error"); return }
|
||||
|
||||
_v.Goods = 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.Goods = append(_v.Goods, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["reword"].([]interface{}); !_ok_ { err = errors.New("reword error"); return }
|
||||
|
||||
_v.Reword = 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.Reword = append(_v.Reword, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weight"].(float64); !_ok_ { err = errors.New("weight error"); return }; _v.Weight = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameSmithyCustomerData(_buf map[string]interface{}) (*GameSmithyCustomerData, error) {
|
||||
v := &GameSmithyCustomerData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
42
sys/configure/structs/Game.SmithyProficiency.go
Normal file
42
sys/configure/structs/Game.SmithyProficiency.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 GameSmithyProficiency struct {
|
||||
_dataMap map[int32]*GameSmithyProficiencyData
|
||||
_dataList []*GameSmithyProficiencyData
|
||||
}
|
||||
|
||||
func NewGameSmithyProficiency(_buf []map[string]interface{}) (*GameSmithyProficiency, error) {
|
||||
_dataList := make([]*GameSmithyProficiencyData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameSmithyProficiencyData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameSmithyProficiencyData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameSmithyProficiency{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameSmithyProficiency) GetDataMap() map[int32]*GameSmithyProficiencyData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameSmithyProficiency) GetDataList() []*GameSmithyProficiencyData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameSmithyProficiency) Get(key int32) *GameSmithyProficiencyData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
51
sys/configure/structs/Game.SmithyProficiencyData.go
Normal file
51
sys/configure/structs/Game.SmithyProficiencyData.go
Normal file
@ -0,0 +1,51 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type GameSmithyProficiencyData struct {
|
||||
Id int32
|
||||
Proficiency int32
|
||||
ReelId int32
|
||||
ProficiencyLv int32
|
||||
TitleText string
|
||||
ContentText string
|
||||
Type int32
|
||||
Value1 int32
|
||||
Value2 int32
|
||||
}
|
||||
|
||||
const TypeId_GameSmithyProficiencyData = -1024047859
|
||||
|
||||
func (*GameSmithyProficiencyData) GetTypeId() int32 {
|
||||
return -1024047859
|
||||
}
|
||||
|
||||
func (_v *GameSmithyProficiencyData)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["proficiency"].(float64); !_ok_ { err = errors.New("proficiency error"); return }; _v.Proficiency = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["reelId"].(float64); !_ok_ { err = errors.New("reelId error"); return }; _v.ReelId = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["proficiency_lv"].(float64); !_ok_ { err = errors.New("proficiency_lv error"); return }; _v.ProficiencyLv = int32(_tempNum_) }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["title_text"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TitleText error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TitleText, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["content_text"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.ContentText error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.ContentText, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value1"].(float64); !_ok_ { err = errors.New("value1 error"); return }; _v.Value1 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value2"].(float64); !_ok_ { err = errors.New("value2 error"); return }; _v.Value2 = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameSmithyProficiencyData(_buf map[string]interface{}) (*GameSmithyProficiencyData, error) {
|
||||
v := &GameSmithyProficiencyData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
42
sys/configure/structs/Game.SmithyStoveV1.go
Normal file
42
sys/configure/structs/Game.SmithyStoveV1.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 GameSmithyStoveV1 struct {
|
||||
_dataMap map[int32]*GameSmithyStoveV1Data
|
||||
_dataList []*GameSmithyStoveV1Data
|
||||
}
|
||||
|
||||
func NewGameSmithyStoveV1(_buf []map[string]interface{}) (*GameSmithyStoveV1, error) {
|
||||
_dataList := make([]*GameSmithyStoveV1Data, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameSmithyStoveV1Data)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameSmithyStoveV1Data(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Star] = _v
|
||||
}
|
||||
}
|
||||
return &GameSmithyStoveV1{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameSmithyStoveV1) GetDataMap() map[int32]*GameSmithyStoveV1Data {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameSmithyStoveV1) GetDataList() []*GameSmithyStoveV1Data {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameSmithyStoveV1) Get(key int32) *GameSmithyStoveV1Data {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
56
sys/configure/structs/Game.SmithyStoveV1Data.go
Normal file
56
sys/configure/structs/Game.SmithyStoveV1Data.go
Normal file
@ -0,0 +1,56 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GameSmithyStoveV1Data struct {
|
||||
Star int32
|
||||
MaxTemperature int32
|
||||
TemperatureRecovery int32
|
||||
UpMaterial []*Gameatn
|
||||
TitleText string
|
||||
}
|
||||
|
||||
const TypeId_GameSmithyStoveV1Data = -1332837680
|
||||
|
||||
func (*GameSmithyStoveV1Data) GetTypeId() int32 {
|
||||
return -1332837680
|
||||
}
|
||||
|
||||
func (_v *GameSmithyStoveV1Data)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["max_temperature"].(float64); !_ok_ { err = errors.New("max_temperature error"); return }; _v.MaxTemperature = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["temperature_recovery"].(float64); !_ok_ { err = errors.New("temperature_recovery error"); return }; _v.TemperatureRecovery = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["up_material"].([]interface{}); !_ok_ { err = errors.New("up_material error"); return }
|
||||
|
||||
_v.UpMaterial = 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.UpMaterial = append(_v.UpMaterial, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["title_text"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TitleText error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TitleText, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameSmithyStoveV1Data(_buf map[string]interface{}) (*GameSmithyStoveV1Data, error) {
|
||||
v := &GameSmithyStoveV1Data{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
42
sys/configure/structs/Game.SmithyTool.go
Normal file
42
sys/configure/structs/Game.SmithyTool.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 GameSmithyTool struct {
|
||||
_dataMap map[int32]*GameSmithyToolData
|
||||
_dataList []*GameSmithyToolData
|
||||
}
|
||||
|
||||
func NewGameSmithyTool(_buf []map[string]interface{}) (*GameSmithyTool, error) {
|
||||
_dataList := make([]*GameSmithyToolData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameSmithyToolData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameSmithyToolData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameSmithyTool{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameSmithyTool) GetDataMap() map[int32]*GameSmithyToolData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameSmithyTool) GetDataList() []*GameSmithyToolData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameSmithyTool) Get(key int32) *GameSmithyToolData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
62
sys/configure/structs/Game.SmithyToolData.go
Normal file
62
sys/configure/structs/Game.SmithyToolData.go
Normal file
@ -0,0 +1,62 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GameSmithyToolData struct {
|
||||
Id int32
|
||||
SkillType int32
|
||||
SkillLv int32
|
||||
Preconditions int32
|
||||
UpMaterial []*Gameatn
|
||||
NameText string
|
||||
ContentText string
|
||||
Value int32
|
||||
}
|
||||
|
||||
const TypeId_GameSmithyToolData = -2056914476
|
||||
|
||||
func (*GameSmithyToolData) GetTypeId() int32 {
|
||||
return -2056914476
|
||||
}
|
||||
|
||||
func (_v *GameSmithyToolData)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["skill_type"].(float64); !_ok_ { err = errors.New("skill_type error"); return }; _v.SkillType = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill_lv"].(float64); !_ok_ { err = errors.New("skill_lv error"); return }; _v.SkillLv = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["preconditions"].(float64); !_ok_ { err = errors.New("preconditions error"); return }; _v.Preconditions = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["up_material"].([]interface{}); !_ok_ { err = errors.New("up_material error"); return }
|
||||
|
||||
_v.UpMaterial = 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.UpMaterial = append(_v.UpMaterial, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name_text"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.NameText error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.NameText, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["content_text"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.ContentText error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.ContentText, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameSmithyToolData(_buf map[string]interface{}) (*GameSmithyToolData, error) {
|
||||
v := &GameSmithyToolData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
@ -31,14 +31,14 @@ func (*GameTrollGoodsData) GetTypeId() int32 {
|
||||
|
||||
func (_v *GameTrollGoodsData)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; if _v.Goodsname, _ok_ = _buf["goodsname"].(string); !_ok_ { err = errors.New("goodsname error"); return } }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["goodsname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Goodsname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Goodsname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["goodsfor"].(float64); !_ok_ { err = errors.New("goodsfor error"); return }; _v.Goodsfor = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Goodsinfor, _ok_ = _buf["goodsinfor"].(string); !_ok_ { err = errors.New("goodsinfor error"); return } }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["goodsinfor"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Goodsinfor error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Goodsinfor, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{ var _ok_ bool; if _v.Goodsicon, _ok_ = _buf["goodsicon"].(string); !_ok_ { err = errors.New("goodsicon error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["goodsprice"].(float64); !_ok_ { err = errors.New("goodsprice error"); return }; _v.Goodsprice = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star_money"].(float64); !_ok_ { err = errors.New("star_money error"); return }; _v.StarMoney = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Uptext, _ok_ = _buf["uptext"].(string); !_ok_ { err = errors.New("uptext error"); return } }
|
||||
{ var _ok_ bool; if _v.Suptext, _ok_ = _buf["suptext"].(string); !_ok_ { err = errors.New("suptext error"); return } }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["uptext"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Uptext error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Uptext, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["suptext"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Suptext error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Suptext, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["max"].(float64); !_ok_ { err = errors.New("max error"); return }; _v.Max = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
@ -18,6 +18,9 @@ type GameWorldTaskData struct {
|
||||
Group int32
|
||||
Des int32
|
||||
Icon string
|
||||
TaskTname string
|
||||
TaskName string
|
||||
TaskDisplay string
|
||||
Npc []string
|
||||
GetafterEvent []int32
|
||||
Completetask int32
|
||||
@ -40,6 +43,9 @@ func (_v *GameWorldTaskData)Deserialize(_buf map[string]interface{}) (err error)
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["des"].(float64); !_ok_ { err = errors.New("des error"); return }; _v.Des = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["task_Tname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskTname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskTname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["task_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["task_display"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskDisplay error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskDisplay, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
|
42
sys/configure/structs/Game.pandsmasexp.go
Normal file
42
sys/configure/structs/Game.pandsmasexp.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 Gamepandsmasexp struct {
|
||||
_dataMap map[int32]*GamepandsmasexpData
|
||||
_dataList []*GamepandsmasexpData
|
||||
}
|
||||
|
||||
func NewGamepandsmasexp(_buf []map[string]interface{}) (*Gamepandsmasexp, error) {
|
||||
_dataList := make([]*GamepandsmasexpData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GamepandsmasexpData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGamepandsmasexpData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &Gamepandsmasexp{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *Gamepandsmasexp) GetDataMap() map[int32]*GamepandsmasexpData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *Gamepandsmasexp) GetDataList() []*GamepandsmasexpData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *Gamepandsmasexp) Get(key int32) *GamepandsmasexpData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
143
sys/configure/structs/Game.pandsmasexpData.go
Normal file
143
sys/configure/structs/Game.pandsmasexpData.go
Normal file
@ -0,0 +1,143 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 GamepandsmasexpData struct {
|
||||
Id int32
|
||||
Bossid int32
|
||||
Name string
|
||||
ReadyID int32
|
||||
Difficulty int32
|
||||
BattleReadyID int32
|
||||
Captionrecommend []int32
|
||||
Firstprize []*Gameatn
|
||||
Dropshow []*Gameatn
|
||||
Drop int32
|
||||
Scene string
|
||||
Bossmodel int32
|
||||
BossSkill int32
|
||||
Boss []int32
|
||||
PsConsume []*Gameatn
|
||||
PsMg []*Gameatn
|
||||
}
|
||||
|
||||
const TypeId_GamepandsmasexpData = 192857656
|
||||
|
||||
func (*GamepandsmasexpData) GetTypeId() int32 {
|
||||
return 192857656
|
||||
}
|
||||
|
||||
func (_v *GamepandsmasexpData)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["bossid"].(float64); !_ok_ { err = errors.New("bossid error"); return }; _v.Bossid = 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["ReadyID"].(float64); !_ok_ { err = errors.New("ReadyID error"); return }; _v.ReadyID = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["difficulty"].(float64); !_ok_ { err = errors.New("difficulty error"); return }; _v.Difficulty = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = 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; if _v.Scene, _ok_ = _buf["scene"].(string); !_ok_ { err = errors.New("scene error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bossmodel"].(float64); !_ok_ { err = errors.New("bossmodel error"); return }; _v.Bossmodel = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["boss_skill"].(float64); !_ok_ { err = errors.New("boss_skill error"); return }; _v.BossSkill = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["boss"].([]interface{}); !_ok_ { err = errors.New("boss error"); return }
|
||||
|
||||
_v.Boss = 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.Boss = append(_v.Boss, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["ps_consume"].([]interface{}); !_ok_ { err = errors.New("ps_consume error"); return }
|
||||
|
||||
_v.PsConsume = 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.PsConsume = append(_v.PsConsume, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["ps_mg"].([]interface{}); !_ok_ { err = errors.New("ps_mg error"); return }
|
||||
|
||||
_v.PsMg = 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.PsMg = append(_v.PsMg, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGamepandsmasexpData(_buf map[string]interface{}) (*GamepandsmasexpData, error) {
|
||||
v := &GamepandsmasexpData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
@ -159,6 +159,12 @@ type Tables struct {
|
||||
MainStartype *GameMainStartype
|
||||
Battletasktesting *GameBattletasktesting
|
||||
BattleReady *GameBattleReady
|
||||
NewSmithy *GameNewSmithy
|
||||
SmithyProficiency *GameSmithyProficiency
|
||||
SmithyStoveV1 *GameSmithyStoveV1
|
||||
SmithyTool *GameSmithyTool
|
||||
pandsmasexp *Gamepandsmasexp
|
||||
SmithyCustomer *GameSmithyCustomer
|
||||
}
|
||||
|
||||
func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
@ -1054,5 +1060,41 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
if tables.BattleReady, err = NewGameBattleReady(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_newsmithy") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.NewSmithy, err = NewGameNewSmithy(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_smithyproficiency") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.SmithyProficiency, err = NewGameSmithyProficiency(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_smithystovev1") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.SmithyStoveV1, err = NewGameSmithyStoveV1(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_smithytool") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.SmithyTool, err = NewGameSmithyTool(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_pandsmasexp") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.pandsmasexp, err = NewGamepandsmasexp(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_smithycustomer") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.SmithyCustomer, err = NewGameSmithyCustomer(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return tables, nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user