From 3dd386a6fe8e971ffe28ef1b8df9f30484b4aeef Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Fri, 21 Jul 2023 20:41:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A8=E7=9F=B3=E7=A7=98=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_asklibrary.json | 19 + bin/json/game_guildbosstask.json | 152 +++++ bin/json/game_mainstage.json | 14 +- bin/json/game_robotdata.json | 322 ++++++++++ bin/json/game_stronebuff.json | 242 +++++++ bin/json/game_stroneroom.json | 242 +++++++ modules/pagoda/api_getrace.go | 12 + modules/shop/api_getlist.go | 15 + .../{api_selecthero.go => api_enterlevel.go} | 10 +- modules/stonehenge/configure.go | 606 +++++++++++++++++- modules/tools/comp_configure.go | 25 +- modules/user/comp_configure.go | 2 + pb/stonehenge_msg.pb.go | 368 ++++------- services/worker/main.go | 2 + sys/configure/structs/Game.AskLibraryData.go | 2 + sys/configure/structs/Game.GuildBossTask.go | 42 ++ .../structs/Game.GuildBossTaskData.go | 54 ++ sys/configure/structs/Game.RobotDataData.go | 45 ++ sys/configure/structs/Game.StroneBuff.go | 42 ++ sys/configure/structs/Game.StroneBuffData.go | 55 ++ sys/configure/structs/Game.StroneRoom.go | 42 ++ sys/configure/structs/Game.StroneRoomData.go | 55 ++ sys/configure/structs/Tables.go | 14 + 23 files changed, 2119 insertions(+), 263 deletions(-) create mode 100644 bin/json/game_guildbosstask.json create mode 100644 bin/json/game_robotdata.json create mode 100644 bin/json/game_stronebuff.json create mode 100644 bin/json/game_stroneroom.json rename modules/stonehenge/{api_selecthero.go => api_enterlevel.go} (73%) create mode 100644 sys/configure/structs/Game.GuildBossTask.go create mode 100644 sys/configure/structs/Game.GuildBossTaskData.go create mode 100644 sys/configure/structs/Game.RobotDataData.go create mode 100644 sys/configure/structs/Game.StroneBuff.go create mode 100644 sys/configure/structs/Game.StroneBuffData.go create mode 100644 sys/configure/structs/Game.StroneRoom.go create mode 100644 sys/configure/structs/Game.StroneRoomData.go diff --git a/bin/json/game_asklibrary.json b/bin/json/game_asklibrary.json index 7a6588bae..c49431d74 100644 --- a/bin/json/game_asklibrary.json +++ b/bin/json/game_asklibrary.json @@ -23,6 +23,7 @@ "key": "English_01", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -55,6 +56,7 @@ "key": "English_02", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -87,6 +89,7 @@ "key": "English_03", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -119,6 +122,7 @@ "key": "English_04", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -151,6 +155,7 @@ "key": "English_05", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -183,6 +188,7 @@ "key": "English_06", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -215,6 +221,7 @@ "key": "English_07", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -247,6 +254,7 @@ "key": "English_08", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -279,6 +287,7 @@ "key": "English_09", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -311,6 +320,7 @@ "key": "English_10", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -343,6 +353,7 @@ "key": "English_11", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -376,6 +387,7 @@ "key": "English_12", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -409,6 +421,7 @@ "key": "English_13", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -442,6 +455,7 @@ "key": "English_14", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -475,6 +489,7 @@ "key": "English_15", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -508,6 +523,7 @@ "key": "English_16", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -541,6 +557,7 @@ "key": "English_17", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -574,6 +591,7 @@ "key": "English_18", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", @@ -607,6 +625,7 @@ "key": "English_19", "text": "乌龟大师" }, + "weight": 1000, "pic": "", "True": "", "flase": "", diff --git a/bin/json/game_guildbosstask.json b/bin/json/game_guildbosstask.json new file mode 100644 index 000000000..18dd5f9eb --- /dev/null +++ b/bin/json/game_guildbosstask.json @@ -0,0 +1,152 @@ +[ + { + "id": 1, + "score": 1500000, + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "task_describe": { + "key": "guildboss_task_task_describe_1", + "text": "总积分达到1500000分" + } + }, + { + "id": 2, + "score": 3000000, + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "task_describe": { + "key": "guildboss_task_task_describe_2", + "text": "总积分达到3000000分" + } + }, + { + "id": 3, + "score": 4500000, + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "task_describe": { + "key": "guildboss_task_task_describe_3", + "text": "总积分达到4500000分" + } + }, + { + "id": 4, + "score": 6000000, + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "task_describe": { + "key": "guildboss_task_task_describe_4", + "text": "总积分达到6000000分" + } + }, + { + "id": 5, + "score": 9000000, + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "task_describe": { + "key": "guildboss_task_task_describe_5", + "text": "总积分达到9000000分" + } + }, + { + "id": 6, + "score": 12000000, + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "task_describe": { + "key": "guildboss_task_task_describe_6", + "text": "总积分达到12000000分" + } + }, + { + "id": 7, + "score": 15000000, + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "task_describe": { + "key": "guildboss_task_task_describe_7", + "text": "总积分达到15000000分" + } + }, + { + "id": 8, + "score": 18000000, + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "task_describe": { + "key": "guildboss_task_task_describe_8", + "text": "总积分达到18000000分" + } + }, + { + "id": 9, + "score": 21000000, + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "task_describe": { + "key": "guildboss_task_task_describe_9", + "text": "总积分达到21000000分" + } + }, + { + "id": 10, + "score": 24000000, + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "task_describe": { + "key": "guildboss_task_task_describe_10", + "text": "总积分达到24000000分" + } + } +] \ No newline at end of file diff --git a/bin/json/game_mainstage.json b/bin/json/game_mainstage.json index 41b79e12c..fc188f11c 100644 --- a/bin/json/game_mainstage.json +++ b/bin/json/game_mainstage.json @@ -10,7 +10,9 @@ "EditorStage": 0, "venturemodel": "Person/10000/10000M.prefab", "ventureavatar": [ - "zxgq_js_44005" + "zxgq_js_44005", + "zxgq_js_44006", + "zxgq_js_44004" ], "heroimg": "zxgq_js_34004", "bubbletext": { @@ -107,7 +109,8 @@ "EditorStage": 0, "venturemodel": "Person/10000/10000W.prefab", "ventureavatar": [ - "zxgq_js_44005" + "zxgq_js_44005", + "zxgq_js_44004" ], "heroimg": "attr_diamond", "bubbletext": { @@ -204,7 +207,8 @@ "EditorStage": 0, "venturemodel": "Person/10000/10000M.prefab", "ventureavatar": [ - "zxgq_js_44005" + "zxgq_js_44005", + "zxgq_js_44006" ], "heroimg": "attr_diamond", "bubbletext": { @@ -301,7 +305,9 @@ "EditorStage": 0, "venturemodel": "Person/10000/10000W.prefab", "ventureavatar": [ - "zxgq_js_44005" + "zxgq_js_44005", + "zxgq_js_44006", + "zxgq_js_44004" ], "heroimg": "zxgq_js_34004", "bubbletext": { diff --git a/bin/json/game_robotdata.json b/bin/json/game_robotdata.json new file mode 100644 index 000000000..a039d2ed3 --- /dev/null +++ b/bin/json/game_robotdata.json @@ -0,0 +1,322 @@ +[ + { + "robotid": 10001, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "激奋的布卢尔", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10002, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "快乐的艾丽莎", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10003, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "朴素的希伯来", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10004, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "庄重的布卢姆", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10005, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "和谐的哈莉特", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10006, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "坦然的乔伊斯", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10007, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "苗条的赫瑟尔", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10008, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "可人的博斯韦", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10009, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "青春的罗瑞尔", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10010, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "开心的茉莉", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10011, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "幸运的蒂安娜", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10012, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "踊跃的波伊尔", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10013, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "愉快的爱罗拉", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10014, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "神奇的塔利娅", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10015, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "不凡的埃达", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10016, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "进步的汉塞尔", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10017, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "业余的桃乐丝", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10018, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "整洁的薇薇安", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10019, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "认真的塞尔特", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10020, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "友爱的白雪", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10021, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "聪明的玛娅", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10022, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "细心的阿拉丁", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10023, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "娇美的布赖特", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10024, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "无知的伊凡", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10025, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "冷魅的梅根", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10026, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "雍容的布罗德", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10027, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "害羞的夏洛特", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10028, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "热情的海洛伊", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10029, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "开朗的克莱儿", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10030, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "唠叨的巴比特", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10031, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "娇媚的波比", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10032, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "绝美的艾薇", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10033, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "职业的艾尔玛", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10034, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "佩服的布鲁克", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10035, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "迷茫的鲍德温", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10036, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "摩登的鲁思", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10037, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "火红的巴纳德", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10038, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "好动的杰奎琳", + "sex": 1, + "showid": "16010101" + }, + { + "robotid": 10039, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "娇艳的丝特勒", + "sex": 0, + "showid": "16010101" + }, + { + "robotid": 10040, + "icon": "hbkp_js_24003", + "lvshow": 60, + "name": "欢闹的妮莉雅", + "sex": 1, + "showid": "16010101" + } +] \ No newline at end of file diff --git a/bin/json/game_stronebuff.json b/bin/json/game_stronebuff.json new file mode 100644 index 000000000..f02faeea4 --- /dev/null +++ b/bin/json/game_stronebuff.json @@ -0,0 +1,242 @@ +[ + { + "BuffId": 251023111, + "BuffGroupId": 1001, + "Type": 1, + "BuffLevel": 1, + "Quality": 1, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_1", + "text": "攻击buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_1", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_1", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 1 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 2 + } + }, + { + "BuffId": 251023112, + "BuffGroupId": 1001, + "Type": 1, + "BuffLevel": 2, + "Quality": 1, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_2", + "text": "攻击buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_2", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_2", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 1 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 2 + } + }, + { + "BuffId": 200000001, + "BuffGroupId": 1002, + "Type": 2, + "BuffLevel": 1, + "Quality": 2, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_3", + "text": "防御buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_3", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_3", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 2 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 3 + } + }, + { + "BuffId": 200000002, + "BuffGroupId": 1002, + "Type": 2, + "BuffLevel": 2, + "Quality": 2, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_4", + "text": "防御buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_4", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_4", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 3 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 4 + } + }, + { + "BuffId": 253005111, + "BuffGroupId": 1003, + "Type": 3, + "BuffLevel": 1, + "Quality": 1, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_5", + "text": "辅助buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_5", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_5", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 4 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 5 + } + }, + { + "BuffId": 253005112, + "BuffGroupId": 1003, + "Type": 3, + "BuffLevel": 2, + "Quality": 1, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_6", + "text": "辅助buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_6", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_6", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 5 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 6 + } + }, + { + "BuffId": 225002011, + "BuffGroupId": 1004, + "Type": 4, + "BuffLevel": 1, + "Quality": 2, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_7", + "text": "控制buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_7", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_7", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 6 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 7 + } + }, + { + "BuffId": 225002012, + "BuffGroupId": 1004, + "Type": 4, + "BuffLevel": 2, + "Quality": 2, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_8", + "text": "控制buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_8", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_8", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 7 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 8 + } + } +] \ No newline at end of file diff --git a/bin/json/game_stroneroom.json b/bin/json/game_stroneroom.json new file mode 100644 index 000000000..f02faeea4 --- /dev/null +++ b/bin/json/game_stroneroom.json @@ -0,0 +1,242 @@ +[ + { + "BuffId": 251023111, + "BuffGroupId": 1001, + "Type": 1, + "BuffLevel": 1, + "Quality": 1, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_1", + "text": "攻击buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_1", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_1", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 1 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 2 + } + }, + { + "BuffId": 251023112, + "BuffGroupId": 1001, + "Type": 1, + "BuffLevel": 2, + "Quality": 1, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_2", + "text": "攻击buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_2", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_2", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 1 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 2 + } + }, + { + "BuffId": 200000001, + "BuffGroupId": 1002, + "Type": 2, + "BuffLevel": 1, + "Quality": 2, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_3", + "text": "防御buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_3", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_3", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 2 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 3 + } + }, + { + "BuffId": 200000002, + "BuffGroupId": 1002, + "Type": 2, + "BuffLevel": 2, + "Quality": 2, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_4", + "text": "防御buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_4", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_4", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 3 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 4 + } + }, + { + "BuffId": 253005111, + "BuffGroupId": 1003, + "Type": 3, + "BuffLevel": 1, + "Quality": 1, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_5", + "text": "辅助buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_5", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_5", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 4 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 5 + } + }, + { + "BuffId": 253005112, + "BuffGroupId": 1003, + "Type": 3, + "BuffLevel": 2, + "Quality": 1, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_6", + "text": "辅助buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_6", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_6", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 5 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 6 + } + }, + { + "BuffId": 225002011, + "BuffGroupId": 1004, + "Type": 4, + "BuffLevel": 1, + "Quality": 2, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_7", + "text": "控制buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_7", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_7", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 6 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 7 + } + }, + { + "BuffId": 225002012, + "BuffGroupId": 1004, + "Type": 4, + "BuffLevel": 2, + "Quality": 2, + "BuffIcon": "", + "buffName": { + "key": "stonehenge_eventconfig_buffName_8", + "text": "控制buff" + }, + "BuffDescription": { + "key": "stonehenge_buffconfig_BuffDescription_8", + "text": "描述描述描述" + }, + "BuffStory": { + "key": "stonehenge_buffconfig_BuffStory_8", + "text": "描述描述描述" + }, + "BuffUpgradeCost": { + "a": "attr", + "t": "gold", + "n": 7 + }, + "BuffSell": { + "a": "attr", + "t": "gold", + "n": 8 + } + } +] \ No newline at end of file diff --git a/modules/pagoda/api_getrace.go b/modules/pagoda/api_getrace.go index ed69bbe60..88dcc5058 100644 --- a/modules/pagoda/api_getrace.go +++ b/modules/pagoda/api_getrace.go @@ -40,6 +40,18 @@ func (this *apiComp) GetRace(session comm.IUserSession, req *pb.PagodaGetRaceReq if k >= 10 { bSesaon = true } + // 校验循环塔是否过期 + if v.Endtime < configure.Now().Unix() { + list.Race[k] = &pb.RaceData{ + Race: 10, + Task: []int32{}, + Rtime: configure.Now().Unix(), + Defeat: 0, + Endtime: this.module.GetSeasonData(), + Curfloor: 0, + } + bChange = true + } } if !bSesaon { list.Race[10] = &pb.RaceData{ // 第一赛季阵营id默认就是10 diff --git a/modules/shop/api_getlist.go b/modules/shop/api_getlist.go index 0863dd5fe..995159f06 100644 --- a/modules/shop/api_getlist.go +++ b/modules/shop/api_getlist.go @@ -245,6 +245,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) keys := make([]int32, len(sdata.Items)) for i, v := range sdata.Items { keys[i] = v.Gid + } if items, err = this.module.configure.GetShopItemsConfigureByIds(keys...); err != nil { errdata = &pb.ErrorData{ @@ -254,6 +255,20 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) } return } + sdata.Preview = make(map[int32]*pb.DB_Equipment) + for i, v := range items { + id := v.Key*100 + int32(i) + sdata.Items[i] = &pb.UserShopGood{ + Id: id, + Gid: v.Key, + Buy: 0, + } + if v.Preview { //是否预览 + if errdata, sdata.Preview[id] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil { + return + } + } + } goods = transGoods(items, sdata) } } else { diff --git a/modules/stonehenge/api_selecthero.go b/modules/stonehenge/api_enterlevel.go similarity index 73% rename from modules/stonehenge/api_selecthero.go rename to modules/stonehenge/api_enterlevel.go index f25ef4fdf..79f662375 100644 --- a/modules/stonehenge/api_selecthero.go +++ b/modules/stonehenge/api_enterlevel.go @@ -6,20 +6,20 @@ import ( ) //参数校验 -func (this *apiComp) SelectHeroCheck(session comm.IUserSession, req *pb.StonehengeSelectHeroReq) (errdata *pb.ErrorData) { +func (this *apiComp) EnterLevelCheck(session comm.IUserSession, req *pb.StonehengeEnterLevelReq) (errdata *pb.ErrorData) { return } // 选择英雄 -func (this *apiComp) SelectHero(session comm.IUserSession, req *pb.StonehengeSelectHeroReq) (errdata *pb.ErrorData) { +func (this *apiComp) EnterLevel(session comm.IUserSession, req *pb.StonehengeEnterLevelReq) (errdata *pb.ErrorData) { var ( stone *pb.DBStonehenge update map[string]interface{} heros []*pb.DBHero ) update = make(map[string]interface{}) - if errdata = this.SelectHeroCheck(session, req); errdata != nil { + if errdata = this.EnterLevelCheck(session, req); errdata != nil { return } @@ -35,10 +35,6 @@ func (this *apiComp) SelectHero(session comm.IUserSession, req *pb.StonehengeSel return } else { heros = append(heros, hero) - // newHero := new(pb.DBHero) - // *newHero = *hero - // //stone.Hero[hero.HeroID] = newHero - // CreateBattleServer() } } if stone.Hero, errdata = this.module.battle.CreateRolesByHeros(heros); errdata != nil { diff --git a/modules/stonehenge/configure.go b/modules/stonehenge/configure.go index fad47eb56..5cb62ff4b 100644 --- a/modules/stonehenge/configure.go +++ b/modules/stonehenge/configure.go @@ -1,27 +1,625 @@ package stonehenge import ( + "fmt" + "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" + "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" + "sync" ) const ( - game_teaching = "game_teaching.json" - game_herostrategy = "game_herostrategy.json" + game_bufflottery = "game_bufflottery.json" + game_eventlottery = "game_eventlottery.json" + game_roomlottery = "game_roomlottery.json" ) ///背包配置管理组件 type configureComp struct { modules.MCompConfigure module *Stonehenge + hlock sync.RWMutex + // 房间随机 + _groupR map[int64][]int32 // key 小组ID value cid + // 类型为1 的数据 该大组中的小组为权重掉落,必定从N个小组中随机出1个小组 + _lotteryType1R map[int32][]int32 // key 大组ID value cid + // 类型为2 的数据 有多个小组ID + _lotteryType2R map[int32][]int32 // key 大组ID value 小组ID + // 小组类型为1 + _groupType1R map[int64][]int32 //value cid + // 小组类型为2 + _groupType2R map[int64][]int32 //value cid + BtypeR map[int32]int32 + StypeR map[int64]int32 // subtype + SNumR map[int64]int32 // 小组产出数量 + + // event 随机 + _groupE map[int64][]int32 // key 小组ID value cid + // 类型为1 的数据 该大组中的小组为权重掉落,必定从N个小组中随机出1个小组 + _lotteryType1E map[int32][]int32 // key 大组ID value cid + // 类型为2 的数据 有多个小组ID + _lotteryType2E map[int32][]int32 // key 大组ID value 小组ID + // 小组类型为1 + _groupType1E map[int64][]int32 //value cid + // 小组类型为2 + _groupType2E map[int64][]int32 //value cid + BtypeE map[int32]int32 + StypeE map[int64]int32 // subtype + SNumE map[int64]int32 // 小组产出数量 + + // buff 随机 + _group map[int64][]int32 // key 小组ID value cid + // 类型为1 的数据 该大组中的小组为权重掉落,必定从N个小组中随机出1个小组 + _lotteryType1 map[int32][]int32 // key 大组ID value cid + // 类型为2 的数据 有多个小组ID + _lotteryType2 map[int32][]int32 // key 大组ID value 小组ID + // 小组类型为1 + _groupType1 map[int64][]int32 //value cid + // 小组类型为2 + _groupType2 map[int64][]int32 //value cid + Btype map[int32]int32 + Stype map[int64]int32 // subtype + SNum map[int64]int32 // 小组产出数量 } //组件初始化接口 func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.MCompConfigure.Init(service, module, comp, options) this.module = module.(*Stonehenge) - this.LoadConfigure(game_teaching, cfg.NewGameTeaching) - this.LoadConfigure(game_herostrategy, cfg.NewGameHeroStrategy) + err = this.LoadConfigure(game_bufflottery, cfg.NewGameBufflottery) + configure.RegisterConfigure(game_bufflottery, cfg.NewGameBufflottery, this.LoadBUffGroupData) + + err = this.LoadConfigure(game_eventlottery, cfg.NewGameEventlottery) + configure.RegisterConfigure(game_eventlottery, cfg.NewGameEventlottery, this.LoadEventGroupData) + + err = this.LoadConfigure(game_roomlottery, cfg.NewGameRoomlottery) + configure.RegisterConfigure(game_roomlottery, cfg.NewGameRoomlottery, this.LoadRoomGroupData) + + //测试 接口 + _d := this.GetBuffGroupDataByLottery(100001) + _d = this.GetEventGroupDataByLottery(1001001) + _d = this.GetRoomGroupDataByLottery(100001) + + _d = this.GetBuffGroupDataByLottery(100002) + _d = this.GetRoomGroupDataByLottery(100002) + + fmt.Printf("%v", _d) + return +} + +func (this *configureComp) LoadEventGroupData() { + if v, err := this.GetConfigure(game_eventlottery); err == nil { + if configure, ok := v.(*cfg.GameEventlottery); ok { + this.hlock.Lock() + defer this.hlock.Unlock() + this._groupE = make(map[int64][]int32, 0) + this._lotteryType1E = make(map[int32][]int32, 0) + this._lotteryType2E = make(map[int32][]int32, 0) + this._groupType1E = make(map[int64][]int32, 0) + this._groupType2E = make(map[int64][]int32, 0) + this.BtypeE = make(map[int32]int32, 0) + this.StypeE = make(map[int64]int32, 0) + this.SNumE = make(map[int64]int32, 0) + for _, value := range configure.GetDataList() { + key := int64(value.GroupId)<<31 + int64(value.SubGroupId) + this._groupE[key] = append(this._groupE[key], value.Id) + + if _, ok := this.BtypeE[value.GroupId]; !ok { + this.BtypeE[value.GroupId] = value.GroupType + } + + if _, ok := this.StypeE[key]; !ok { + this.StypeE[key] = value.SubGroupType + } + if _, ok := this.SNumE[key]; !ok { + this.SNumE[key] = value.SubGroupNum + } + if this.BtypeE[value.GroupId] == 1 { + this._lotteryType1E[value.GroupId] = append(this._lotteryType1E[value.GroupId], value.Id) + } else if this.BtypeE[value.GroupId] == 2 { + this._lotteryType2E[value.GroupId] = append(this._lotteryType2E[value.GroupId], value.Id) + } + + if this.StypeE[key] == 1 { // 小组ID为1 + this._groupType1E[key] = append(this._groupType1E[key], value.Id) + } else if this.StypeE[key] == 2 { + this._groupType2E[key] = append(this._groupType2E[key], value.Id) + } + } + return + } + } else { + log.Errorf("get NewGameBufflottery conf err:%v", err) + } + return +} +func (this *configureComp) GetEventLotterConfById(id int32) (data *cfg.GameEventlotteryData) { + if v, err := this.GetConfigure(game_eventlottery); err == nil { + if configure, ok := v.(*cfg.GameEventlottery); ok { + return configure.Get(id) + } + } + return +} + +// 实际掉落逻辑 (传入 掉落组ID vip等级 玩家等级 返回获得的道具) +func (this *configureComp) GetEventGroupDataByLottery(lotteryId int32) (buff []int32) { + + if _, ok := this._lotteryType1E[lotteryId]; !ok { + if _, ok := this._lotteryType2E[lotteryId]; !ok { + fmt.Printf("not found config lotterId:%d", lotteryId) + return + } + } + // 优先校验大组ID 的类型 + if this.BtypeE[lotteryId] == 1 { // 该大组中的小组为权重掉落,必定从N个小组中随机出1个小组 + var ( + szW []int32 // 权重数组 + szID []int32 // 小组ID 数组 + groupID int32 + gourp map[int32]int32 // key 小组ID value 权重 + ) + + gourp = make(map[int32]int32, 0) + // 随机小组id + for _, v := range this._lotteryType1E[lotteryId] { + if _data := this.GetEventLotterConfById(v); _data != nil { + if _, ok := gourp[_data.SubGroupId]; !ok { + gourp[_data.SubGroupId] = _data.SubGroupWt // 小组ID 权重赋值 + szW = append(szW, _data.SubGroupWt) + szID = append(szID, _data.SubGroupId) + } + } + } + + groupID = szID[comm.GetRandW(szW)] // 获得小组ID + //fmt.Printf("大组类型为1的,获得小组ID :%d,dropID:%d", groupID, lotteryId) + key := int64(lotteryId)<<31 + int64(groupID) + // 小组ID 类型判断 + if this.StypeE[key] == 1 { // 该小组的道具为权重掉落,必定从N个道具中随机出1个道具 + for i := 0; i < int(this.SNumE[key]); i++ { + szW = make([]int32, 0) + szID = make([]int32, 0) + gourp = make(map[int32]int32, 0) + for _, v := range this._groupType1E[key] { + if _data := this.GetEventLotterConfById(v); _data != nil { // 权重赋值 + if _, ok := gourp[_data.SubGroupId]; !ok { + szW = append(szW, _data.EventWt) + szID = append(szID, _data.Id) + } + } + } + index := comm.GetRandW(szW) + _data := this.GetEventLotterConfById(szID[index]) + buff = append(buff, _data.EventID) + } + return + } else if this.StypeE[key] == 2 { // 该小组中的道具为概率掉落,每个道具都会随机一次是否会掉落(单位为千分比) + var wt int32 + for _, v := range this._groupType2E[key] { + if _data := this.GetEventLotterConfById(v); _data != nil { // 权重赋值 + if _data.EventWt != 0 { + wt = _data.EventWt + } + //fmt.Printf("大组类型1小组类型2获得道具 :%v, 该道具Cid:%d", _data.Itemid, v) + if wt >= comm.GetRandNum(0, 1000) { // 命中 + buff = append(buff, _data.EventID) + } + } + } + return + } + } else if this.BtypeE[lotteryId] == 2 { // 该大组中的小组为概率掉落,每个小组都会随机一次是否会掉落(单位为千分比) + // 每个小组id 都随机取一次 + var szGroupID []int32 // 获得的权重数组 + gourp := make([]*cfg.GameEventlotteryData, 0) // key 小组ID value 权重 + for _, v := range this._lotteryType2E[lotteryId] { + if _data := this.GetEventLotterConfById(v); _data != nil { + gourp = append(gourp, _data) + } + } + var wt int32 + // 类型为2 可能会同时获得多个组id + for _, v := range gourp { + if v.SubGroupWt != 0 { + wt = v.SubGroupWt + } + k := v.SubGroupId + //fmt.Printf("大组类型为2的,获得小组ID :%d,dropID:%d", k, v.Id) + if wt >= comm.GetRandNum(0, 1000) { // 命中 + szGroupID = append(szGroupID, k) + key := int64(lotteryId)<<31 + int64(k) + if this.StypeE[key] == 1 { // 随机一组数据 + for i := 0; i < int(this.SNumE[key]); i++ { + szW := make([]int32, 0) + szID := make([]int32, 0) + gourp := make(map[int32]int32, 0) + for _, v := range this._groupType1E[key] { + if _data := this.GetEventLotterConfById(v); _data != nil { // 权重赋值 + if _, ok := gourp[_data.SubGroupId]; !ok { + szW = append(szW, _data.EventWt) + szID = append(szID, _data.Id) + } + } + } + index := comm.GetRandW(szW) + _data := this.GetEventLotterConfById(szID[index]) + buff = append(buff, _data.EventID) + } + } else if this.StypeE[key] == 2 { + for _, v := range this._groupType2E[key] { + var wt int32 + if _data := this.GetEventLotterConfById(v); _data != nil { // 权重赋值 + if _data.EventWt != 0 { + wt = _data.EventWt + } + if wt >= comm.GetRandNum(1, 1000) { // 命中 + buff = append(buff, _data.EventID) + } + } + } + } + } + } + } + return +} + +func (this *configureComp) LoadRoomGroupData() { + if v, err := this.GetConfigure(game_roomlottery); err == nil { + if configure, ok := v.(*cfg.GameRoomlottery); ok { + this.hlock.Lock() + defer this.hlock.Unlock() + this._groupR = make(map[int64][]int32, 0) + this._lotteryType1R = make(map[int32][]int32, 0) + this._lotteryType2R = make(map[int32][]int32, 0) + this._groupType1R = make(map[int64][]int32, 0) + this._groupType2R = make(map[int64][]int32, 0) + this.BtypeR = make(map[int32]int32, 0) + this.StypeR = make(map[int64]int32, 0) + this.SNumR = make(map[int64]int32, 0) + for _, value := range configure.GetDataList() { + key := int64(value.GroupId)<<31 + int64(value.SubGroupId) + this._groupR[key] = append(this._groupR[key], value.Id) + + if _, ok := this.BtypeR[value.GroupId]; !ok { + this.BtypeR[value.GroupId] = value.GroupType + } + + if _, ok := this.StypeR[key]; !ok { + this.StypeR[key] = value.SubGroupType + } + if _, ok := this.SNumR[key]; !ok { + this.SNumR[key] = value.SubGroupNum + } + if this.BtypeR[value.GroupId] == 1 { + this._lotteryType1R[value.GroupId] = append(this._lotteryType1R[value.GroupId], value.Id) + } else if this.BtypeR[value.GroupId] == 2 { + this._lotteryType2R[value.GroupId] = append(this._lotteryType2R[value.GroupId], value.Id) + } + + if this.StypeR[key] == 1 { // 小组ID为1 + this._groupType1R[key] = append(this._groupType1R[key], value.Id) + } else if this.StypeR[key] == 2 { + this._groupType2R[key] = append(this._groupType2R[key], value.Id) + } + } + return + } + } else { + log.Errorf("get NewGameBufflottery conf err:%v", err) + } + return +} +func (this *configureComp) GetRoomLotterConfById(id int32) (data *cfg.GameRoomlotteryData) { + if v, err := this.GetConfigure(game_roomlottery); err == nil { + if configure, ok := v.(*cfg.GameRoomlottery); ok { + return configure.Get(id) + } + } + return +} + +// 实际掉落逻辑 (传入 掉落组ID vip等级 玩家等级 返回获得的道具) +func (this *configureComp) GetRoomGroupDataByLottery(lotteryId int32) (buff []int32) { + + if _, ok := this._lotteryType1R[lotteryId]; !ok { + if _, ok := this._lotteryType2R[lotteryId]; !ok { + fmt.Printf("not found config lotterId:%d", lotteryId) + return + } + } + // 优先校验大组ID 的类型 + if this.BtypeR[lotteryId] == 1 { // 该大组中的小组为权重掉落,必定从N个小组中随机出1个小组 + var ( + szW []int32 // 权重数组 + szID []int32 // 小组ID 数组 + groupID int32 + gourp map[int32]int32 // key 小组ID value 权重 + ) + + gourp = make(map[int32]int32, 0) + // 随机小组id + for _, v := range this._lotteryType1R[lotteryId] { + if _data := this.GetRoomLotterConfById(v); _data != nil { + if _, ok := gourp[_data.SubGroupId]; !ok { + gourp[_data.SubGroupId] = _data.SubGroupWt // 小组ID 权重赋值 + szW = append(szW, _data.SubGroupWt) + szID = append(szID, _data.SubGroupId) + } + } + } + + groupID = szID[comm.GetRandW(szW)] // 获得小组ID + //fmt.Printf("大组类型为1的,获得小组ID :%d,dropID:%d", groupID, lotteryId) + key := int64(lotteryId)<<31 + int64(groupID) + // 小组ID 类型判断 + if this.StypeR[key] == 1 { // 该小组的道具为权重掉落,必定从N个道具中随机出1个道具 + for i := 0; i < int(this.SNumR[key]); i++ { + szW = make([]int32, 0) + szID = make([]int32, 0) + gourp = make(map[int32]int32, 0) + for _, v := range this._groupType1R[key] { + if _data := this.GetRoomLotterConfById(v); _data != nil { // 权重赋值 + if _, ok := gourp[_data.SubGroupId]; !ok { + szW = append(szW, _data.RoomWt) + szID = append(szID, _data.Id) + } + } + } + index := comm.GetRandW(szW) + _data := this.GetRoomLotterConfById(szID[index]) + buff = append(buff, _data.RoomID) + } + return + } else if this.StypeR[key] == 2 { // 该小组中的道具为概率掉落,每个道具都会随机一次是否会掉落(单位为千分比) + var wt int32 + for _, v := range this._groupType2R[key] { + if _data := this.GetRoomLotterConfById(v); _data != nil { // 权重赋值 + if _data.RoomWt != 0 { + wt = _data.RoomWt + } + //fmt.Printf("大组类型1小组类型2获得道具 :%v, 该道具Cid:%d", _data.Itemid, v) + if wt >= comm.GetRandNum(0, 1000) { // 命中 + buff = append(buff, _data.RoomID) + } + } + } + return + } + } else if this.BtypeR[lotteryId] == 2 { // 该大组中的小组为概率掉落,每个小组都会随机一次是否会掉落(单位为千分比) + // 每个小组id 都随机取一次 + var szGroupID []int32 // 获得的权重数组 + gourp := make([]*cfg.GameRoomlotteryData, 0) // key 小组ID value 权重 + for _, v := range this._lotteryType2R[lotteryId] { + if _data := this.GetRoomLotterConfById(v); _data != nil { + gourp = append(gourp, _data) + } + } + var wt int32 + // 类型为2 可能会同时获得多个组id + for _, v := range gourp { + if v.SubGroupWt != 0 { + wt = v.SubGroupWt + } + k := v.SubGroupId + //fmt.Printf("大组类型为2的,获得小组ID :%d,dropID:%d", k, v.Id) + if wt >= comm.GetRandNum(0, 1000) { // 命中 + szGroupID = append(szGroupID, k) + key := int64(lotteryId)<<31 + int64(k) + if this.StypeR[key] == 1 { // 随机一组数据 + for i := 0; i < int(this.SNumR[key]); i++ { + szW := make([]int32, 0) + szID := make([]int32, 0) + gourp := make(map[int32]int32, 0) + for _, v := range this._groupType1R[key] { + if _data := this.GetRoomLotterConfById(v); _data != nil { // 权重赋值 + if _, ok := gourp[_data.SubGroupId]; !ok { + szW = append(szW, _data.RoomWt) + szID = append(szID, _data.Id) + } + } + } + index := comm.GetRandW(szW) + _data := this.GetRoomLotterConfById(szID[index]) + buff = append(buff, _data.RoomID) + } + } else if this.StypeR[key] == 2 { + for _, v := range this._groupType2R[key] { + var wt int32 + if _data := this.GetRoomLotterConfById(v); _data != nil { // 权重赋值 + if _data.RoomWt != 0 { + wt = _data.RoomWt + } + if wt >= comm.GetRandNum(1, 1000) { // 命中 + buff = append(buff, _data.RoomID) + } + } + } + } + } + } + } + return +} + +func (this *configureComp) LoadBUffGroupData() { + if v, err := this.GetConfigure(game_bufflottery); err == nil { + if configure, ok := v.(*cfg.GameBufflottery); ok { + this.hlock.Lock() + defer this.hlock.Unlock() + this._group = make(map[int64][]int32, 0) + this._lotteryType1 = make(map[int32][]int32, 0) + this._lotteryType2 = make(map[int32][]int32, 0) + this._groupType1 = make(map[int64][]int32, 0) + this._groupType2 = make(map[int64][]int32, 0) + this.Btype = make(map[int32]int32, 0) + this.Stype = make(map[int64]int32, 0) + this.SNum = make(map[int64]int32, 0) + for _, value := range configure.GetDataList() { + key := int64(value.GroupId)<<31 + int64(value.SubGroupId) + this._group[key] = append(this._group[key], value.Id) + + if _, ok := this.Btype[value.GroupId]; !ok { + this.Btype[value.GroupId] = value.GroupType + } + + if _, ok := this.Stype[key]; !ok { + this.Stype[key] = value.SubGroupType + } + if _, ok := this.SNum[key]; !ok { + this.SNum[key] = value.SubGroupNum + } + if this.Btype[value.GroupId] == 1 { + this._lotteryType1[value.GroupId] = append(this._lotteryType1[value.GroupId], value.Id) + } else if this.Btype[value.GroupId] == 2 { + this._lotteryType2[value.GroupId] = append(this._lotteryType2[value.GroupId], value.Id) + } + + if this.Stype[key] == 1 { // 小组ID为1 + this._groupType1[key] = append(this._groupType1[key], value.Id) + } else if this.Stype[key] == 2 { + this._groupType2[key] = append(this._groupType2[key], value.Id) + } + } + return + } + } else { + log.Errorf("get NewGameBufflottery conf err:%v", err) + } + return +} +func (this *configureComp) GetLotterConfById(id int32) (data *cfg.GameBufflotteryData) { + if v, err := this.GetConfigure(game_bufflottery); err == nil { + if configure, ok := v.(*cfg.GameBufflottery); ok { + return configure.Get(id) + } + } + return +} + +// 实际掉落逻辑 (传入 掉落组ID vip等级 玩家等级 返回获得的道具) +func (this *configureComp) GetBuffGroupDataByLottery(lotteryId int32) (buff []int32) { + + if _, ok := this._lotteryType1[lotteryId]; !ok { + if _, ok := this._lotteryType2[lotteryId]; !ok { + fmt.Printf("not found config lotterId:%d", lotteryId) + return + } + } + // 优先校验大组ID 的类型 + if this.Btype[lotteryId] == 1 { // 该大组中的小组为权重掉落,必定从N个小组中随机出1个小组 + var ( + szW []int32 // 权重数组 + szID []int32 // 小组ID 数组 + groupID int32 + gourp map[int32]int32 // key 小组ID value 权重 + ) + + gourp = make(map[int32]int32, 0) + // 随机小组id + for _, v := range this._lotteryType1[lotteryId] { + if _data := this.GetLotterConfById(v); _data != nil { + if _, ok := gourp[_data.SubGroupId]; !ok { + gourp[_data.SubGroupId] = _data.SubGroupWt // 小组ID 权重赋值 + szW = append(szW, _data.SubGroupWt) + szID = append(szID, _data.SubGroupId) + } + } + } + + groupID = szID[comm.GetRandW(szW)] // 获得小组ID + //fmt.Printf("大组类型为1的,获得小组ID :%d,dropID:%d", groupID, lotteryId) + key := int64(lotteryId)<<31 + int64(groupID) + // 小组ID 类型判断 + if this.Stype[key] == 1 { // 该小组的道具为权重掉落,必定从N个道具中随机出1个道具 + for i := 0; i < int(this.SNum[key]); i++ { + szW = make([]int32, 0) + szID = make([]int32, 0) + gourp = make(map[int32]int32, 0) + for _, v := range this._groupType1[key] { + if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值 + if _, ok := gourp[_data.SubGroupId]; !ok { + szW = append(szW, _data.BuffWt) + szID = append(szID, _data.Id) + } + } + } + index := comm.GetRandW(szW) + _data := this.GetLotterConfById(szID[index]) + buff = append(buff, _data.BuffID) + } + return + } else if this.Stype[key] == 2 { // 该小组中的道具为概率掉落,每个道具都会随机一次是否会掉落(单位为千分比) + var wt int32 + for _, v := range this._groupType2[key] { + if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值 + if _data.BuffWt != 0 { + wt = _data.BuffWt + } + //fmt.Printf("大组类型1小组类型2获得道具 :%v, 该道具Cid:%d", _data.Itemid, v) + if wt >= comm.GetRandNum(0, 1000) { // 命中 + buff = append(buff, _data.BuffID) + } + } + } + return + } + } else if this.Btype[lotteryId] == 2 { // 该大组中的小组为概率掉落,每个小组都会随机一次是否会掉落(单位为千分比) + // 每个小组id 都随机取一次 + var szGroupID []int32 // 获得的权重数组 + gourp := make([]*cfg.GameBufflotteryData, 0) // key 小组ID value 权重 + for _, v := range this._lotteryType2[lotteryId] { + if _data := this.GetLotterConfById(v); _data != nil { + gourp = append(gourp, _data) + } + } + var wt int32 + // 类型为2 可能会同时获得多个组id + for _, v := range gourp { + if v.SubGroupWt != 0 { + wt = v.SubGroupWt + } + k := v.SubGroupId + //fmt.Printf("大组类型为2的,获得小组ID :%d,dropID:%d", k, v.Id) + if wt >= comm.GetRandNum(0, 1000) { // 命中 + szGroupID = append(szGroupID, k) + key := int64(lotteryId)<<31 + int64(k) + if this.Stype[key] == 1 { // 随机一组数据 + for i := 0; i < int(this.SNum[key]); i++ { + szW := make([]int32, 0) + szID := make([]int32, 0) + gourp := make(map[int32]int32, 0) + for _, v := range this._groupType1[key] { + if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值 + if _, ok := gourp[_data.SubGroupId]; !ok { + szW = append(szW, _data.BuffWt) + szID = append(szID, _data.Id) + } + } + } + index := comm.GetRandW(szW) + _data := this.GetLotterConfById(szID[index]) + buff = append(buff, _data.BuffID) + } + } else if this.Stype[key] == 2 { + for _, v := range this._groupType2[key] { + var wt int32 + if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值 + if _data.BuffWt != 0 { + wt = _data.BuffWt + } + if wt >= comm.GetRandNum(1, 1000) { // 命中 + buff = append(buff, _data.BuffID) + } + } + } + } + } + } + } return } diff --git a/modules/tools/comp_configure.go b/modules/tools/comp_configure.go index b1c8fc092..0b04731c6 100644 --- a/modules/tools/comp_configure.go +++ b/modules/tools/comp_configure.go @@ -86,6 +86,9 @@ func (this *MCompConfigure) Init(service core.IService, module core.IModule, com this.Stype = make(map[int64]int32, 0) this.SNum = make(map[int64]int32, 0) configure.RegisterConfigure(game_lottery, cfg.NewGameLottery, this.LoadGroupData) + + _d := this.GetGroupDataByLottery(100101, 1, 1) + fmt.Printf("%v", _d) return } @@ -212,10 +215,13 @@ func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32, } return } else if this.Stype[key] == 2 { // 该小组中的道具为概率掉落,每个道具都会随机一次是否会掉落(单位为千分比) + var wt int32 for _, v := range this._groupType2[key] { if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值 - //fmt.Printf("大组类型1小组类型2获得道具 :%v, 该道具Cid:%d", _data.Itemid, v) - if _data.Itemwt >= comm.GetRandNum(0, 1000) { // 命中 + if _data.Itemwt != 0 { + wt = _data.Itemwt + } + if wt >= comm.GetRandNum(0, 1000) { // 命中 count := comm.GetRandNum(_data.Min, _data.Max) items = append(items, &cfg.Gameatn{ A: _data.Itemid.A, @@ -238,12 +244,16 @@ func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32, } } } - + // 过滤 group + var wt int32 // 类型为2 可能会同时获得多个组id for _, v := range gourp { k := v.Groupid + if v.Groupwt != 0 { + wt = v.Groupwt + } //fmt.Printf("大组类型为2的,获得小组ID :%d,dropID:%d", k, v.Id) - if v.Itemwt >= comm.GetRandNum(0, 1000) { // 命中 + if wt >= comm.GetRandNum(0, 1000) { // 命中 szGroupID = append(szGroupID, k) key := int64(lotteryId)<<31 + int64(k) if this.Stype[key] == 1 { // 随机一组数据 @@ -271,10 +281,13 @@ func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32, }) } } else if this.Stype[key] == 2 { + var wt int32 for _, v := range this._groupType2[key] { if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值 - //fmt.Printf("大组类型2小组类型2获得道具 :%v,该道具Cid:%d", _data.Itemid, v) - if _data.Itemwt >= comm.GetRandNum(1, 1000) { // 命中 + if _data.Itemwt != 0 { + wt = _data.Itemwt + } + if wt >= comm.GetRandNum(1, 1000) { // 命中 count := comm.GetRandNum(_data.Min, _data.Max) items = append(items, &cfg.Gameatn{ A: _data.Itemid.A, diff --git a/modules/user/comp_configure.go b/modules/user/comp_configure.go index a537d01ab..27f92a973 100644 --- a/modules/user/comp_configure.go +++ b/modules/user/comp_configure.go @@ -192,3 +192,5 @@ func (this *configureComp) GetPlayerOverview(id string, sex int32) (configure *c } return } + +/////////////////// diff --git a/pb/stonehenge_msg.pb.go b/pb/stonehenge_msg.pb.go index fdbd43c0e..642f95beb 100644 --- a/pb/stonehenge_msg.pb.go +++ b/pb/stonehenge_msg.pb.go @@ -114,17 +114,18 @@ func (x *StonehengeGetListResp) GetBoosid() []int32 { return nil } -// 选择英雄 -type StonehengeSelectHeroReq struct { +// 进入关卡 +type StonehengeEnterLevelReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Hid []string `protobuf:"bytes,1,rep,name=hid,proto3" json:"hid"` // 英雄唯一id + Hid []string `protobuf:"bytes,1,rep,name=hid,proto3" json:"hid"` // 英雄唯一id + BuffType int32 `protobuf:"varint,2,opt,name=buffType,proto3" json:"buffType"` } -func (x *StonehengeSelectHeroReq) Reset() { - *x = StonehengeSelectHeroReq{} +func (x *StonehengeEnterLevelReq) Reset() { + *x = StonehengeEnterLevelReq{} if protoimpl.UnsafeEnabled { mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -132,13 +133,13 @@ func (x *StonehengeSelectHeroReq) Reset() { } } -func (x *StonehengeSelectHeroReq) String() string { +func (x *StonehengeEnterLevelReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StonehengeSelectHeroReq) ProtoMessage() {} +func (*StonehengeEnterLevelReq) ProtoMessage() {} -func (x *StonehengeSelectHeroReq) ProtoReflect() protoreflect.Message { +func (x *StonehengeEnterLevelReq) ProtoReflect() protoreflect.Message { mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -150,28 +151,36 @@ func (x *StonehengeSelectHeroReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StonehengeSelectHeroReq.ProtoReflect.Descriptor instead. -func (*StonehengeSelectHeroReq) Descriptor() ([]byte, []int) { +// Deprecated: Use StonehengeEnterLevelReq.ProtoReflect.Descriptor instead. +func (*StonehengeEnterLevelReq) Descriptor() ([]byte, []int) { return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{2} } -func (x *StonehengeSelectHeroReq) GetHid() []string { +func (x *StonehengeEnterLevelReq) GetHid() []string { if x != nil { return x.Hid } return nil } -type StonehengeSelectHeroResp struct { +func (x *StonehengeEnterLevelReq) GetBuffType() int32 { + if x != nil { + return x.BuffType + } + return 0 +} + +type StonehengeEnterLevelResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Hero []*BattleRole `protobuf:"bytes,1,rep,name=hero,proto3" json:"hero"` + Room *RoomData `protobuf:"bytes,2,opt,name=room,proto3" json:"room"` } -func (x *StonehengeSelectHeroResp) Reset() { - *x = StonehengeSelectHeroResp{} +func (x *StonehengeEnterLevelResp) Reset() { + *x = StonehengeEnterLevelResp{} if protoimpl.UnsafeEnabled { mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -179,13 +188,13 @@ func (x *StonehengeSelectHeroResp) Reset() { } } -func (x *StonehengeSelectHeroResp) String() string { +func (x *StonehengeEnterLevelResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StonehengeSelectHeroResp) ProtoMessage() {} +func (*StonehengeEnterLevelResp) ProtoMessage() {} -func (x *StonehengeSelectHeroResp) ProtoReflect() protoreflect.Message { +func (x *StonehengeEnterLevelResp) ProtoReflect() protoreflect.Message { mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -197,114 +206,26 @@ func (x *StonehengeSelectHeroResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StonehengeSelectHeroResp.ProtoReflect.Descriptor instead. -func (*StonehengeSelectHeroResp) Descriptor() ([]byte, []int) { +// Deprecated: Use StonehengeEnterLevelResp.ProtoReflect.Descriptor instead. +func (*StonehengeEnterLevelResp) Descriptor() ([]byte, []int) { return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{3} } -func (x *StonehengeSelectHeroResp) GetHero() []*BattleRole { +func (x *StonehengeEnterLevelResp) GetHero() []*BattleRole { if x != nil { return x.Hero } return nil } -// 选择增加权重的buff -type StonehengeSelectBuffReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BuffType int32 `protobuf:"varint,1,opt,name=buffType,proto3" json:"buffType"` -} - -func (x *StonehengeSelectBuffReq) Reset() { - *x = StonehengeSelectBuffReq{} - if protoimpl.UnsafeEnabled { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StonehengeSelectBuffReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StonehengeSelectBuffReq) ProtoMessage() {} - -func (x *StonehengeSelectBuffReq) ProtoReflect() protoreflect.Message { - mi := &file_stonehenge_stonehenge_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 StonehengeSelectBuffReq.ProtoReflect.Descriptor instead. -func (*StonehengeSelectBuffReq) Descriptor() ([]byte, []int) { - return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{4} -} - -func (x *StonehengeSelectBuffReq) GetBuffType() int32 { +func (x *StonehengeEnterLevelResp) GetRoom() *RoomData { if x != nil { - return x.BuffType - } - return 0 -} - -type StonehengeSelectBuffResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Addweight map[int32]int32 `protobuf:"bytes,1,rep,name=addweight,proto3" json:"addweight" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 选择buff权重增加 key 类型 -} - -func (x *StonehengeSelectBuffResp) Reset() { - *x = StonehengeSelectBuffResp{} - if protoimpl.UnsafeEnabled { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StonehengeSelectBuffResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StonehengeSelectBuffResp) ProtoMessage() {} - -func (x *StonehengeSelectBuffResp) ProtoReflect() protoreflect.Message { - mi := &file_stonehenge_stonehenge_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 StonehengeSelectBuffResp.ProtoReflect.Descriptor instead. -func (*StonehengeSelectBuffResp) Descriptor() ([]byte, []int) { - return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{5} -} - -func (x *StonehengeSelectBuffResp) GetAddweight() map[int32]int32 { - if x != nil { - return x.Addweight + return x.Room } return nil } -// 进入关卡 +// 通关当前房间进入下一个房间 type StonehengeGotoRoomReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -316,7 +237,7 @@ type StonehengeGotoRoomReq struct { func (x *StonehengeGotoRoomReq) Reset() { *x = StonehengeGotoRoomReq{} if protoimpl.UnsafeEnabled { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[6] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -329,7 +250,7 @@ func (x *StonehengeGotoRoomReq) String() string { func (*StonehengeGotoRoomReq) ProtoMessage() {} func (x *StonehengeGotoRoomReq) ProtoReflect() protoreflect.Message { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[6] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -342,7 +263,7 @@ func (x *StonehengeGotoRoomReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StonehengeGotoRoomReq.ProtoReflect.Descriptor instead. func (*StonehengeGotoRoomReq) Descriptor() ([]byte, []int) { - return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{6} + return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{4} } func (x *StonehengeGotoRoomReq) GetPortal() int32 { @@ -363,7 +284,7 @@ type StonehengeGotoRoomResp struct { func (x *StonehengeGotoRoomResp) Reset() { *x = StonehengeGotoRoomResp{} if protoimpl.UnsafeEnabled { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[7] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -376,7 +297,7 @@ func (x *StonehengeGotoRoomResp) String() string { func (*StonehengeGotoRoomResp) ProtoMessage() {} func (x *StonehengeGotoRoomResp) ProtoReflect() protoreflect.Message { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[7] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -389,7 +310,7 @@ func (x *StonehengeGotoRoomResp) ProtoReflect() protoreflect.Message { // Deprecated: Use StonehengeGotoRoomResp.ProtoReflect.Descriptor instead. func (*StonehengeGotoRoomResp) Descriptor() ([]byte, []int) { - return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{7} + return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{5} } func (x *StonehengeGotoRoomResp) GetRoom() *RoomData { @@ -414,7 +335,7 @@ type StonehengeEventReq struct { func (x *StonehengeEventReq) Reset() { *x = StonehengeEventReq{} if protoimpl.UnsafeEnabled { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[8] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -427,7 +348,7 @@ func (x *StonehengeEventReq) String() string { func (*StonehengeEventReq) ProtoMessage() {} func (x *StonehengeEventReq) ProtoReflect() protoreflect.Message { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[8] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -440,7 +361,7 @@ func (x *StonehengeEventReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StonehengeEventReq.ProtoReflect.Descriptor instead. func (*StonehengeEventReq) Descriptor() ([]byte, []int) { - return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{8} + return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{6} } func (x *StonehengeEventReq) GetEventid() int32 { @@ -483,7 +404,7 @@ type StonehengeEventResp struct { func (x *StonehengeEventResp) Reset() { *x = StonehengeEventResp{} if protoimpl.UnsafeEnabled { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[9] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -496,7 +417,7 @@ func (x *StonehengeEventResp) String() string { func (*StonehengeEventResp) ProtoMessage() {} func (x *StonehengeEventResp) ProtoReflect() protoreflect.Message { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[9] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -509,7 +430,7 @@ func (x *StonehengeEventResp) ProtoReflect() protoreflect.Message { // Deprecated: Use StonehengeEventResp.ProtoReflect.Descriptor instead. func (*StonehengeEventResp) Descriptor() ([]byte, []int) { - return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{9} + return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{7} } func (x *StonehengeEventResp) GetEventid() int32 { @@ -536,7 +457,7 @@ type StonehengeGetRoomInfoReq struct { func (x *StonehengeGetRoomInfoReq) Reset() { *x = StonehengeGetRoomInfoReq{} if protoimpl.UnsafeEnabled { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[10] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -549,7 +470,7 @@ func (x *StonehengeGetRoomInfoReq) String() string { func (*StonehengeGetRoomInfoReq) ProtoMessage() {} func (x *StonehengeGetRoomInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[10] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -562,7 +483,7 @@ func (x *StonehengeGetRoomInfoReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StonehengeGetRoomInfoReq.ProtoReflect.Descriptor instead. func (*StonehengeGetRoomInfoReq) Descriptor() ([]byte, []int) { - return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{10} + return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{8} } type StonehengeGetRoomInfoResp struct { @@ -576,7 +497,7 @@ type StonehengeGetRoomInfoResp struct { func (x *StonehengeGetRoomInfoResp) Reset() { *x = StonehengeGetRoomInfoResp{} if protoimpl.UnsafeEnabled { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[11] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -589,7 +510,7 @@ func (x *StonehengeGetRoomInfoResp) String() string { func (*StonehengeGetRoomInfoResp) ProtoMessage() {} func (x *StonehengeGetRoomInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[11] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -602,7 +523,7 @@ func (x *StonehengeGetRoomInfoResp) ProtoReflect() protoreflect.Message { // Deprecated: Use StonehengeGetRoomInfoResp.ProtoReflect.Descriptor instead. func (*StonehengeGetRoomInfoResp) Descriptor() ([]byte, []int) { - return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{11} + return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{9} } func (x *StonehengeGetRoomInfoResp) GetRoom() *RoomData { @@ -622,7 +543,7 @@ type StonehengeFinishReq struct { func (x *StonehengeFinishReq) Reset() { *x = StonehengeFinishReq{} if protoimpl.UnsafeEnabled { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[12] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -635,7 +556,7 @@ func (x *StonehengeFinishReq) String() string { func (*StonehengeFinishReq) ProtoMessage() {} func (x *StonehengeFinishReq) ProtoReflect() protoreflect.Message { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[12] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -648,7 +569,7 @@ func (x *StonehengeFinishReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StonehengeFinishReq.ProtoReflect.Descriptor instead. func (*StonehengeFinishReq) Descriptor() ([]byte, []int) { - return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{12} + return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{10} } type StonehengeFinishResp struct { @@ -662,7 +583,7 @@ type StonehengeFinishResp struct { func (x *StonehengeFinishResp) Reset() { *x = StonehengeFinishResp{} if protoimpl.UnsafeEnabled { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[13] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -675,7 +596,7 @@ func (x *StonehengeFinishResp) String() string { func (*StonehengeFinishResp) ProtoMessage() {} func (x *StonehengeFinishResp) ProtoReflect() protoreflect.Message { - mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[13] + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -688,7 +609,7 @@ func (x *StonehengeFinishResp) ProtoReflect() protoreflect.Message { // Deprecated: Use StonehengeFinishResp.ProtoReflect.Descriptor instead. func (*StonehengeFinishResp) Descriptor() ([]byte, []int) { - return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{13} + return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{11} } func (x *StonehengeFinishResp) GetData() *DBStonehenge { @@ -713,58 +634,48 @@ var file_stonehenge_stonehenge_msg_proto_rawDesc = []byte{ 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x62, - 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x22, 0x2b, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, - 0x6e, 0x67, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x71, + 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x22, 0x47, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, + 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x68, - 0x69, 0x64, 0x22, 0x3b, 0x0a, 0x18, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, - 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, - 0x35, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, - 0x66, 0x66, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, - 0x66, 0x66, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x18, 0x53, 0x74, 0x6f, 0x6e, 0x65, - 0x68, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x75, 0x66, 0x66, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, - 0x6e, 0x67, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x73, - 0x70, 0x2e, 0x41, 0x64, 0x64, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x09, 0x61, 0x64, 0x64, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x3c, 0x0a, 0x0e, 0x41, - 0x64, 0x64, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2f, 0x0a, 0x15, 0x53, 0x74, 0x6f, - 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x47, 0x6f, 0x74, 0x6f, 0x52, 0x6f, 0x6f, 0x6d, 0x52, - 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x22, 0x37, 0x0a, 0x16, 0x53, 0x74, + 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5a, + 0x0a, 0x18, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x65, + 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x68, 0x65, + 0x72, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x1d, 0x0a, 0x04, 0x72, + 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x2f, 0x0a, 0x15, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x47, 0x6f, 0x74, 0x6f, 0x52, 0x6f, 0x6f, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x72, - 0x6f, 0x6f, 0x6d, 0x22, 0x76, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22, 0x4b, 0x0a, 0x13, 0x53, - 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x6e, 0x65, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6e, 0x65, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x74, 0x6f, 0x6e, - 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x71, 0x22, 0x3a, 0x0a, 0x19, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, - 0x67, 0x65, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x09, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, - 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, - 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x39, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x6e, 0x65, - 0x68, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x44, 0x42, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x22, 0x37, 0x0a, 0x16, 0x53, + 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x47, 0x6f, 0x74, 0x6f, 0x52, 0x6f, 0x6f, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, + 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x76, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, + 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22, 0x4b, 0x0a, 0x13, + 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x6e, 0x65, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6e, 0x65, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x74, 0x6f, + 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x3a, 0x0a, 0x19, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, + 0x6e, 0x67, 0x65, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x09, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x39, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x6e, + 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -779,34 +690,31 @@ func file_stonehenge_stonehenge_msg_proto_rawDescGZIP() []byte { return file_stonehenge_stonehenge_msg_proto_rawDescData } -var file_stonehenge_stonehenge_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_stonehenge_stonehenge_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_stonehenge_stonehenge_msg_proto_goTypes = []interface{}{ (*StonehengeGetListReq)(nil), // 0: StonehengeGetListReq (*StonehengeGetListResp)(nil), // 1: StonehengeGetListResp - (*StonehengeSelectHeroReq)(nil), // 2: StonehengeSelectHeroReq - (*StonehengeSelectHeroResp)(nil), // 3: StonehengeSelectHeroResp - (*StonehengeSelectBuffReq)(nil), // 4: StonehengeSelectBuffReq - (*StonehengeSelectBuffResp)(nil), // 5: StonehengeSelectBuffResp - (*StonehengeGotoRoomReq)(nil), // 6: StonehengeGotoRoomReq - (*StonehengeGotoRoomResp)(nil), // 7: StonehengeGotoRoomResp - (*StonehengeEventReq)(nil), // 8: StonehengeEventReq - (*StonehengeEventResp)(nil), // 9: StonehengeEventResp - (*StonehengeGetRoomInfoReq)(nil), // 10: StonehengeGetRoomInfoReq - (*StonehengeGetRoomInfoResp)(nil), // 11: StonehengeGetRoomInfoResp - (*StonehengeFinishReq)(nil), // 12: StonehengeFinishReq - (*StonehengeFinishResp)(nil), // 13: StonehengeFinishResp - nil, // 14: StonehengeSelectBuffResp.AddweightEntry - (*DBStonehenge)(nil), // 15: DBStonehenge - (*BattleRole)(nil), // 16: BattleRole - (*RoomData)(nil), // 17: RoomData + (*StonehengeEnterLevelReq)(nil), // 2: StonehengeEnterLevelReq + (*StonehengeEnterLevelResp)(nil), // 3: StonehengeEnterLevelResp + (*StonehengeGotoRoomReq)(nil), // 4: StonehengeGotoRoomReq + (*StonehengeGotoRoomResp)(nil), // 5: StonehengeGotoRoomResp + (*StonehengeEventReq)(nil), // 6: StonehengeEventReq + (*StonehengeEventResp)(nil), // 7: StonehengeEventResp + (*StonehengeGetRoomInfoReq)(nil), // 8: StonehengeGetRoomInfoReq + (*StonehengeGetRoomInfoResp)(nil), // 9: StonehengeGetRoomInfoResp + (*StonehengeFinishReq)(nil), // 10: StonehengeFinishReq + (*StonehengeFinishResp)(nil), // 11: StonehengeFinishResp + (*DBStonehenge)(nil), // 12: DBStonehenge + (*BattleRole)(nil), // 13: BattleRole + (*RoomData)(nil), // 14: RoomData } var file_stonehenge_stonehenge_msg_proto_depIdxs = []int32{ - 15, // 0: StonehengeGetListResp.data:type_name -> DBStonehenge - 16, // 1: StonehengeSelectHeroResp.hero:type_name -> BattleRole - 14, // 2: StonehengeSelectBuffResp.addweight:type_name -> StonehengeSelectBuffResp.AddweightEntry - 17, // 3: StonehengeGotoRoomResp.room:type_name -> RoomData - 17, // 4: StonehengeGetRoomInfoResp.room:type_name -> RoomData - 15, // 5: StonehengeFinishResp.data:type_name -> DBStonehenge + 12, // 0: StonehengeGetListResp.data:type_name -> DBStonehenge + 13, // 1: StonehengeEnterLevelResp.hero:type_name -> BattleRole + 14, // 2: StonehengeEnterLevelResp.room:type_name -> RoomData + 14, // 3: StonehengeGotoRoomResp.room:type_name -> RoomData + 14, // 4: StonehengeGetRoomInfoResp.room:type_name -> RoomData + 12, // 5: StonehengeFinishResp.data:type_name -> DBStonehenge 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name @@ -847,7 +755,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { } } file_stonehenge_stonehenge_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StonehengeSelectHeroReq); i { + switch v := v.(*StonehengeEnterLevelReq); i { case 0: return &v.state case 1: @@ -859,7 +767,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { } } file_stonehenge_stonehenge_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StonehengeSelectHeroResp); i { + switch v := v.(*StonehengeEnterLevelResp); i { case 0: return &v.state case 1: @@ -871,30 +779,6 @@ func file_stonehenge_stonehenge_msg_proto_init() { } } file_stonehenge_stonehenge_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StonehengeSelectBuffReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stonehenge_stonehenge_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StonehengeSelectBuffResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stonehenge_stonehenge_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StonehengeGotoRoomReq); i { case 0: return &v.state @@ -906,7 +790,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { return nil } } - file_stonehenge_stonehenge_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_stonehenge_stonehenge_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StonehengeGotoRoomResp); i { case 0: return &v.state @@ -918,7 +802,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { return nil } } - file_stonehenge_stonehenge_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_stonehenge_stonehenge_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StonehengeEventReq); i { case 0: return &v.state @@ -930,7 +814,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { return nil } } - file_stonehenge_stonehenge_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_stonehenge_stonehenge_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StonehengeEventResp); i { case 0: return &v.state @@ -942,7 +826,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { return nil } } - file_stonehenge_stonehenge_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_stonehenge_stonehenge_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StonehengeGetRoomInfoReq); i { case 0: return &v.state @@ -954,7 +838,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { return nil } } - file_stonehenge_stonehenge_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_stonehenge_stonehenge_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StonehengeGetRoomInfoResp); i { case 0: return &v.state @@ -966,7 +850,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { return nil } } - file_stonehenge_stonehenge_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_stonehenge_stonehenge_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StonehengeFinishReq); i { case 0: return &v.state @@ -978,7 +862,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { return nil } } - file_stonehenge_stonehenge_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_stonehenge_stonehenge_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StonehengeFinishResp); i { case 0: return &v.state @@ -997,7 +881,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_stonehenge_stonehenge_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 15, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, diff --git a/services/worker/main.go b/services/worker/main.go index 0a177aeb6..44c5184d1 100644 --- a/services/worker/main.go +++ b/services/worker/main.go @@ -44,6 +44,7 @@ import ( "go_dreamfactory/modules/shop" "go_dreamfactory/modules/smithy" "go_dreamfactory/modules/sociaty" + "go_dreamfactory/modules/stonehenge" "go_dreamfactory/modules/sys" "go_dreamfactory/modules/task" "go_dreamfactory/modules/tools" @@ -135,6 +136,7 @@ func main() { warorder.NewModule(), uniongve.NewModule(), // dailytask.NewModule(), + stonehenge.NewModule(), ) } diff --git a/sys/configure/structs/Game.AskLibraryData.go b/sys/configure/structs/Game.AskLibraryData.go index 2a125fa2e..a5218cdd3 100644 --- a/sys/configure/structs/Game.AskLibraryData.go +++ b/sys/configure/structs/Game.AskLibraryData.go @@ -19,6 +19,7 @@ type GameAskLibraryData struct { PlanB string PlanC string PlanD string + Weight int32 Pic string True string Flase string @@ -41,6 +42,7 @@ func (_v *GameAskLibraryData)Deserialize(_buf map[string]interface{}) (err error {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["planB"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PlanB error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PlanB, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["planC"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PlanC error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PlanC, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["planD"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PlanD error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PlanD, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weight"].(float64); !_ok_ { err = errors.New("weight error"); return }; _v.Weight = int32(_tempNum_) } { var _ok_ bool; if _v.Pic, _ok_ = _buf["pic"].(string); !_ok_ { err = errors.New("pic error"); return } } { var _ok_ bool; if _v.True, _ok_ = _buf["True"].(string); !_ok_ { err = errors.New("True error"); return } } { var _ok_ bool; if _v.Flase, _ok_ = _buf["flase"].(string); !_ok_ { err = errors.New("flase error"); return } } diff --git a/sys/configure/structs/Game.GuildBossTask.go b/sys/configure/structs/Game.GuildBossTask.go new file mode 100644 index 000000000..d40d7ae99 --- /dev/null +++ b/sys/configure/structs/Game.GuildBossTask.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 GameGuildBossTask struct { + _dataMap map[int32]*GameGuildBossTaskData + _dataList []*GameGuildBossTaskData +} + +func NewGameGuildBossTask(_buf []map[string]interface{}) (*GameGuildBossTask, error) { + _dataList := make([]*GameGuildBossTaskData, 0, len(_buf)) + dataMap := make(map[int32]*GameGuildBossTaskData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameGuildBossTaskData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GameGuildBossTask{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameGuildBossTask) GetDataMap() map[int32]*GameGuildBossTaskData { + return table._dataMap +} + +func (table *GameGuildBossTask) GetDataList() []*GameGuildBossTaskData { + return table._dataList +} + +func (table *GameGuildBossTask) Get(key int32) *GameGuildBossTaskData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.GuildBossTaskData.go b/sys/configure/structs/Game.GuildBossTaskData.go new file mode 100644 index 000000000..3110f6990 --- /dev/null +++ b/sys/configure/structs/Game.GuildBossTaskData.go @@ -0,0 +1,54 @@ +//------------------------------------------------------------------------------ +// +// 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 GameGuildBossTaskData struct { + Id int32 + Score int32 + Reward []*Gameatn + TaskDescribe string +} + +const TypeId_GameGuildBossTaskData = -1074074125 + +func (*GameGuildBossTaskData) GetTypeId() int32 { + return -1074074125 +} + +func (_v *GameGuildBossTaskData)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["score"].(float64); !_ok_ { err = errors.New("score error"); return }; _v.Score = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return } + + _v.Reward = make([]*Gameatn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Gameatn + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } + _v.Reward = append(_v.Reward, _list_v_) + } + } + + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["task_describe"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskDescribe error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskDescribe, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + return +} + +func DeserializeGameGuildBossTaskData(_buf map[string]interface{}) (*GameGuildBossTaskData, error) { + v := &GameGuildBossTaskData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.RobotDataData.go b/sys/configure/structs/Game.RobotDataData.go new file mode 100644 index 000000000..f50d04d75 --- /dev/null +++ b/sys/configure/structs/Game.RobotDataData.go @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// 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 GameRobotDataData struct { + Robotid int32 + Icon string + Lvshow int32 + Name string + Sex int32 + Showid string +} + +const TypeId_GameRobotDataData = 1848956418 + +func (*GameRobotDataData) GetTypeId() int32 { + return 1848956418 +} + +func (_v *GameRobotDataData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["robotid"].(float64); !_ok_ { err = errors.New("robotid error"); return }; _v.Robotid = int32(_tempNum_) } + { var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lvshow"].(float64); !_ok_ { err = errors.New("lvshow error"); return }; _v.Lvshow = int32(_tempNum_) } + { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sex"].(float64); !_ok_ { err = errors.New("sex error"); return }; _v.Sex = int32(_tempNum_) } + { var _ok_ bool; if _v.Showid, _ok_ = _buf["showid"].(string); !_ok_ { err = errors.New("showid error"); return } } + return +} + +func DeserializeGameRobotDataData(_buf map[string]interface{}) (*GameRobotDataData, error) { + v := &GameRobotDataData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.StroneBuff.go b/sys/configure/structs/Game.StroneBuff.go new file mode 100644 index 000000000..01af4bb77 --- /dev/null +++ b/sys/configure/structs/Game.StroneBuff.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 GameStroneBuff struct { + _dataMap map[int32]*GameStroneBuffData + _dataList []*GameStroneBuffData +} + +func NewGameStroneBuff(_buf []map[string]interface{}) (*GameStroneBuff, error) { + _dataList := make([]*GameStroneBuffData, 0, len(_buf)) + dataMap := make(map[int32]*GameStroneBuffData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameStroneBuffData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.BuffId] = _v + } + } + return &GameStroneBuff{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameStroneBuff) GetDataMap() map[int32]*GameStroneBuffData { + return table._dataMap +} + +func (table *GameStroneBuff) GetDataList() []*GameStroneBuffData { + return table._dataList +} + +func (table *GameStroneBuff) Get(key int32) *GameStroneBuffData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.StroneBuffData.go b/sys/configure/structs/Game.StroneBuffData.go new file mode 100644 index 000000000..b4c243478 --- /dev/null +++ b/sys/configure/structs/Game.StroneBuffData.go @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// 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 GameStroneBuffData struct { + BuffId int32 + BuffGroupId int32 + Type int32 + BuffLevel int32 + Quality int32 + BuffIcon string + BuffName string + BuffDescription string + BuffStory string + BuffUpgradeCost *Gameatn + BuffSell *Gameatn +} + +const TypeId_GameStroneBuffData = 1812104654 + +func (*GameStroneBuffData) GetTypeId() int32 { + return 1812104654 +} + +func (_v *GameStroneBuffData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffId"].(float64); !_ok_ { err = errors.New("BuffId error"); return }; _v.BuffId = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffGroupId"].(float64); !_ok_ { err = errors.New("BuffGroupId error"); return }; _v.BuffGroupId = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Type"].(float64); !_ok_ { err = errors.New("Type error"); return }; _v.Type = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffLevel"].(float64); !_ok_ { err = errors.New("BuffLevel error"); return }; _v.BuffLevel = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Quality"].(float64); !_ok_ { err = errors.New("Quality error"); return }; _v.Quality = int32(_tempNum_) } + { var _ok_ bool; if _v.BuffIcon, _ok_ = _buf["BuffIcon"].(string); !_ok_ { err = errors.New("BuffIcon error"); return } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["buffName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BuffName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BuffName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["BuffDescription"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BuffDescription error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BuffDescription, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["BuffStory"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BuffStory error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BuffStory, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["BuffUpgradeCost"].(map[string]interface{}); !_ok_ { err = errors.New("BuffUpgradeCost error"); return }; if _v.BuffUpgradeCost, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["BuffSell"].(map[string]interface{}); !_ok_ { err = errors.New("BuffSell error"); return }; if _v.BuffSell, err = DeserializeGameatn(_x_); err != nil { return } } + return +} + +func DeserializeGameStroneBuffData(_buf map[string]interface{}) (*GameStroneBuffData, error) { + v := &GameStroneBuffData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.StroneRoom.go b/sys/configure/structs/Game.StroneRoom.go new file mode 100644 index 000000000..11d383eb8 --- /dev/null +++ b/sys/configure/structs/Game.StroneRoom.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 GameStroneRoom struct { + _dataMap map[int32]*GameStroneRoomData + _dataList []*GameStroneRoomData +} + +func NewGameStroneRoom(_buf []map[string]interface{}) (*GameStroneRoom, error) { + _dataList := make([]*GameStroneRoomData, 0, len(_buf)) + dataMap := make(map[int32]*GameStroneRoomData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameStroneRoomData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.BuffId] = _v + } + } + return &GameStroneRoom{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameStroneRoom) GetDataMap() map[int32]*GameStroneRoomData { + return table._dataMap +} + +func (table *GameStroneRoom) GetDataList() []*GameStroneRoomData { + return table._dataList +} + +func (table *GameStroneRoom) Get(key int32) *GameStroneRoomData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.StroneRoomData.go b/sys/configure/structs/Game.StroneRoomData.go new file mode 100644 index 000000000..c071c49e0 --- /dev/null +++ b/sys/configure/structs/Game.StroneRoomData.go @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// 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 GameStroneRoomData struct { + BuffId int32 + BuffGroupId int32 + Type int32 + BuffLevel int32 + Quality int32 + BuffIcon string + BuffName string + BuffDescription string + BuffStory string + BuffUpgradeCost *Gameatn + BuffSell *Gameatn +} + +const TypeId_GameStroneRoomData = -1133628842 + +func (*GameStroneRoomData) GetTypeId() int32 { + return -1133628842 +} + +func (_v *GameStroneRoomData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffId"].(float64); !_ok_ { err = errors.New("BuffId error"); return }; _v.BuffId = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffGroupId"].(float64); !_ok_ { err = errors.New("BuffGroupId error"); return }; _v.BuffGroupId = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Type"].(float64); !_ok_ { err = errors.New("Type error"); return }; _v.Type = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffLevel"].(float64); !_ok_ { err = errors.New("BuffLevel error"); return }; _v.BuffLevel = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Quality"].(float64); !_ok_ { err = errors.New("Quality error"); return }; _v.Quality = int32(_tempNum_) } + { var _ok_ bool; if _v.BuffIcon, _ok_ = _buf["BuffIcon"].(string); !_ok_ { err = errors.New("BuffIcon error"); return } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["buffName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BuffName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BuffName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["BuffDescription"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BuffDescription error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BuffDescription, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["BuffStory"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BuffStory error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BuffStory, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["BuffUpgradeCost"].(map[string]interface{}); !_ok_ { err = errors.New("BuffUpgradeCost error"); return }; if _v.BuffUpgradeCost, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["BuffSell"].(map[string]interface{}); !_ok_ { err = errors.New("BuffSell error"); return }; if _v.BuffSell, err = DeserializeGameatn(_x_); err != nil { return } } + return +} + +func DeserializeGameStroneRoomData(_buf map[string]interface{}) (*GameStroneRoomData, error) { + v := &GameStroneRoomData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go index b6959eead..50385e436 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -203,6 +203,8 @@ type Tables struct { Roomlottery *GameRoomlottery Bufflottery *GameBufflottery Eventlottery *GameEventlottery + StroneBuff *GameStroneBuff + StroneRoom *GameStroneRoom } func NewTables(loader JsonLoader) (*Tables, error) { @@ -1362,5 +1364,17 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.Eventlottery, err = NewGameEventlottery(buf) ; err != nil { return nil, err } + if buf, err = loader("game_stronebuff") ; err != nil { + return nil, err + } + if tables.StroneBuff, err = NewGameStroneBuff(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_stroneroom") ; err != nil { + return nil, err + } + if tables.StroneRoom, err = NewGameStroneRoom(buf) ; err != nil { + return nil, err + } return tables, nil }