From 52cebd0430ef48fa325aa97701ee5ca384fe29d1 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Fri, 19 Aug 2022 18:19:43 +0800 Subject: [PATCH] =?UTF-8?q?=E9=93=81=E5=8C=A0=E9=93=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_smithy.json | 1799 +++++++++++++++++ bin/json/game_smithystove.json | 719 +++++++ comm/const.go | 3 + modules/gourmet/api.go | 2 +- modules/gourmet/api_getReward.go | 2 +- modules/smithy/api.go | 34 + modules/smithy/api_createorder.go | 120 ++ modules/smithy/api_foodskilllv.go | 62 + modules/smithy/api_getReward.go | 42 + modules/smithy/api_getlist.go | 32 + modules/smithy/comp_configure.go | 121 ++ modules/smithy/model_gourmet.go | 198 ++ modules/smithy/module.go | 50 + pb/gourmet_db.pb.go | 6 +- pb/hero_db.pb.go | 2 +- pb/smithy_db.pb.go | 386 ++++ pb/smithy_msg.pb.go | 578 ++++++ sys/configure/structs/Game.Smithy.go | 42 + sys/configure/structs/Game.SmithyData.go | 98 + sys/configure/structs/Game.SmithyStove.go | 42 + sys/configure/structs/Game.SmithyStoveData.go | 64 + 21 files changed, 4396 insertions(+), 6 deletions(-) create mode 100644 bin/json/game_smithy.json create mode 100644 bin/json/game_smithystove.json create mode 100644 modules/smithy/api.go create mode 100644 modules/smithy/api_createorder.go create mode 100644 modules/smithy/api_foodskilllv.go create mode 100644 modules/smithy/api_getReward.go create mode 100644 modules/smithy/api_getlist.go create mode 100644 modules/smithy/comp_configure.go create mode 100644 modules/smithy/model_gourmet.go create mode 100644 modules/smithy/module.go create mode 100644 pb/smithy_db.pb.go create mode 100644 pb/smithy_msg.pb.go create mode 100644 sys/configure/structs/Game.Smithy.go create mode 100644 sys/configure/structs/Game.SmithyData.go create mode 100644 sys/configure/structs/Game.SmithyStove.go create mode 100644 sys/configure/structs/Game.SmithyStoveData.go diff --git a/bin/json/game_smithy.json b/bin/json/game_smithy.json new file mode 100644 index 000000000..0a070eda6 --- /dev/null +++ b/bin/json/game_smithy.json @@ -0,0 +1,1799 @@ +[ + { + "id": 1001, + "type": 1, + "star": 1, + "starshow": { + "key": "smithy_name_1001", + "text": "木质" + }, + "before": -1, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 5 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1001, + "orderneed": [ + { + "a": "item", + "t": "50001", + "n": 5 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 1002, + "type": 1, + "star": 2, + "starshow": { + "key": "smithy_name_1002", + "text": "石质" + }, + "before": 1, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 10 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1002, + "orderneed": [ + { + "a": "item", + "t": "50001", + "n": 10 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 1003, + "type": 1, + "star": 3, + "starshow": { + "key": "smithy_name_1003", + "text": "铁质" + }, + "before": 2, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 15 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1003, + "orderneed": [ + { + "a": "item", + "t": "50001", + "n": 15 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 1004, + "type": 1, + "star": 4, + "starshow": { + "key": "smithy_name_1004", + "text": "钢质" + }, + "before": 3, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 20 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.8", + "floors": 2, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1004, + "orderneed": [ + { + "a": "item", + "t": "50001", + "n": 20 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 1005, + "type": 1, + "star": 5, + "starshow": { + "key": "smithy_name_1005", + "text": "铂金质" + }, + "before": 4, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 25 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.7", + "floors": 3, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1005, + "orderneed": [ + { + "a": "item", + "t": "50001", + "n": 25 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 1006, + "type": 1, + "star": 6, + "starshow": { + "key": "smithy_name_1006", + "text": "钻石质" + }, + "before": 5, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 30 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.6", + "floors": 4, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1006, + "orderneed": [ + { + "a": "item", + "t": "50001", + "n": 30 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 1007, + "type": 1, + "star": 7, + "starshow": { + "key": "smithy_name_1007", + "text": "星耀石质" + }, + "before": 6, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 35 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.5", + "floors": 5, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1007, + "orderneed": [ + { + "a": "item", + "t": "50001", + "n": 35 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 1008, + "type": 1, + "star": 8, + "starshow": { + "key": "smithy_name_1008", + "text": "星陨石质" + }, + "before": 7, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 40 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.4", + "floors": 5, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1008, + "orderneed": [ + { + "a": "item", + "t": "50001", + "n": 40 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 1009, + "type": 1, + "star": 9, + "starshow": { + "key": "smithy_name_1009", + "text": "星核质" + }, + "before": 8, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 45 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.3", + "floors": 5, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1009, + "orderneed": [ + { + "a": "item", + "t": "50001", + "n": 45 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 1010, + "type": 1, + "star": 10, + "starshow": { + "key": "smithy_name_1010", + "text": "宇宙粒子质" + }, + "before": 9, + "starupneed": [], + "sucess": "-1", + "floors": -1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1010, + "orderneed": [ + { + "a": "item", + "t": "50001", + "n": 50 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 2001, + "type": 2, + "star": 1, + "starshow": { + "key": "smithy_name_1001", + "text": "木质" + }, + "before": -1, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 5 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1011, + "orderneed": [ + { + "a": "item", + "t": "50002", + "n": 5 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 2002, + "type": 2, + "star": 2, + "starshow": { + "key": "smithy_name_1002", + "text": "石质" + }, + "before": 1, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 10 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1012, + "orderneed": [ + { + "a": "item", + "t": "50002", + "n": 10 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 2003, + "type": 2, + "star": 3, + "starshow": { + "key": "smithy_name_1003", + "text": "铁质" + }, + "before": 2, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 15 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1013, + "orderneed": [ + { + "a": "item", + "t": "50002", + "n": 15 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 2004, + "type": 2, + "star": 4, + "starshow": { + "key": "smithy_name_1004", + "text": "钢质" + }, + "before": 3, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 20 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.8", + "floors": 2, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1014, + "orderneed": [ + { + "a": "item", + "t": "50002", + "n": 20 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 2005, + "type": 2, + "star": 5, + "starshow": { + "key": "smithy_name_1005", + "text": "铂金质" + }, + "before": 4, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 25 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.7", + "floors": 3, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1015, + "orderneed": [ + { + "a": "item", + "t": "50002", + "n": 25 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 2006, + "type": 2, + "star": 6, + "starshow": { + "key": "smithy_name_1006", + "text": "钻石质" + }, + "before": 5, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 30 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.6", + "floors": 4, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1016, + "orderneed": [ + { + "a": "item", + "t": "50002", + "n": 30 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 2007, + "type": 2, + "star": 7, + "starshow": { + "key": "smithy_name_1007", + "text": "星耀石质" + }, + "before": 6, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 35 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.5", + "floors": 5, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1017, + "orderneed": [ + { + "a": "item", + "t": "50002", + "n": 35 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 2008, + "type": 2, + "star": 8, + "starshow": { + "key": "smithy_name_1008", + "text": "星陨石质" + }, + "before": 7, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 40 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.4", + "floors": 5, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1018, + "orderneed": [ + { + "a": "item", + "t": "50002", + "n": 40 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 2009, + "type": 2, + "star": 9, + "starshow": { + "key": "smithy_name_1009", + "text": "星核质" + }, + "before": 8, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 45 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.3", + "floors": 5, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1019, + "orderneed": [ + { + "a": "item", + "t": "50002", + "n": 45 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 2010, + "type": 2, + "star": 10, + "starshow": { + "key": "smithy_name_1010", + "text": "宇宙粒子质" + }, + "before": 9, + "starupneed": [], + "sucess": "-1", + "floors": -1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1020, + "orderneed": [ + { + "a": "item", + "t": "50002", + "n": 50 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 3001, + "type": 3, + "star": 1, + "starshow": { + "key": "smithy_name_1001", + "text": "木质" + }, + "before": -1, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 5 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1021, + "orderneed": [ + { + "a": "item", + "t": "50003", + "n": 5 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 3002, + "type": 3, + "star": 2, + "starshow": { + "key": "smithy_name_1002", + "text": "石质" + }, + "before": 1, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 10 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1022, + "orderneed": [ + { + "a": "item", + "t": "50003", + "n": 10 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 3003, + "type": 3, + "star": 3, + "starshow": { + "key": "smithy_name_1003", + "text": "铁质" + }, + "before": 2, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 15 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1023, + "orderneed": [ + { + "a": "item", + "t": "50003", + "n": 15 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 3004, + "type": 3, + "star": 4, + "starshow": { + "key": "smithy_name_1004", + "text": "钢质" + }, + "before": 3, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 20 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.8", + "floors": 2, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1024, + "orderneed": [ + { + "a": "item", + "t": "50003", + "n": 20 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 3005, + "type": 3, + "star": 5, + "starshow": { + "key": "smithy_name_1005", + "text": "铂金质" + }, + "before": 4, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 25 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.7", + "floors": 3, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1025, + "orderneed": [ + { + "a": "item", + "t": "50003", + "n": 25 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 3006, + "type": 3, + "star": 6, + "starshow": { + "key": "smithy_name_1006", + "text": "钻石质" + }, + "before": 5, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 30 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.6", + "floors": 4, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1026, + "orderneed": [ + { + "a": "item", + "t": "50003", + "n": 30 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 3007, + "type": 3, + "star": 7, + "starshow": { + "key": "smithy_name_1007", + "text": "星耀石质" + }, + "before": 6, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 35 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.5", + "floors": 5, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1027, + "orderneed": [ + { + "a": "item", + "t": "50003", + "n": 35 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 3008, + "type": 3, + "star": 8, + "starshow": { + "key": "smithy_name_1008", + "text": "星陨石质" + }, + "before": 7, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 40 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.4", + "floors": 5, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1028, + "orderneed": [ + { + "a": "item", + "t": "50003", + "n": 40 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 3009, + "type": 3, + "star": 9, + "starshow": { + "key": "smithy_name_1009", + "text": "星核质" + }, + "before": 8, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 45 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.3", + "floors": 5, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1029, + "orderneed": [ + { + "a": "item", + "t": "50003", + "n": 45 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + }, + { + "id": 3010, + "type": 3, + "star": 10, + "starshow": { + "key": "smithy_name_1010", + "text": "宇宙粒子质" + }, + "before": 9, + "starupneed": [], + "sucess": "-1", + "floors": -1, + "dropshow": [ + { + "a": "item", + "t": "10001", + "n": 1 + }, + { + "a": "item", + "t": "10002", + "n": 1 + }, + { + "a": "item", + "t": "10003", + "n": 1 + }, + { + "a": "item", + "t": "10004", + "n": 1 + } + ], + "drop": 1030, + "orderneed": [ + { + "a": "item", + "t": "50003", + "n": 50 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "desk": "", + "shelves": "" + } +] \ No newline at end of file diff --git a/bin/json/game_smithystove.json b/bin/json/game_smithystove.json new file mode 100644 index 000000000..adbf9a946 --- /dev/null +++ b/bin/json/game_smithystove.json @@ -0,0 +1,719 @@ +[ + { + "id": 1001, + "star": 1, + "starshow": { + "key": "smithy_name_1001", + "text": "木质" + }, + "before": -1, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 5 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "time": 300, + "desk": "" + }, + { + "id": 1002, + "star": 2, + "starshow": { + "key": "smithy_name_1002", + "text": "石质" + }, + "before": 1, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 10 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "time": 300, + "desk": "" + }, + { + "id": 1003, + "star": 3, + "starshow": { + "key": "smithy_name_1003", + "text": "铁质" + }, + "before": 2, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 15 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "time": 300, + "desk": "" + }, + { + "id": 1004, + "star": 4, + "starshow": { + "key": "smithy_name_1004", + "text": "钢质" + }, + "before": 3, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 20 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.8", + "floors": 2, + "time": 300, + "desk": "" + }, + { + "id": 1005, + "star": 5, + "starshow": { + "key": "smithy_name_1005", + "text": "铂金质" + }, + "before": 4, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 25 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.7", + "floors": 3, + "time": 300, + "desk": "" + }, + { + "id": 1006, + "star": 6, + "starshow": { + "key": "smithy_name_1006", + "text": "钻石质" + }, + "before": 5, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 30 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.6", + "floors": 4, + "time": 300, + "desk": "" + }, + { + "id": 1007, + "star": 7, + "starshow": { + "key": "smithy_name_1007", + "text": "星耀石质" + }, + "before": 6, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 35 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.5", + "floors": 5, + "time": 300, + "desk": "" + }, + { + "id": 1008, + "star": 8, + "starshow": { + "key": "smithy_name_1008", + "text": "星陨石质" + }, + "before": 7, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 40 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.4", + "floors": 5, + "time": 300, + "desk": "" + }, + { + "id": 1009, + "star": 9, + "starshow": { + "key": "smithy_name_1009", + "text": "星核质" + }, + "before": 8, + "starupneed": [ + { + "a": "item", + "t": "50001", + "n": 45 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.3", + "floors": 5, + "time": 300, + "desk": "" + }, + { + "id": 1010, + "star": 10, + "starshow": { + "key": "smithy_name_1010", + "text": "宇宙粒子质" + }, + "before": 9, + "starupneed": [], + "sucess": "-1", + "floors": -1, + "time": 300, + "desk": "" + }, + { + "id": 1011, + "star": 11, + "starshow": { + "key": "smithy_name_1001", + "text": "木质" + }, + "before": 10, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 5 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "time": 500, + "desk": "" + }, + { + "id": 1012, + "star": 12, + "starshow": { + "key": "smithy_name_1002", + "text": "石质" + }, + "before": 11, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 10 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "time": 500, + "desk": "" + }, + { + "id": 1013, + "star": 13, + "starshow": { + "key": "smithy_name_1003", + "text": "铁质" + }, + "before": 12, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 15 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "time": 500, + "desk": "" + }, + { + "id": 1014, + "star": 14, + "starshow": { + "key": "smithy_name_1004", + "text": "钢质" + }, + "before": 13, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 20 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.8", + "floors": 2, + "time": 500, + "desk": "" + }, + { + "id": 1015, + "star": 15, + "starshow": { + "key": "smithy_name_1005", + "text": "铂金质" + }, + "before": 14, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 25 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.7", + "floors": 3, + "time": 500, + "desk": "" + }, + { + "id": 1016, + "star": 16, + "starshow": { + "key": "smithy_name_1006", + "text": "钻石质" + }, + "before": 15, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 30 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.6", + "floors": 4, + "time": 500, + "desk": "" + }, + { + "id": 1017, + "star": 17, + "starshow": { + "key": "smithy_name_1007", + "text": "星耀石质" + }, + "before": 16, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 35 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.5", + "floors": 5, + "time": 500, + "desk": "" + }, + { + "id": 1018, + "star": 18, + "starshow": { + "key": "smithy_name_1008", + "text": "星陨石质" + }, + "before": 17, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 40 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.4", + "floors": 5, + "time": 500, + "desk": "" + }, + { + "id": 1019, + "star": 19, + "starshow": { + "key": "smithy_name_1009", + "text": "星核质" + }, + "before": 18, + "starupneed": [ + { + "a": "item", + "t": "50002", + "n": 45 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.3", + "floors": 5, + "time": 500, + "desk": "" + }, + { + "id": 1020, + "star": 20, + "starshow": { + "key": "smithy_name_1010", + "text": "宇宙粒子质" + }, + "before": 19, + "starupneed": [], + "sucess": "-1", + "floors": -1, + "time": 500, + "desk": "" + }, + { + "id": 1021, + "star": 21, + "starshow": { + "key": "smithy_name_1001", + "text": "木质" + }, + "before": 20, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 5 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "time": 1000, + "desk": "" + }, + { + "id": 1022, + "star": 22, + "starshow": { + "key": "smithy_name_1002", + "text": "石质" + }, + "before": 21, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 10 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "time": 1000, + "desk": "" + }, + { + "id": 1023, + "star": 23, + "starshow": { + "key": "smithy_name_1003", + "text": "铁质" + }, + "before": 22, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 15 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "1", + "floors": 1, + "time": 1000, + "desk": "" + }, + { + "id": 1024, + "star": 24, + "starshow": { + "key": "smithy_name_1004", + "text": "钢质" + }, + "before": 23, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 20 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.8", + "floors": 2, + "time": 1000, + "desk": "" + }, + { + "id": 1025, + "star": 25, + "starshow": { + "key": "smithy_name_1005", + "text": "铂金质" + }, + "before": 24, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 25 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.7", + "floors": 3, + "time": 1000, + "desk": "" + }, + { + "id": 1026, + "star": 26, + "starshow": { + "key": "smithy_name_1006", + "text": "钻石质" + }, + "before": 25, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 30 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.6", + "floors": 4, + "time": 1000, + "desk": "" + }, + { + "id": 1027, + "star": 27, + "starshow": { + "key": "smithy_name_1007", + "text": "星耀石质" + }, + "before": 26, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 35 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.5", + "floors": 5, + "time": 1000, + "desk": "" + }, + { + "id": 1028, + "star": 28, + "starshow": { + "key": "smithy_name_1008", + "text": "星陨石质" + }, + "before": 27, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 40 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.4", + "floors": 5, + "time": 1000, + "desk": "" + }, + { + "id": 1029, + "star": 29, + "starshow": { + "key": "smithy_name_1009", + "text": "星核质" + }, + "before": 28, + "starupneed": [ + { + "a": "item", + "t": "50003", + "n": 45 + }, + { + "a": "item", + "t": "10013", + "n": 1 + } + ], + "sucess": "0.3", + "floors": 5, + "time": 1000, + "desk": "" + }, + { + "id": 1030, + "star": 30, + "starshow": { + "key": "smithy_name_1010", + "text": "宇宙粒子质" + }, + "before": 29, + "starupneed": [], + "sucess": "-1", + "floors": -1, + "time": 1000, + "desk": "" + } +] \ No newline at end of file diff --git a/comm/const.go b/comm/const.go index 1f793be15..fc0050749 100644 --- a/comm/const.go +++ b/comm/const.go @@ -53,6 +53,7 @@ const ( ModuleMartialhall core.M_Modules = "martialhall" //武馆模块 ModuleGourmet core.M_Modules = "gourmet" //美食馆 ModuleRtask core.M_Modules = "rtask" //随机任务 + ModuleSmithy core.M_Modules = "smithy" //铁匠铺 ) //数据表名定义处 @@ -105,6 +106,8 @@ const ( TableRtask = "rtask" ///爬塔排行 TablePagodaRank = "pagodarank" + /// 美食馆 + TableSmithy = "smithy" ) //RPC服务接口定义处 diff --git a/modules/gourmet/api.go b/modules/gourmet/api.go index 74c06d9c3..911595587 100644 --- a/modules/gourmet/api.go +++ b/modules/gourmet/api.go @@ -9,7 +9,7 @@ const ( GourmetGetListResp = "getlist" GourmetCreateOrderResp = "createorder" GourmetSkillLvResp = "skilllv" - PagodaGetRewardResp = "getreward" + GourmetGetRewardResp = "getreward" ) type apiComp struct { diff --git a/modules/gourmet/api_getReward.go b/modules/gourmet/api_getReward.go index 111756b30..86d1e2b6a 100644 --- a/modules/gourmet/api_getReward.go +++ b/modules/gourmet/api_getReward.go @@ -37,6 +37,6 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.GourmetGetRewa mapData["items"] = nil code = this.module.ModifyGourmetData(session.GetUserId(), mapData) } - session.SendMsg(string(this.module.GetType()), PagodaGetRewardResp, &pb.GourmetGetRewardResp{Data: _gourmet}) + session.SendMsg(string(this.module.GetType()), GourmetGetRewardResp, &pb.GourmetGetRewardResp{Data: _gourmet}) return } diff --git a/modules/smithy/api.go b/modules/smithy/api.go new file mode 100644 index 000000000..b0c22ed61 --- /dev/null +++ b/modules/smithy/api.go @@ -0,0 +1,34 @@ +package smithy + +import ( + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" +) + +const ( + SmithyGetListResp = "getlist" + SmithyCreateOrderResp = "createorder" + SmithySkillLvResp = "skilllv" + SmithyGetRewardResp = "getreward" +) + +type apiComp struct { + modules.MCompGate + service core.IService + configure *configureComp + module *Smithy +} + +//组件初始化接口 +func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + err = this.MCompGate.Init(service, module, comp, options) + this.module = module.(*Smithy) + this.service = service + return +} + +func (this *apiComp) Start() (err error) { + err = this.MCompGate.Start() + + return +} diff --git a/modules/smithy/api_createorder.go b/modules/smithy/api_createorder.go new file mode 100644 index 000000000..3df1f5eb1 --- /dev/null +++ b/modules/smithy/api_createorder.go @@ -0,0 +1,120 @@ +package smithy + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" + "go_dreamfactory/utils" + "time" + + "google.golang.org/protobuf/proto" +) + +//参数校验 +func (this *apiComp) CreateOrderCheck(session comm.IUserSession, req *pb.SmithyCreateOrderReq) (code pb.ErrorCode) { + if len(req.Order) == 0 { + code = pb.ErrorCode_ReqParameterError + return + } + return +} + +///美食城创建订单 +func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.SmithyCreateOrderReq) (code pb.ErrorCode, data proto.Message) { + var ( + res []*cfg.Gameatn + costTime int32 + ) + + code = this.CreateOrderCheck(session, req) + if code != pb.ErrorCode_Success { + return // 参数校验失败直接返回 + } + _smithy, err := this.module.modelSmithy.getSmithyList(session.GetUserId()) + if err != nil { + code = pb.ErrorCode_DBError + return + } + _skillCfg := this.module.configure.GetSmithyStoveConfigData(_smithy.StoveLv) + needTime := _skillCfg.Time // 订单需要的时间 + for _, order := range req.Order { + if order.Count == 0 { + continue + } + costTime += needTime * order.Count + } + if _smithy.Orders == nil { // 队列数据为nil 直接将订单数据给ta + _smithy.Orders = req.Order + } else { + for _, v := range req.Order { + bFound := false + for _, v1 := range _smithy.Orders { + if v.DeskType == v1.DeskType { + v1.Count += v.Count // 加对应的数量 + bFound = true + break + } + } + if !bFound { + _smithy.Orders = append(_smithy.Orders, v) + } + } + } + + if _smithy.Clang == nil || (_smithy.Clang != nil && _smithy.Clang.ETime == 0) { + if _smithy.Ctime == 0 { + _smithy.Ctime = time.Now().Unix() + } + if !utils.IsToday(_smithy.Ctime) { + _smithy.Ctime = time.Now().Unix() + _smithy.OrderCostTime = 0 + } + for _, v := range _smithy.Orders { + if v.Count > 0 { + v.Count-- + // 获取生产时间 + + _smithy.Clang = &pb.Clang{ + DeskType: v.DeskType, + ETime: time.Now().Unix() + int64(needTime), + } + break + } + } + + } + // 計算耗時 + for _, v := range _smithy.Orders { + if v.Count > 0 { + v.NeedTime = needTime * v.Count + } + } + if _smithy.Clang != nil && _smithy.Clang.ETime == 0 { + _smithy.Clang = nil + } + // 获取总的下单时长 + cfgCom := this.module.configure.GetGlobalConf() + if cfgCom == nil { + return + } + if cfgCom.SmithyMaxtime < _smithy.OrderCostTime+costTime { // 大于总时长是不允许的 + code = pb.ErrorCode_GourmetMoreOrderTime + return + } + if code = this.module.ConsumeRes(session, res, true); code != pb.ErrorCode_Success { // 消耗校验 + return + } + + if code = this.module.DispenseRes(session, res, true); code != pb.ErrorCode_Success { // 真正消耗 + return + } + // 校验通过 写数据 + mapData := make(map[string]interface{}, 0) + mapData["orders"] = _smithy.Orders + mapData["orderCostTime"] = _smithy.OrderCostTime + mapData["clang"] = _smithy.Clang // 正在做的 + code = this.module.ModifySmithyData(session.GetUserId(), mapData) + + session.SendMsg(string(this.module.GetType()), SmithyCreateOrderResp, &pb.SmithyCreateOrderResp{Data: _smithy}) + return +} diff --git a/modules/smithy/api_foodskilllv.go b/modules/smithy/api_foodskilllv.go new file mode 100644 index 000000000..8eb4bb2c5 --- /dev/null +++ b/modules/smithy/api_foodskilllv.go @@ -0,0 +1,62 @@ +package smithy + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +//参数校验 +func (this *apiComp) SkillLVCheck(session comm.IUserSession, req *pb.SmithySkillLvReq) (code pb.ErrorCode) { + if req.SkillType == 0 { + code = pb.ErrorCode_ReqParameterError + } + return +} + +///美食城厨师技能升级 +func (this *apiComp) SkillLV(session comm.IUserSession, req *pb.SmithySkillLvReq) (code pb.ErrorCode, dat proto.Message) { + + code = this.SkillLVCheck(session, req) + if code != pb.ErrorCode_Success { + return // 参数校验失败直接返回 + } + _smithy, err := this.module.modelSmithy.getSmithyList(session.GetUserId()) + if err != nil { + code = pb.ErrorCode_DBError + return + } + + // skilllv, ok := _smithy.Skill[req.SkillType] + // if !ok { // 校验技能存不存在 + // skilllv, ok = _smithy.Skill[req.SkillType] + // if !ok { + // code = pb.ErrorCode_ReqParameterError + // return + // } + // bSpecial = true + // } + + // _skillCfg := this.module.configure.GetSmithyStoveConfigData(skilllv) // 获取技能配置 + + // code = this.module.ConsumeRes(session, _skillCfg.Starupneed, true) // 消耗检测 + // if code != pb.ErrorCode_Success { + // return + // } + // // 概率升级 + // n, _ := rand.Int(rand.Reader, big.NewInt(1000)) + + // if n.Int64() < int64(_skillCfg.Star) { // 可以升级 + // // 技能升级成功 + // if bSpecial { // 通用技能升级 + // _smithy.Skill[req.SkillType] += 1 + // this.module.modelSmithy.CalculationSpecialSkillLv(session.GetUserId(), _smithy, req.SkillType, _smithy.Skill[req.SkillType]) + // } else { // 某一类型技能升级 + // _smithy.Skill[req.SkillType] += 1 + // this.module.modelSmithy.CalculationSmithybySkiiLv(session.GetUserId(), _smithy, req.SkillType, _smithy.Skill[req.SkillType]) + // } + // } + session.SendMsg(string(this.module.GetType()), SmithySkillLvResp, &pb.SmithySkillLvResp{Data: _smithy}) + return +} diff --git a/modules/smithy/api_getReward.go b/modules/smithy/api_getReward.go new file mode 100644 index 000000000..f2dfc0305 --- /dev/null +++ b/modules/smithy/api_getReward.go @@ -0,0 +1,42 @@ +package smithy + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" + + "google.golang.org/protobuf/proto" +) + +//参数校验 +func (this *apiComp) GetRewardCheck(session comm.IUserSession, req *pb.SmithyGetRewardReq) (code pb.ErrorCode) { + + return +} + +///美食城领取奖励 +func (this *apiComp) GetReward(session comm.IUserSession, req *pb.SmithyGetRewardReq) (code pb.ErrorCode, data proto.Message) { + code = this.GetRewardCheck(session, req) + _gourmet, err := this.module.modelSmithy.getSmithyList(session.GetUserId()) + if err != nil { + code = pb.ErrorCode_DBError + return + } + if len(_gourmet.Items) > 0 { + res := make([]*cfg.Gameatn, 0) + for _, v := range _gourmet.Items { + res = append(res, &cfg.Gameatn{ + A: v.A, + T: v.T, + N: v.N, + }) + } + code = this.module.DispenseRes(session, res, true) + _gourmet.Items = nil + mapData := make(map[string]interface{}, 0) + mapData["items"] = nil + code = this.module.ModifySmithyData(session.GetUserId(), mapData) + } + session.SendMsg(string(this.module.GetType()), SmithyGetRewardResp, &pb.SmithyGetRewardResp{Data: _gourmet}) + return +} diff --git a/modules/smithy/api_getlist.go b/modules/smithy/api_getlist.go new file mode 100644 index 000000000..6050fa1ff --- /dev/null +++ b/modules/smithy/api_getlist.go @@ -0,0 +1,32 @@ +package smithy + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +//参数校验 +func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.SmithyGetListReq) (code pb.ErrorCode) { + + return +} + +///获取美食城基本信息 +func (this *apiComp) GetList(session comm.IUserSession, req *pb.SmithyGetListReq) (code pb.ErrorCode, data proto.Message) { + + code = this.GetListCheck(session, req) + if code != pb.ErrorCode_Success { + return // 参数校验失败直接返回 + } + _gourmet, err := this.module.modelSmithy.getSmithyList(session.GetUserId()) + if err != nil { + code = pb.ErrorCode_DBError + return + } + // 计算订单信息 + this.module.modelSmithy.CalculationSmithy(session.GetUserId(), _gourmet) + session.SendMsg(string(this.module.GetType()), SmithyGetListResp, &pb.SmithyGetListResp{Data: _gourmet}) + return +} diff --git a/modules/smithy/comp_configure.go b/modules/smithy/comp_configure.go new file mode 100644 index 000000000..82399905d --- /dev/null +++ b/modules/smithy/comp_configure.go @@ -0,0 +1,121 @@ +package smithy + +import ( + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/core/cbase" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/modules" + "go_dreamfactory/sys/configure" + cfg "go_dreamfactory/sys/configure/structs" + "sync" +) + +const ( + game_smithy = "game_smithy.json" + game_smithystove = "game_smithystove.json" + game_drop = "game_drop.json" +) + +///配置管理基础组件 +type configureComp struct { + cbase.ModuleCompBase + hlock sync.RWMutex + modules.MCompConfigure + _smithyMap map[int64]*cfg.GameSmithyData + _dropMap map[int32][]*cfg.GameDropData // 掉落表 key 是DiropId +} + +//组件初始化接口 +func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + err = this.ModuleCompBase.Init(service, module, comp, options) + + this._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 { + this.hlock.Lock() + defer this.hlock.Unlock() + for _, value := range configure.GetDataList() { + this._smithyMap[int64(value.Type<<16)+int64(value.Star)] = value + } + return + } + } + log.Errorf("get game_pagoda conf err:%v", err) + return + }) + + this._dropMap = make(map[int32][]*cfg.GameDropData, 0) + configure.RegisterConfigure(game_drop, cfg.NewGameDrop, func() { + if v, err := this.GetConfigure(game_drop); err == nil { + if configure, ok := v.(*cfg.GameDrop); ok { + this.hlock.Lock() + defer this.hlock.Unlock() + for _, value := range configure.GetDataList() { + this._dropMap[value.Dropid] = append(this._dropMap[value.Dropid], value) + } + return + } + } + log.Errorf("get game_pagoda conf err:%v", err) + return + }) + // _data := this.GetSmithyConfigData(1002, 4) // 测试配置文件读取 + // _dataskill := this.GetSmithyStoveConfigData(1001, 4) + // _data := this.GetDropData(1001) + // fmt.Printf("%v", _data) + err = this.LoadConfigure(game_smithystove, cfg.NewGameSmithyStove) + return +} + +// 获取美食馆配置数据 +func (this *configureComp) GetSmithyConfigData(smithyType int32, level int32) (data *cfg.GameSmithyData) { + + return this._smithyMap[int64(smithyType<<16)+int64(level)] +} +func (this *configureComp) GetSmithyTypeConfigData() (mapType map[int32]struct{}) { + if v, err := this.GetConfigure(game_smithy); err == nil { + if configure, ok := v.(*cfg.GameSmithy); ok { + for _, v1 := range configure.GetDataList() { + if _, ok := mapType[v1.Type]; !ok { + mapType[v1.Type] = struct{}{} + } + } + return + } + } + return +} + +// 获取炉子配置数据 +func (this *configureComp) GetSmithyStoveConfigData(level int32) (data *cfg.GameSmithyStoveData) { + if v, err := this.GetConfigure(game_smithystove); err == nil { + if configure, ok := v.(*cfg.GameSmithyStove); ok { + data = configure.Get(int32(level)) + return + } + } + return +} + +//加载多个配置文件 +func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) { + for k, v := range confs { + err = configure.RegisterConfigure(k, v, nil) + if err != nil { + log.Errorf("配置文件:%s解析失败!", k) + break + } + } + return +} + +//读取配置数据 +func (this *configureComp) GetConfigure(name string) (v interface{}, err error) { + return configure.GetConfigure(name) +} + +func (this *configureComp) GetDropData(dropId int32) (data []*cfg.GameDropData) { + data = this._dropMap[dropId] + return +} diff --git a/modules/smithy/model_gourmet.go b/modules/smithy/model_gourmet.go new file mode 100644 index 000000000..e65729216 --- /dev/null +++ b/modules/smithy/model_gourmet.go @@ -0,0 +1,198 @@ +package smithy + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/redis" + "go_dreamfactory/modules" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" + "go_dreamfactory/utils" + "time" + + "go.mongodb.org/mongo-driver/bson/primitive" +) + +type modelSmithy struct { + modules.MCompModel + module *Smithy +} + +func (this *modelSmithy) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + this.TableName = string(comm.TableSmithy) + err = this.MCompModel.Init(service, module, comp, options) + this.module = module.(*Smithy) + + return +} + +// 获取铁匠铺信息 +func (this *modelSmithy) getSmithyList(uid string) (result *pb.DBSmithy, err error) { + result = &pb.DBSmithy{} + if err = this.Get(uid, result); err != nil { + if redis.RedisNil != err { // 没有数据直接创建新的数据 + + result.Id = primitive.NewObjectID().Hex() + result.Uid = uid + result.Skill = make(map[int32]int32, 0) + result.StoveLv = 1 // storv 等级默认1级 + mapType := this.module.configure.GetSmithyTypeConfigData() // 找类型 + for key := range mapType { + result.Skill[key] = 1 + } + + 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) modifySmithyDataByObjId(uid string, data map[string]interface{}) error { + return this.Change(uid, data) +} + +// todo 调用drop 表 获取掉落信息 +func (this *modelSmithy) GetDropReward(count, dropId int32, Items []*pb.UserAssets) { + res := make([]*cfg.Gameatn, 0) + for i := 0; i < int(count); i++ { + data := this.module.configure.GetDropData(dropId) + szW := make([]int32, 0) + for _, value := range data { + szW = append(szW, value.P) + } + index := comm.GetRandW(szW) + res = append(res, data[index].Prize...) + } + for _, v := range res { + bFind := false + for _, v1 := range Items { + if v.A == v1.A && v.T == v1.T { + v1.N += v.N + bFind = true + } + } + if !bFind { + Items = append(Items, &pb.UserAssets{ + A: v.A, + T: v.T, + N: v.N, + }) + } + } + + return +} + +// 计算订单信息 +func (this *modelSmithy) CalculationSmithy(uid string, Smithy *pb.DBSmithy) { + var ( + bCooking bool + costTime int32 + curTime int32 + ) + mapData := make(map[string]interface{}, 0) + if Smithy.Clang != nil && Smithy.Clang.ETime > 0 { + costTime = int32(time.Now().Unix() - Smithy.Clang.ETime) // 当前过去的时间 + if costTime < 0 { // 没有完成 不做处理 + return + } + } + if Smithy.Clang == nil { + Smithy.Clang = &pb.Clang{} + } + for _, order := range Smithy.Orders { + if order.Count == 0 { + continue + } + foodtype := order.DeskType + // 获取技能等级 + skillLv := Smithy.Skill[foodtype] + + // 计算出需要的时间 + _skillCfg := this.module.configure.GetSmithyStoveConfigData(skillLv) // 技能配置表 + _Smithycfg := this.module.configure.GetSmithyConfigData(foodtype, skillLv) // 美食家配置表 + for i := 0; i < int(order.Count); i++ { + curTime += _skillCfg.Time + // 判断是不是第二天 + if Smithy.Clang.ETime == 0 { + Smithy.Clang.ETime = time.Now().Unix() + } + if !utils.IsToday(Smithy.Clang.ETime + int64(curTime)) { // 判断是不是今天 + // 跨天了 + Smithy.Clang.ETime = Smithy.Clang.ETime + int64(curTime) // 设置下单的时间 + Smithy.Ctime = Smithy.Clang.ETime // 设置创建订单时间 + Smithy.OrderCostTime = 0 // 清空当天的订单时长 + } + order.Count-- + this.GetDropReward(1, _Smithycfg.Drop, Smithy.Items) // 获取掉落奖励 + + if curTime > costTime { + Smithy.OrderCostTime += int32(curTime - costTime) + // 转时间戳 + eTimd := time.Now().Unix() + int64(curTime-costTime) + Smithy.Clang.DeskType = order.DeskType + Smithy.Clang.ETime = eTimd + bCooking = true + + // 记录下订单时间 + Smithy.Ctime = time.Now().Unix() + mapData["ctime"] = Smithy.Ctime + break + } + Smithy.OrderCostTime += curTime + } + if bCooking { // 分配了正在製作的食物 + break + } + } + if !bCooking { // 经过计算没有烹饪食物的时候 + Smithy.Clang = nil + } + + // 保存信息 + mapData["orders"] = Smithy.Orders + mapData["orderCostTime"] = Smithy.OrderCostTime + mapData["clang"] = Smithy.Clang // 正在做的 + this.module.ModifySmithyData(uid, mapData) +} + +// 技能等级提高了 重新计算订单时间(只对订单中数据有影响) +func (this *modelSmithy) CalculationSmithybySkiiLv(uid string, Smithy *pb.DBSmithy, skillType int32, skilllv int32) { + mapData := make(map[string]interface{}, 0) + for _, v := range Smithy.Orders { + if v.DeskType > 0 && v.DeskType == skillType { + _skillCfg := this.module.configure.GetSmithyStoveConfigData(skilllv) + if _skillCfg != nil { + v.NeedTime = _skillCfg.Time * v.Count + mapData["orders"] = Smithy.Orders + } + break + } + } + mapData["skill"] = Smithy.Skill + this.module.ModifySmithyData(uid, mapData) +} + +// 升级高效制作技能重计算时间消耗 +func (this *modelSmithy) CalculationSpecialSkillLv(uid string, Smithy *pb.DBSmithy, skillType int32, skilllv int32) { + mapData := make(map[string]interface{}, 0) + for _, v := range Smithy.Orders { + if v.Count > 0 { + _skillCfg := this.module.configure.GetSmithyStoveConfigData(skilllv) + if _skillCfg != nil { + v.NeedTime += _skillCfg.Time * v.Count + if v.NeedTime < 0 { // 担心配置错误 为负数情况 所以这里做下判断 + v.NeedTime = 0 + } + mapData["orders"] = Smithy.Orders + } + } + } + mapData["stoveLv"] = Smithy.StoveLv + this.module.ModifySmithyData(uid, mapData) +} diff --git a/modules/smithy/module.go b/modules/smithy/module.go new file mode 100644 index 000000000..4071e1ace --- /dev/null +++ b/modules/smithy/module.go @@ -0,0 +1,50 @@ +/* +模块名:Smithy +描述:美食家模块 +开发:梅雄风 +*/ +package smithy + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" + "go_dreamfactory/pb" +) + +type Smithy struct { + modules.ModuleBase + modelSmithy *modelSmithy + api *apiComp + configure *configureComp +} + +func NewModule() core.IModule { + return &Smithy{} +} + +func (this *Smithy) GetType() core.M_Modules { + return comm.ModuleSmithy +} + +func (this *Smithy) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { + err = this.ModuleBase.Init(service, module, options) + + return +} + +func (this *Smithy) OnInstallComp() { + this.ModuleBase.OnInstallComp() + this.api = this.RegisterComp(new(apiComp)).(*apiComp) + this.modelSmithy = this.RegisterComp(new(modelSmithy)).(*modelSmithy) + this.configure = this.RegisterComp(new(configureComp)).(*configureComp) +} + +// 接口信息 +func (this *Smithy) ModifySmithyData(uid string, data map[string]interface{}) (code pb.ErrorCode) { + err := this.modelSmithy.modifySmithyDataByObjId(uid, data) + if err != nil { + code = pb.ErrorCode_DBError + } + return +} diff --git a/pb/gourmet_db.pb.go b/pb/gourmet_db.pb.go index 626fec87f..8972beaeb 100644 --- a/pb/gourmet_db.pb.go +++ b/pb/gourmet_db.pb.go @@ -147,9 +147,9 @@ type DBGourmet struct { 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 - CookingFood *Cooking `protobuf:"bytes,3,opt,name=cookingFood,proto3" json:"cookingFood" bson:"cookingFood"` //正在烹饪的食品 - Foods []*OrderCook `protobuf:"bytes,4,rep,name=foods,proto3" json:"foods"` // 等待烹饪的食品 - Items []*UserAssets `protobuf:"bytes,5,rep,name=items,proto3" json:"items"` // 已经做好的食品 + CookingFood *Cooking `protobuf:"bytes,3,opt,name=cookingFood,proto3" json:"cookingFood" bson:"cooking"` //正在烹饪的食品 + Foods []*OrderCook `protobuf:"bytes,4,rep,name=foods,proto3" json:"foods" bson:"foods"` //等待烹饪的食品 + Items []*UserAssets `protobuf:"bytes,5,rep,name=items,proto3" json:"items" bson:"items"` //已经做好的食品 Skill map[int32]int32 `protobuf:"bytes,6,rep,name=skill,proto3" json:"skill" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"skill"` //技能ID SpecialSkill map[int32]int32 `protobuf:"bytes,7,rep,name=specialSkill,proto3" json:"specialSkill" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"specialSkill"` //通用技能 OrderCostTime int32 `protobuf:"varint,8,opt,name=orderCostTime,proto3" json:"orderCostTime" bson:"orderCostTime"` //订单消耗的时常 diff --git a/pb/hero_db.pb.go b/pb/hero_db.pb.go index 372b05636..1dd0f7d25 100644 --- a/pb/hero_db.pb.go +++ b/pb/hero_db.pb.go @@ -151,7 +151,7 @@ type DBHero struct { IsOverlying bool `protobuf:"varint,23,opt,name=isOverlying,proto3" json:"isOverlying"` // go_tags(`bson:"isOverlying"`) 是否允许叠加 默认true EnergyProperty map[string]int32 `protobuf:"bytes,24,rep,name=energyProperty,proto3" json:"energyProperty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"energyProperty"` // JuexProperty map[string]int32 `protobuf:"bytes,25,rep,name=juexProperty,proto3" json:"juexProperty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"juexProperty"` ////hp - Status HeroType `protobuf:"varint,26,opt,name=status,proto3,enum=HeroType" json:"status"` // 状态 (1 练功) + Status HeroType `protobuf:"varint,26,opt,name=status,proto3,enum=HeroType" json:"status" bson:"heroType"` //状态 (1 练功) } func (x *DBHero) Reset() { diff --git a/pb/smithy_db.pb.go b/pb/smithy_db.pb.go new file mode 100644 index 000000000..6a705f1f3 --- /dev/null +++ b/pb/smithy_db.pb.go @@ -0,0 +1,386 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.20.0 +// source: smithy/smithy_db.proto + +package pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Clang struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeskType int32 `protobuf:"varint,1,opt,name=deskType,proto3" json:"deskType"` // 台子类型 + ETime int64 `protobuf:"varint,2,opt,name=eTime,proto3" json:"eTime"` +} + +func (x *Clang) Reset() { + *x = Clang{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_db_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Clang) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Clang) ProtoMessage() {} + +func (x *Clang) 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 Clang.ProtoReflect.Descriptor instead. +func (*Clang) Descriptor() ([]byte, []int) { + return file_smithy_smithy_db_proto_rawDescGZIP(), []int{0} +} + +func (x *Clang) GetDeskType() int32 { + if x != nil { + return x.DeskType + } + return 0 +} + +func (x *Clang) GetETime() int64 { + if x != nil { + return x.ETime + } + return 0 +} + +// 队列里的烹饪食品 +type OrderClang struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeskType int32 `protobuf:"varint,1,opt,name=deskType,proto3" json:"deskType"` // 台子类型 + Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 料理数量 + NeedTime int32 `protobuf:"varint,3,opt,name=needTime,proto3" json:"needTime"` // 需要的时间 +} + +func (x *OrderClang) Reset() { + *x = OrderClang{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_db_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderClang) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderClang) ProtoMessage() {} + +func (x *OrderClang) 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 OrderClang.ProtoReflect.Descriptor instead. +func (*OrderClang) Descriptor() ([]byte, []int) { + return file_smithy_smithy_db_proto_rawDescGZIP(), []int{1} +} + +func (x *OrderClang) GetDeskType() int32 { + if x != nil { + return x.DeskType + } + return 0 +} + +func (x *OrderClang) GetCount() int32 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *OrderClang) GetNeedTime() int32 { + if x != nil { + return x.NeedTime + } + return 0 +} + +type DBSmithy 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 + Clang *Clang `protobuf:"bytes,3,opt,name=clang,proto3" json:"clang"` // 正在制作中的数据 + Orders []*OrderClang `protobuf:"bytes,4,rep,name=orders,proto3" json:"orders" bson:"orders"` //订单数据 + Items []*UserAssets `protobuf:"bytes,5,rep,name=items,proto3" json:"items" bson:"items"` //已经做好装备 + Skill map[int32]int32 `protobuf:"bytes,6,rep,name=skill,proto3" json:"skill" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"skill"` //锻造台等级 + StoveLv int32 `protobuf:"varint,7,opt,name=stoveLv,proto3" json:"stoveLv" bson:"stoveLv"` //炉子等级 + OrderCostTime int32 `protobuf:"varint,8,opt,name=orderCostTime,proto3" json:"orderCostTime" bson:"orderCostTime"` //订单消耗的时常 + Ctime int64 `protobuf:"varint,9,opt,name=ctime,proto3" json:"ctime"` // 订单创建时间 +} + +func (x *DBSmithy) Reset() { + *x = DBSmithy{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_db_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBSmithy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBSmithy) ProtoMessage() {} + +func (x *DBSmithy) ProtoReflect() protoreflect.Message { + mi := &file_smithy_smithy_db_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DBSmithy.ProtoReflect.Descriptor instead. +func (*DBSmithy) Descriptor() ([]byte, []int) { + return file_smithy_smithy_db_proto_rawDescGZIP(), []int{2} +} + +func (x *DBSmithy) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DBSmithy) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *DBSmithy) GetClang() *Clang { + if x != nil { + return x.Clang + } + return nil +} + +func (x *DBSmithy) GetOrders() []*OrderClang { + if x != nil { + return x.Orders + } + return nil +} + +func (x *DBSmithy) GetItems() []*UserAssets { + if x != nil { + return x.Items + } + return nil +} + +func (x *DBSmithy) GetSkill() map[int32]int32 { + if x != nil { + return x.Skill + } + return nil +} + +func (x *DBSmithy) GetStoveLv() int32 { + if x != nil { + return x.StoveLv + } + return 0 +} + +func (x *DBSmithy) GetOrderCostTime() int32 { + if x != nil { + return x.OrderCostTime + } + return 0 +} + +func (x *DBSmithy) GetCtime() int64 { + if x != nil { + return x.Ctime + } + return 0 +} + +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, 0x39, 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, 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, 0xce, 0x02, 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, 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, 0x42, 0x06, 0x5a, 0x04, + 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_smithy_smithy_db_proto_rawDescOnce sync.Once + file_smithy_smithy_db_proto_rawDescData = file_smithy_smithy_db_proto_rawDesc +) + +func file_smithy_smithy_db_proto_rawDescGZIP() []byte { + file_smithy_smithy_db_proto_rawDescOnce.Do(func() { + file_smithy_smithy_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_smithy_smithy_db_proto_rawDescData) + }) + return file_smithy_smithy_db_proto_rawDescData +} + +var file_smithy_smithy_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_smithy_smithy_db_proto_goTypes = []interface{}{ + (*Clang)(nil), // 0: Clang + (*OrderClang)(nil), // 1: OrderClang + (*DBSmithy)(nil), // 2: DBSmithy + nil, // 3: DBSmithy.SkillEntry + (*UserAssets)(nil), // 4: UserAssets +} +var file_smithy_smithy_db_proto_depIdxs = []int32{ + 0, // 0: DBSmithy.clang:type_name -> Clang + 1, // 1: DBSmithy.orders:type_name -> OrderClang + 4, // 2: DBSmithy.items:type_name -> UserAssets + 3, // 3: DBSmithy.skill:type_name -> DBSmithy.SkillEntry + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_smithy_smithy_db_proto_init() } +func file_smithy_smithy_db_proto_init() { + if File_smithy_smithy_db_proto != nil { + return + } + file_comm_proto_init() + if !protoimpl.UnsafeEnabled { + file_smithy_smithy_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Clang); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_smithy_smithy_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderClang); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_smithy_smithy_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBSmithy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_smithy_smithy_db_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_smithy_smithy_db_proto_goTypes, + DependencyIndexes: file_smithy_smithy_db_proto_depIdxs, + MessageInfos: file_smithy_smithy_db_proto_msgTypes, + }.Build() + File_smithy_smithy_db_proto = out.File + file_smithy_smithy_db_proto_rawDesc = nil + file_smithy_smithy_db_proto_goTypes = nil + file_smithy_smithy_db_proto_depIdxs = nil +} diff --git a/pb/smithy_msg.pb.go b/pb/smithy_msg.pb.go new file mode 100644 index 000000000..8a10d4f61 --- /dev/null +++ b/pb/smithy_msg.pb.go @@ -0,0 +1,578 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.20.0 +// source: smithy/smithy_msg.proto + +package pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// 查询塔进度 +type SmithyGetListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SmithyGetListReq) Reset() { + *x = SmithyGetListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SmithyGetListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SmithyGetListReq) ProtoMessage() {} + +func (x *SmithyGetListReq) ProtoReflect() protoreflect.Message { + mi := &file_smithy_smithy_msg_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SmithyGetListReq.ProtoReflect.Descriptor instead. +func (*SmithyGetListReq) Descriptor() ([]byte, []int) { + return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{0} +} + +// 返回进度信息 +type SmithyGetListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data *DBSmithy `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` +} + +func (x *SmithyGetListResp) Reset() { + *x = SmithyGetListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SmithyGetListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SmithyGetListResp) ProtoMessage() {} + +func (x *SmithyGetListResp) ProtoReflect() protoreflect.Message { + mi := &file_smithy_smithy_msg_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SmithyGetListResp.ProtoReflect.Descriptor instead. +func (*SmithyGetListResp) Descriptor() ([]byte, []int) { + return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{1} +} + +func (x *SmithyGetListResp) GetData() *DBSmithy { + if x != nil { + return x.Data + } + return nil +} + +// 创建订单 +type SmithyCreateOrderReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Order []*OrderClang `protobuf:"bytes,1,rep,name=order,proto3" json:"order"` // 烹饪时间不用传 后端会重新计算 +} + +func (x *SmithyCreateOrderReq) Reset() { + *x = SmithyCreateOrderReq{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SmithyCreateOrderReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SmithyCreateOrderReq) ProtoMessage() {} + +func (x *SmithyCreateOrderReq) ProtoReflect() protoreflect.Message { + mi := &file_smithy_smithy_msg_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SmithyCreateOrderReq.ProtoReflect.Descriptor instead. +func (*SmithyCreateOrderReq) Descriptor() ([]byte, []int) { + return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{2} +} + +func (x *SmithyCreateOrderReq) GetOrder() []*OrderClang { + if x != nil { + return x.Order + } + return nil +} + +type SmithyCreateOrderResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data *DBSmithy `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` +} + +func (x *SmithyCreateOrderResp) Reset() { + *x = SmithyCreateOrderResp{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_msg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SmithyCreateOrderResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SmithyCreateOrderResp) ProtoMessage() {} + +func (x *SmithyCreateOrderResp) ProtoReflect() protoreflect.Message { + mi := &file_smithy_smithy_msg_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SmithyCreateOrderResp.ProtoReflect.Descriptor instead. +func (*SmithyCreateOrderResp) Descriptor() ([]byte, []int) { + return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{3} +} + +func (x *SmithyCreateOrderResp) GetData() *DBSmithy { + if x != nil { + return x.Data + } + return nil +} + +// 领取奖励 +type SmithyGetRewardReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SmithyGetRewardReq) Reset() { + *x = SmithyGetRewardReq{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_msg_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SmithyGetRewardReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SmithyGetRewardReq) ProtoMessage() {} + +func (x *SmithyGetRewardReq) ProtoReflect() protoreflect.Message { + mi := &file_smithy_smithy_msg_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SmithyGetRewardReq.ProtoReflect.Descriptor instead. +func (*SmithyGetRewardReq) Descriptor() ([]byte, []int) { + return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{4} +} + +type SmithyGetRewardResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data *DBSmithy `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` +} + +func (x *SmithyGetRewardResp) Reset() { + *x = SmithyGetRewardResp{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_msg_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SmithyGetRewardResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SmithyGetRewardResp) ProtoMessage() {} + +func (x *SmithyGetRewardResp) ProtoReflect() protoreflect.Message { + mi := &file_smithy_smithy_msg_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SmithyGetRewardResp.ProtoReflect.Descriptor instead. +func (*SmithyGetRewardResp) Descriptor() ([]byte, []int) { + return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{5} +} + +func (x *SmithyGetRewardResp) GetData() *DBSmithy { + if x != nil { + return x.Data + } + return nil +} + +// 技能升级 +type SmithySkillLvReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SkillType int32 `protobuf:"varint,1,opt,name=skillType,proto3" json:"skillType"` // 技能id +} + +func (x *SmithySkillLvReq) Reset() { + *x = SmithySkillLvReq{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_msg_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SmithySkillLvReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SmithySkillLvReq) ProtoMessage() {} + +func (x *SmithySkillLvReq) ProtoReflect() protoreflect.Message { + mi := &file_smithy_smithy_msg_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SmithySkillLvReq.ProtoReflect.Descriptor instead. +func (*SmithySkillLvReq) Descriptor() ([]byte, []int) { + return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{6} +} + +func (x *SmithySkillLvReq) GetSkillType() int32 { + if x != nil { + return x.SkillType + } + return 0 +} + +type SmithySkillLvResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data *DBSmithy `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` +} + +func (x *SmithySkillLvResp) Reset() { + *x = SmithySkillLvResp{} + if protoimpl.UnsafeEnabled { + mi := &file_smithy_smithy_msg_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SmithySkillLvResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SmithySkillLvResp) ProtoMessage() {} + +func (x *SmithySkillLvResp) ProtoReflect() protoreflect.Message { + mi := &file_smithy_smithy_msg_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SmithySkillLvResp.ProtoReflect.Descriptor instead. +func (*SmithySkillLvResp) Descriptor() ([]byte, []int) { + return file_smithy_smithy_msg_proto_rawDescGZIP(), []int{7} +} + +func (x *SmithySkillLvResp) GetData() *DBSmithy { + if x != nil { + return x.Data + } + return nil +} + +var File_smithy_smithy_msg_proto protoreflect.FileDescriptor + +var file_smithy_smithy_msg_proto_rawDesc = []byte{ + 0x0a, 0x17, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2f, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x5f, + 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x73, 0x6d, 0x69, 0x74, 0x68, + 0x79, 0x2f, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 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, 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, 0x30, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, + 0x68, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x32, 0x0a, 0x11, 0x53, 0x6d, + 0x69, 0x74, 0x68, 0x79, 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, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_smithy_smithy_msg_proto_rawDescOnce sync.Once + file_smithy_smithy_msg_proto_rawDescData = file_smithy_smithy_msg_proto_rawDesc +) + +func file_smithy_smithy_msg_proto_rawDescGZIP() []byte { + file_smithy_smithy_msg_proto_rawDescOnce.Do(func() { + file_smithy_smithy_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_smithy_smithy_msg_proto_rawDescData) + }) + return file_smithy_smithy_msg_proto_rawDescData +} + +var file_smithy_smithy_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_smithy_smithy_msg_proto_goTypes = []interface{}{ + (*SmithyGetListReq)(nil), // 0: SmithyGetListReq + (*SmithyGetListResp)(nil), // 1: SmithyGetListResp + (*SmithyCreateOrderReq)(nil), // 2: SmithyCreateOrderReq + (*SmithyCreateOrderResp)(nil), // 3: SmithyCreateOrderResp + (*SmithyGetRewardReq)(nil), // 4: SmithyGetRewardReq + (*SmithyGetRewardResp)(nil), // 5: SmithyGetRewardResp + (*SmithySkillLvReq)(nil), // 6: SmithySkillLvReq + (*SmithySkillLvResp)(nil), // 7: SmithySkillLvResp + (*DBSmithy)(nil), // 8: DBSmithy + (*OrderClang)(nil), // 9: OrderClang +} +var file_smithy_smithy_msg_proto_depIdxs = []int32{ + 8, // 0: SmithyGetListResp.data:type_name -> DBSmithy + 9, // 1: SmithyCreateOrderReq.order:type_name -> OrderClang + 8, // 2: SmithyCreateOrderResp.data:type_name -> DBSmithy + 8, // 3: SmithyGetRewardResp.data:type_name -> DBSmithy + 8, // 4: SmithySkillLvResp.data:type_name -> DBSmithy + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_smithy_smithy_msg_proto_init() } +func file_smithy_smithy_msg_proto_init() { + if File_smithy_smithy_msg_proto != nil { + return + } + file_smithy_smithy_db_proto_init() + if !protoimpl.UnsafeEnabled { + file_smithy_smithy_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SmithyGetListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_smithy_smithy_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SmithyGetListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_smithy_smithy_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SmithyCreateOrderReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_smithy_smithy_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SmithyCreateOrderResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_smithy_smithy_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SmithyGetRewardReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_smithy_smithy_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SmithyGetRewardResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_smithy_smithy_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SmithySkillLvReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_smithy_smithy_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SmithySkillLvResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_smithy_smithy_msg_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_smithy_smithy_msg_proto_goTypes, + DependencyIndexes: file_smithy_smithy_msg_proto_depIdxs, + MessageInfos: file_smithy_smithy_msg_proto_msgTypes, + }.Build() + File_smithy_smithy_msg_proto = out.File + file_smithy_smithy_msg_proto_rawDesc = nil + file_smithy_smithy_msg_proto_goTypes = nil + file_smithy_smithy_msg_proto_depIdxs = nil +} diff --git a/sys/configure/structs/Game.Smithy.go b/sys/configure/structs/Game.Smithy.go new file mode 100644 index 000000000..17470c9fc --- /dev/null +++ b/sys/configure/structs/Game.Smithy.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameSmithy struct { + _dataMap map[int32]*GameSmithyData + _dataList []*GameSmithyData +} + +func NewGameSmithy(_buf []map[string]interface{}) (*GameSmithy, error) { + _dataList := make([]*GameSmithyData, 0, len(_buf)) + dataMap := make(map[int32]*GameSmithyData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameSmithyData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GameSmithy{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameSmithy) GetDataMap() map[int32]*GameSmithyData { + return table._dataMap +} + +func (table *GameSmithy) GetDataList() []*GameSmithyData { + return table._dataList +} + +func (table *GameSmithy) Get(key int32) *GameSmithyData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.SmithyData.go b/sys/configure/structs/Game.SmithyData.go new file mode 100644 index 000000000..861d451f6 --- /dev/null +++ b/sys/configure/structs/Game.SmithyData.go @@ -0,0 +1,98 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameSmithyData struct { + Id int32 + Type int32 + Star int32 + Starshow string + Before int32 + Starupneed []*Gameatn + Sucess string + Floors int32 + Dropshow []*Gameatn + Drop int32 + Orderneed []*Gameatn + Desk string + Shelves string +} + +const TypeId_GameSmithyData = 2042540316 + +func (*GameSmithyData) GetTypeId() int32 { + return 2042540316 +} + +func (_v *GameSmithyData)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["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["starshow"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Starshow error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Starshow, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["before"].(float64); !_ok_ { err = errors.New("before error"); return }; _v.Before = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["starupneed"].([]interface{}); !_ok_ { err = errors.New("starupneed error"); return } + + _v.Starupneed = 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.Starupneed = append(_v.Starupneed, _list_v_) + } + } + + { var _ok_ bool; if _v.Sucess, _ok_ = _buf["sucess"].(string); !_ok_ { err = errors.New("sucess error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["floors"].(float64); !_ok_ { err = errors.New("floors error"); return }; _v.Floors = int32(_tempNum_) } + { + 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 _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["orderneed"].([]interface{}); !_ok_ { err = errors.New("orderneed error"); return } + + _v.Orderneed = 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.Orderneed = append(_v.Orderneed, _list_v_) + } + } + + { var _ok_ bool; if _v.Desk, _ok_ = _buf["desk"].(string); !_ok_ { err = errors.New("desk error"); return } } + { var _ok_ bool; if _v.Shelves, _ok_ = _buf["shelves"].(string); !_ok_ { err = errors.New("shelves error"); return } } + return +} + +func DeserializeGameSmithyData(_buf map[string]interface{}) (*GameSmithyData, error) { + v := &GameSmithyData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.SmithyStove.go b/sys/configure/structs/Game.SmithyStove.go new file mode 100644 index 000000000..e4181602c --- /dev/null +++ b/sys/configure/structs/Game.SmithyStove.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameSmithyStove struct { + _dataMap map[int32]*GameSmithyStoveData + _dataList []*GameSmithyStoveData +} + +func NewGameSmithyStove(_buf []map[string]interface{}) (*GameSmithyStove, error) { + _dataList := make([]*GameSmithyStoveData, 0, len(_buf)) + dataMap := make(map[int32]*GameSmithyStoveData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameSmithyStoveData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GameSmithyStove{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameSmithyStove) GetDataMap() map[int32]*GameSmithyStoveData { + return table._dataMap +} + +func (table *GameSmithyStove) GetDataList() []*GameSmithyStoveData { + return table._dataList +} + +func (table *GameSmithyStove) Get(key int32) *GameSmithyStoveData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.SmithyStoveData.go b/sys/configure/structs/Game.SmithyStoveData.go new file mode 100644 index 000000000..eb407b9f5 --- /dev/null +++ b/sys/configure/structs/Game.SmithyStoveData.go @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameSmithyStoveData struct { + Id int32 + Star int32 + Starshow string + Before int32 + Starupneed []*Gameatn + Sucess string + Floors int32 + Time int32 + Desk string +} + +const TypeId_GameSmithyStoveData = -1387348875 + +func (*GameSmithyStoveData) GetTypeId() int32 { + return -1387348875 +} + +func (_v *GameSmithyStoveData)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["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["starshow"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Starshow error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Starshow, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["before"].(float64); !_ok_ { err = errors.New("before error"); return }; _v.Before = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["starupneed"].([]interface{}); !_ok_ { err = errors.New("starupneed error"); return } + + _v.Starupneed = 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.Starupneed = append(_v.Starupneed, _list_v_) + } + } + + { var _ok_ bool; if _v.Sucess, _ok_ = _buf["sucess"].(string); !_ok_ { err = errors.New("sucess error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["floors"].(float64); !_ok_ { err = errors.New("floors error"); return }; _v.Floors = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["time"].(float64); !_ok_ { err = errors.New("time error"); return }; _v.Time = int32(_tempNum_) } + { var _ok_ bool; if _v.Desk, _ok_ = _buf["desk"].(string); !_ok_ { err = errors.New("desk error"); return } } + return +} + +func DeserializeGameSmithyStoveData(_buf map[string]interface{}) (*GameSmithyStoveData, error) { + v := &GameSmithyStoveData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +}