diff --git a/bin/json/game_extservers.json b/bin/json/game_extservers.json new file mode 100644 index 000000000..dd804adc8 --- /dev/null +++ b/bin/json/game_extservers.json @@ -0,0 +1,10 @@ +[ + { + "name": "本地测试服1", + "ips": "10.0.1.11:9999" + }, + { + "name": "本地测试服2", + "ips": "homm20.legu.cc:6352" + } +] \ No newline at end of file diff --git a/bin/json/game_hero.json b/bin/json/game_hero.json new file mode 100644 index 000000000..177d56de6 --- /dev/null +++ b/bin/json/game_hero.json @@ -0,0 +1,552 @@ +[ + { + "id": "11001", + "name": "阿宝", + "star": 4, + "color": 3, + "chengwei": 3, + "zhongzu": 1, + "job": 1, + "type": 1, + "prefab": "Person/11001.prefab", + "icon": "11001", + "sound": "121323", + "tujing": "[1]", + "hpgrow": "57.4", + "atkgrow": "7.2", + "defgrow": "5.6", + "speedgrow": "2", + "hp": "576", + "atk": "73", + "def": "57", + "speed": "174", + "intr": "", + "events": "EventDataSet/Hero_11001.asset", + "cite": "" + }, + { + "id": "11002", + "name": "原始人", + "star": 5, + "color": 4, + "chengwei": 3, + "zhongzu": 1, + "job": 1, + "type": 1, + "prefab": "Person/11002.prefab", + "icon": "11002", + "sound": "11002", + "tujing": "[1]", + "hpgrow": "82.9", + "atkgrow": "9.4", + "defgrow": "5.8", + "speedgrow": "2", + "hp": "830", + "atk": "95", + "def": "59", + "speed": "193", + "intr": "", + "events": "EventDataSet/Hero_11002.asset", + "cite": "" + }, + { + "id": "11003", + "name": "波比", + "star": 5, + "color": 4, + "chengwei": 3, + "zhongzu": 1, + "job": 1, + "type": 1, + "prefab": "Person/11003.prefab", + "icon": "11003", + "sound": "11003", + "tujing": "[1]", + "hpgrow": "82.9", + "atkgrow": "9.4", + "defgrow": "5.8", + "speedgrow": "2", + "hp": "830", + "atk": "95", + "def": "59", + "speed": "193", + "intr": "", + "events": "EventDataSet/Hero_11003.asset", + "cite": "" + }, + { + "id": "11004", + "name": "布兰", + "star": 5, + "color": 4, + "chengwei": 3, + "zhongzu": 1, + "job": 1, + "type": 1, + "prefab": "11004", + "icon": "11004", + "sound": "11004", + "tujing": "[1]", + "hpgrow": "82.9", + "atkgrow": "9.4", + "defgrow": "5.8", + "speedgrow": "2", + "hp": "830", + "atk": "95", + "def": "59", + "speed": "193", + "intr": "", + "events": "hero_2011", + "cite": "" + }, + { + "id": "11005", + "name": "无牙仔", + "star": 4, + "color": 3, + "chengwei": 3, + "zhongzu": 1, + "job": 1, + "type": 1, + "prefab": "Person/11001.prefab", + "icon": "11005", + "sound": "121323", + "tujing": "[1]", + "hpgrow": "57.4", + "atkgrow": "7.2", + "defgrow": "5.6", + "speedgrow": "2", + "hp": "576", + "atk": "73", + "def": "57", + "speed": "174", + "intr": "", + "events": "EventDataSet/Hero_11001.asset", + "cite": "" + }, + { + "id": "11006", + "name": "亚丝翠", + "star": 5, + "color": 4, + "chengwei": 3, + "zhongzu": 1, + "job": 1, + "type": 1, + "prefab": "11006", + "icon": "11006", + "sound": "11006", + "tujing": "[1]", + "hpgrow": "82.9", + "atkgrow": "9.4", + "defgrow": "5.8", + "speedgrow": "2", + "hp": "830", + "atk": "95", + "def": "59", + "speed": "193", + "intr": "", + "events": "hero_2011", + "cite": "" + }, + { + "id": "11009", + "name": "希卡普", + "star": 4, + "color": 3, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "11009", + "icon": "11009", + "sound": "11009", + "tujing": "[1]", + "hpgrow": "38.6", + "atkgrow": "10.5", + "defgrow": "5.7", + "speedgrow": "2", + "hp": "389", + "atk": "106", + "def": "58", + "speed": "165", + "intr": "", + "events": "EventDataSet/Hero_11009.asset", + "cite": "" + }, + { + "id": "22002", + "name": "沈王爷青春版", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "22002", + "icon": "22002", + "sound": "22002", + "tujing": "[1]", + "hpgrow": "55.6", + "atkgrow": "13.6", + "defgrow": "5.9", + "speedgrow": "2", + "hp": "561", + "atk": "137", + "def": "60", + "speed": "183", + "intr": "", + "events": "hero_2011", + "cite": "" + }, + { + "id": "90001", + "name": "邪恶阿宝", + "star": 4, + "color": 3, + "chengwei": 3, + "zhongzu": 1, + "job": 1, + "type": 1, + "prefab": "Person/90001.prefab", + "icon": "90001", + "sound": "90001", + "tujing": "[1]", + "hpgrow": "57.4", + "atkgrow": "7.2", + "defgrow": "5.6", + "speedgrow": "2", + "hp": "576", + "atk": "73", + "def": "57", + "speed": "174", + "intr": "", + "events": "hero_90001", + "cite": "11001" + }, + { + "id": "11011", + "name": "浣熊", + "star": 4, + "color": 3, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "11011", + "icon": "11011", + "sound": "11011", + "tujing": "[1]", + "hpgrow": "38.6", + "atkgrow": "10.5", + "defgrow": "5.7", + "speedgrow": "2", + "hp": "389", + "atk": "106", + "def": "58", + "speed": "165", + "intr": "", + "events": "EventDataSet/Hero_11011.asset", + "cite": "" + }, + { + "id": "11008", + "name": "悍娇虎", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "11008", + "icon": "11008", + "sound": "11008", + "tujing": "[1]", + "hpgrow": "55.6", + "atkgrow": "13.6", + "defgrow": "5.9", + "speedgrow": "2", + "hp": "561", + "atk": "137", + "def": "60", + "speed": "183", + "intr": "", + "events": "hero_2011", + "cite": "" + }, + { + "id": "11017", + "name": "冰霜杰克", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "11017", + "icon": "11017", + "sound": "11017", + "tujing": "[1]", + "hpgrow": "55.6", + "atkgrow": "13.6", + "defgrow": "5.9", + "speedgrow": "2", + "hp": "561", + "atk": "137", + "def": "60", + "speed": "183", + "intr": "", + "events": "EventDataSet/Hero_11017.asset", + "cite": "" + }, + { + "id": "11018", + "name": "睡神", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "11018", + "icon": "11018", + "sound": "11018", + "tujing": "[1]", + "hpgrow": "55.6", + "atkgrow": "13.6", + "defgrow": "5.9", + "speedgrow": "2", + "hp": "561", + "atk": "137", + "def": "60", + "speed": "183", + "intr": "", + "events": "EventDataSet/Hero_11018.asset", + "cite": "" + }, + { + "id": "11019", + "name": "莫甘娜", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "11019", + "icon": "11019", + "sound": "11019", + "tujing": "[1]", + "hpgrow": "55.6", + "atkgrow": "13.6", + "defgrow": "5.9", + "speedgrow": "2", + "hp": "561", + "atk": "137", + "def": "60", + "speed": "183", + "intr": "", + "events": "EventDataSet/Hero_11019.asset", + "cite": "" + }, + { + "id": "11020", + "name": "莫甘娜二阶段", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "11020", + "icon": "11020", + "sound": "11020", + "tujing": "[1]", + "hpgrow": "55.6", + "atkgrow": "13.6", + "defgrow": "5.9", + "speedgrow": "2", + "hp": "561", + "atk": "137", + "def": "60", + "speed": "183", + "intr": "", + "events": "EventDataSet/Hero_11020.asset", + "cite": "" + }, + { + "id": "11021", + "name": "莫甘娜巨怪", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "11021", + "icon": "11021", + "sound": "11021", + "tujing": "[1]", + "hpgrow": "55.6", + "atkgrow": "13.6", + "defgrow": "5.9", + "speedgrow": "2", + "hp": "561", + "atk": "137", + "def": "60", + "speed": "183", + "intr": "", + "events": "EventDataSet/Hero_11021.asset", + "cite": "" + }, + { + "id": "11099", + "name": "触手", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "11099", + "icon": "11099", + "sound": "11099", + "tujing": "[1]", + "hpgrow": "55.6", + "atkgrow": "13.6", + "defgrow": "5.9", + "speedgrow": "2", + "hp": "561", + "atk": "137", + "def": "60", + "speed": "183", + "intr": "", + "events": "EventDataSet/Hero_11099.asset", + "cite": "" + }, + { + "id": "12001", + "name": "黑化阿宝", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "Person/12001.prefab", + "icon": "12001", + "sound": "121323", + "tujing": "[1]", + "hpgrow": "57.4", + "atkgrow": "7.2", + "defgrow": "5.6", + "speedgrow": "2", + "hp": "576", + "atk": "73", + "def": "57", + "speed": "174", + "intr": "", + "events": "EventDataSet/Hero_12001.asset", + "cite": "" + }, + { + "id": "12003", + "name": "黑化包比", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "Person/11003.prefab", + "icon": "12003", + "sound": "12003", + "tujing": "[1]", + "hpgrow": "82.9", + "atkgrow": "9.4", + "defgrow": "5.8", + "speedgrow": "2", + "hp": "830", + "atk": "95", + "def": "59", + "speed": "193", + "intr": "", + "events": "EventDataSet/Hero_11003.asset", + "cite": "11003" + }, + { + "id": "12009", + "name": "黑化希卡普", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "12009", + "icon": "11009", + "sound": "11009", + "tujing": "[1]", + "hpgrow": "38.6", + "atkgrow": "10.5", + "defgrow": "5.7", + "speedgrow": "2", + "hp": "389", + "atk": "106", + "def": "58", + "speed": "165", + "intr": "", + "events": "EventDataSet/Hero_11009.asset", + "cite": "" + }, + { + "id": "12017", + "name": "黑化杰克", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "12017", + "icon": "12017", + "sound": "12017", + "tujing": "[1]", + "hpgrow": "55.6", + "atkgrow": "13.6", + "defgrow": "5.9", + "speedgrow": "2", + "hp": "561", + "atk": "137", + "def": "60", + "speed": "183", + "intr": "", + "events": "EventDataSet/Hero_11017.asset", + "cite": "" + }, + { + "id": "12018", + "name": "黑化睡神", + "star": 5, + "color": 4, + "chengwei": 4, + "zhongzu": 2, + "job": 2, + "type": 1, + "prefab": "12018", + "icon": "12018", + "sound": "12018", + "tujing": "[1]", + "hpgrow": "55.6", + "atkgrow": "13.6", + "defgrow": "5.9", + "speedgrow": "2", + "hp": "561", + "atk": "137", + "def": "60", + "speed": "183", + "intr": "", + "events": "EventDataSet/Hero_11018.asset", + "cite": "11018" + } +] \ No newline at end of file diff --git a/bin/json/game_item.json b/bin/json/game_item.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/bin/json/game_item.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/bin/json/game_language.json b/bin/json/game_language.json new file mode 100644 index 000000000..d82389253 --- /dev/null +++ b/bin/json/game_language.json @@ -0,0 +1,366 @@ +[ + { + "id": "ChineseSimplified", + "maps": [ + [ + "ChineseSimplified", + "简体中文" + ], + [ + "ChineseTraditional", + "簡體中文" + ] + ] + }, + { + "id": "ChineseTraditional", + "maps": [ + [ + "ChineseSimplified", + "繁体中文" + ], + [ + "ChineseTraditional", + "繁體中文" + ] + ] + }, + { + "id": "English", + "maps": [ + [ + "ChineseSimplified", + "英文" + ], + [ + "ChineseTraditional", + "英文" + ] + ] + }, + { + "id": "1", + "maps": [ + [ + "ChineseSimplified", + "一" + ], + [ + "ChineseTraditional", + "一" + ], + [ + "English", + "one" + ] + ] + }, + { + "id": "2", + "maps": [ + [ + "ChineseSimplified", + "二" + ], + [ + "ChineseTraditional", + "二" + ], + [ + "English", + "two" + ] + ] + }, + { + "id": "3", + "maps": [ + [ + "ChineseSimplified", + "三" + ], + [ + "ChineseTraditional", + "三" + ], + [ + "English", + "three" + ] + ] + }, + { + "id": "4", + "maps": [ + [ + "ChineseSimplified", + "四" + ], + [ + "ChineseTraditional", + "四" + ], + [ + "English", + "four" + ] + ] + }, + { + "id": "5", + "maps": [ + [ + "ChineseSimplified", + "五" + ], + [ + "ChineseTraditional", + "五" + ], + [ + "English", + "five" + ] + ] + }, + { + "id": "6", + "maps": [ + [ + "ChineseSimplified", + "六" + ], + [ + "ChineseTraditional", + "六" + ], + [ + "English", + "six" + ] + ] + }, + { + "id": "7", + "maps": [ + [ + "ChineseSimplified", + "七" + ], + [ + "ChineseTraditional", + "七" + ], + [ + "English", + "seven" + ] + ] + }, + { + "id": "8", + "maps": [ + [ + "ChineseSimplified", + "八" + ], + [ + "ChineseTraditional", + "八" + ], + [ + "English", + "eight" + ] + ] + }, + { + "id": "9", + "maps": [ + [ + "ChineseSimplified", + "九" + ], + [ + "ChineseTraditional", + "九" + ], + [ + "English", + "nine" + ] + ] + }, + { + "id": "10", + "maps": [ + [ + "ChineseSimplified", + "十" + ], + [ + "ChineseTraditional", + "十" + ], + [ + "English", + "ten" + ] + ] + }, + { + "id": "Login", + "maps": [ + [ + "ChineseSimplified", + "登录" + ], + [ + "ChineseTraditional", + "登錄" + ], + [ + "English", + "Login" + ] + ] + }, + { + "id": "MomentDay1", + "maps": [ + [ + "ChineseSimplified", + "{0}天前" + ], + [ + "ChineseTraditional", + "{0}天前" + ] + ] + }, + { + "id": "MomentDay2", + "maps": [ + [ + "ChineseSimplified", + "还有{0}天" + ], + [ + "ChineseTraditional", + "還有{0}天" + ] + ] + }, + { + "id": "MomentHour1", + "maps": [ + [ + "ChineseSimplified", + "{0}小时前" + ], + [ + "ChineseTraditional", + "{0}小時前" + ] + ] + }, + { + "id": "MomentHour2", + "maps": [ + [ + "ChineseSimplified", + "还有{0}小时" + ], + [ + "ChineseTraditional", + "還有{0}小時" + ] + ] + }, + { + "id": "MomentMinutes1", + "maps": [ + [ + "ChineseSimplified", + "{0}分钟前" + ], + [ + "ChineseTraditional", + "{0}分鐘前" + ] + ] + }, + { + "id": "MomentMinutes2", + "maps": [ + [ + "ChineseSimplified", + "还有{0}分钟" + ], + [ + "ChineseTraditional", + "還有{0}分鐘" + ] + ] + }, + { + "id": "MomentSeconds1", + "maps": [ + [ + "ChineseSimplified", + "刚刚" + ], + [ + "ChineseTraditional", + "剛剛" + ] + ] + }, + { + "id": "MomentSeconds2", + "maps": [ + [ + "ChineseSimplified", + "1分以内" + ], + [ + "ChineseTraditional", + "1分以內" + ] + ] + }, + { + "id": "Tuijian", + "maps": [ + [ + "ChineseSimplified", + "推荐" + ], + [ + "ChineseTraditional", + "推薦" + ], + [ + "English", + "Hot" + ] + ] + }, + { + "id": "Juese", + "maps": [ + [ + "ChineseSimplified", + "角色" + ], + [ + "ChineseTraditional", + "角色" + ], + [ + "English", + "Role" + ] + ] + } +] \ No newline at end of file diff --git a/bin/json/game_plot.json b/bin/json/game_plot.json new file mode 100644 index 000000000..0b821fca3 --- /dev/null +++ b/bin/json/game_plot.json @@ -0,0 +1,8 @@ +[ + { + "sameid": 1, + "skip": true, + "name": "Cutscene_Fight", + "describe": "一段垃圾的剧情,臭" + } +] \ No newline at end of file diff --git a/bin/json/game_skill.json b/bin/json/game_skill.json new file mode 100644 index 000000000..146902b7e --- /dev/null +++ b/bin/json/game_skill.json @@ -0,0 +1,482 @@ +[ + { + "sameid": 110001, + "heroid": 11001, + "lv": 0, + "type": 0, + "skilllv": 1, + "act": "Atk", + "skill": "[]", + "tubiao": "", + "name": "", + "describe": "" + }, + { + "sameid": 110002, + "heroid": 11001, + "lv": 1, + "type": 1, + "skilllv": 1, + "act": "Skill1", + "skill": "[]", + "tubiao": "110002_1", + "name": "伤心欲绝", + "describe": "对敌方后排随机3名敌人造成125%攻击伤害,并使自己暴击提升10%,持续2回合" + }, + { + "sameid": 110003, + "heroid": 11001, + "lv": 31, + "type": 2, + "skilllv": 1, + "act": "Skill2", + "skill": "[]", + "tubiao": "110003_2", + "name": "铁皮", + "describe": "铁皮人血量提升20%,攻击提升15%" + }, + { + "sameid": 110004, + "heroid": 11001, + "lv": 51, + "type": 3, + "skilllv": 1, + "act": "Skill3", + "skill": "[]", + "tubiao": "110004_3", + "name": "刃甲", + "describe": "受到伤害时有25%概率反击,造成50%攻击伤害" + }, + { + "sameid": 110005, + "heroid": 11001, + "lv": 81, + "type": 4, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110005_4", + "name": "生生不息", + "describe": "每次普攻回复自己生命24%攻击伤害" + }, + { + "sameid": 110031, + "heroid": 11003, + "lv": 0, + "type": 0, + "skilllv": 1, + "act": "Atk", + "skill": "[]", + "tubiao": "", + "name": "", + "describe": "" + }, + { + "sameid": 110032, + "heroid": 11003, + "lv": 1, + "type": 1, + "skilllv": 1, + "act": "Skill1", + "skill": "[]", + "tubiao": "110032_1", + "name": "伤心欲绝", + "describe": "对敌方后排随机3名敌人造成125%攻击伤害,并使自己暴击提升10%,持续2回合" + }, + { + "sameid": 110033, + "heroid": 11003, + "lv": 31, + "type": 2, + "skilllv": 1, + "act": "Skill2", + "skill": "[]", + "tubiao": "110033_2", + "name": "铁皮", + "describe": "铁皮人血量提升20%,攻击提升15%" + }, + { + "sameid": 110034, + "heroid": 11003, + "lv": 51, + "type": 3, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110034_3", + "name": "刃甲", + "describe": "受到伤害时有25%概率反击,造成50%攻击伤害" + }, + { + "sameid": 110035, + "heroid": 11003, + "lv": 81, + "type": 4, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110035_4", + "name": "生生不息", + "describe": "每次普攻回复自己生命24%攻击伤害" + }, + { + "sameid": 110041, + "heroid": 11004, + "lv": 0, + "type": 0, + "skilllv": 1, + "act": "Atk", + "skill": "[]", + "tubiao": "", + "name": "", + "describe": "" + }, + { + "sameid": 110042, + "heroid": 11004, + "lv": 1, + "type": 1, + "skilllv": 1, + "act": "Skill1", + "skill": "[]", + "tubiao": "110042_1", + "name": "伤心欲绝", + "describe": "对敌方后排随机3名敌人造成125%攻击伤害,并使自己暴击提升10%,持续2回合" + }, + { + "sameid": 110043, + "heroid": 11004, + "lv": 31, + "type": 2, + "skilllv": 1, + "act": "Skill2", + "skill": "[]", + "tubiao": "110043_2", + "name": "铁皮", + "describe": "铁皮人血量提升20%,攻击提升15%" + }, + { + "sameid": 110044, + "heroid": 11004, + "lv": 51, + "type": 3, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110044_3", + "name": "刃甲", + "describe": "受到伤害时有25%概率反击,造成50%攻击伤害" + }, + { + "sameid": 110045, + "heroid": 11004, + "lv": 81, + "type": 4, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110045_4", + "name": "生生不息", + "describe": "每次普攻回复自己生命24%攻击伤害" + }, + { + "sameid": 220001, + "heroid": 22001, + "lv": 0, + "type": 0, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "", + "name": "", + "describe": "" + }, + { + "sameid": 220002, + "heroid": 22001, + "lv": 1, + "type": 1, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "220002_1", + "name": "寒冬将至", + "describe": "白雪公主飘到敌方上空,甩动头发蓄力降下冰雪,对敌方全体造成57%攻击伤害并有15%概率使目标冰冻2回合" + }, + { + "sameid": 220003, + "heroid": 22001, + "lv": 31, + "type": 2, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "220003_2", + "name": "寒冰血脉", + "describe": "白雪公主天生自带寒冰之力,攻击增加25%,生命增加20%" + }, + { + "sameid": 220004, + "heroid": 22001, + "lv": 51, + "type": 3, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "220004_3", + "name": "美丽冻人", + "describe": "暴雪公主天生丽质,美丽冻人,普攻有15%概率使目标冰冻,持续1回合" + }, + { + "sameid": 220005, + "heroid": 22001, + "lv": 81, + "type": 4, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "220005_4", + "name": "风雪归途", + "describe": "白雪公主败退之时,体内寒冰血脉爆发,有11.1%概率使所有敌人冰冻,持续2回合" + }, + { + "sameid": 900001, + "heroid": 90001, + "lv": 0, + "type": 0, + "skilllv": 1, + "act": "Atk", + "skill": "[]", + "tubiao": "", + "name": "", + "describe": "" + }, + { + "sameid": 900002, + "heroid": 90001, + "lv": 1, + "type": 1, + "skilllv": 1, + "act": "Skill1", + "skill": "[]", + "tubiao": "900002_1", + "name": "伤心欲绝", + "describe": "对敌方后排随机3名敌人造成125%攻击伤害,并使自己暴击提升10%,持续2回合" + }, + { + "sameid": 900003, + "heroid": 90001, + "lv": 31, + "type": 2, + "skilllv": 1, + "act": "Skill2", + "skill": "[]", + "tubiao": "900003_2", + "name": "铁皮", + "describe": "铁皮人血量提升20%,攻击提升15%" + }, + { + "sameid": 900004, + "heroid": 90001, + "lv": 51, + "type": 3, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "900004_3", + "name": "刃甲", + "describe": "受到伤害时有25%概率反击,造成50%攻击伤害" + }, + { + "sameid": 900005, + "heroid": 90001, + "lv": 81, + "type": 4, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "900005_4", + "name": "生生不息", + "describe": "每次普攻回复自己生命24%攻击伤害" + }, + { + "sameid": 110081, + "heroid": 11008, + "lv": 0, + "type": 0, + "skilllv": 1, + "act": "Atk", + "skill": "[]", + "tubiao": "", + "name": "", + "describe": "" + }, + { + "sameid": 110082, + "heroid": 11008, + "lv": 1, + "type": 1, + "skilllv": 1, + "act": "Skill1", + "skill": "[]", + "tubiao": "110082_1", + "name": "伤心欲绝", + "describe": "对敌方后排随机3名敌人造成125%攻击伤害,并使自己暴击提升10%,持续2回合" + }, + { + "sameid": 110083, + "heroid": 11008, + "lv": 31, + "type": 2, + "skilllv": 1, + "act": "Skill2", + "skill": "[]", + "tubiao": "110083_2", + "name": "铁皮", + "describe": "铁皮人血量提升20%,攻击提升15%" + }, + { + "sameid": 110084, + "heroid": 11008, + "lv": 51, + "type": 3, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110084_3", + "name": "刃甲", + "describe": "受到伤害时有25%概率反击,造成50%攻击伤害" + }, + { + "sameid": 110085, + "heroid": 11008, + "lv": 81, + "type": 4, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110085_4", + "name": "生生不息", + "describe": "每次普攻回复自己生命24%攻击伤害" + }, + { + "sameid": 110171, + "heroid": 11017, + "lv": 0, + "type": 0, + "skilllv": 1, + "act": "Atk", + "skill": "[]", + "tubiao": "", + "name": "", + "describe": "" + }, + { + "sameid": 110172, + "heroid": 11017, + "lv": 1, + "type": 1, + "skilllv": 1, + "act": "Skill1", + "skill": "[]", + "tubiao": "110172_1", + "name": "伤心欲绝", + "describe": "对敌方后排随机3名敌人造成125%攻击伤害,并使自己暴击提升10%,持续2回合" + }, + { + "sameid": 110173, + "heroid": 11017, + "lv": 31, + "type": 2, + "skilllv": 1, + "act": "Skill2", + "skill": "[]", + "tubiao": "110173_2", + "name": "铁皮", + "describe": "铁皮人血量提升20%,攻击提升15%" + }, + { + "sameid": 110174, + "heroid": 11017, + "lv": 51, + "type": 3, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110174_3", + "name": "刃甲", + "describe": "受到伤害时有25%概率反击,造成50%攻击伤害" + }, + { + "sameid": 110175, + "heroid": 11017, + "lv": 81, + "type": 4, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110175_4", + "name": "生生不息", + "describe": "每次普攻回复自己生命24%攻击伤害" + }, + { + "sameid": 110181, + "heroid": 11018, + "lv": 0, + "type": 0, + "skilllv": 1, + "act": "Atk", + "skill": "[]", + "tubiao": "", + "name": "", + "describe": "" + }, + { + "sameid": 110182, + "heroid": 11018, + "lv": 1, + "type": 1, + "skilllv": 1, + "act": "Skill1", + "skill": "[]", + "tubiao": "110182_1", + "name": "伤心欲绝", + "describe": "对敌方后排随机3名敌人造成125%攻击伤害,并使自己暴击提升10%,持续2回合" + }, + { + "sameid": 110183, + "heroid": 11018, + "lv": 31, + "type": 2, + "skilllv": 1, + "act": "Skill2", + "skill": "[]", + "tubiao": "110183_2", + "name": "铁皮", + "describe": "铁皮人血量提升20%,攻击提升15%" + }, + { + "sameid": 110184, + "heroid": 11018, + "lv": 51, + "type": 3, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110184_3", + "name": "刃甲", + "describe": "受到伤害时有25%概率反击,造成50%攻击伤害" + }, + { + "sameid": 110185, + "heroid": 11018, + "lv": 81, + "type": 4, + "skilllv": 1, + "act": "hit", + "skill": "[]", + "tubiao": "110185_4", + "name": "生生不息", + "describe": "每次普攻回复自己生命24%攻击伤害" + } +] \ No newline at end of file diff --git a/bin/json/game_ui.json b/bin/json/game_ui.json new file mode 100644 index 000000000..2984972e6 --- /dev/null +++ b/bin/json/game_ui.json @@ -0,0 +1,422 @@ +[ + { + "id": "loading", + "file": "LoadingWindow", + "unloadpkg": 0, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "loading/loading", + "packagename": "loading", + "comname": "main", + "des": "加载界面" + }, + { + "id": "login", + "file": "LoginWindow", + "unloadpkg": 1, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "login/login", + "packagename": "login", + "comname": "main", + "des": "登录界面" + }, + { + "id": "useragreement", + "file": "LoginUseragreementWindow", + "unloadpkg": 0, + "loadtype": 1, + "full": 0, + "blur": 1, + "package": "login/login", + "packagename": "login", + "comname": "useragreement", + "des": "登录界面用户隐私协议" + }, + { + "id": "notice", + "file": "LoginNoticeWindow", + "unloadpkg": 0, + "loadtype": 1, + "full": 0, + "blur": 1, + "package": "login/login", + "packagename": "login", + "comname": "notice", + "des": "登录界面公告" + }, + { + "id": "serverlist", + "file": "ServerListWindow", + "unloadpkg": 0, + "loadtype": 1, + "full": 0, + "blur": 1, + "package": "login/login", + "packagename": "login", + "comname": "serverlist", + "des": "服务器列表" + }, + { + "id": "tanxian", + "file": "TanXianWindow", + "unloadpkg": 1, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "tanxian/tanxian", + "packagename": "tanxian", + "comname": "main", + "des": "探险界面" + }, + { + "id": "bigmap", + "file": "BigmapWindow", + "unloadpkg": 0, + "loadtype": 1, + "full": 0, + "blur": 0, + "package": "bigmap/bigmap", + "packagename": "bigmap", + "comname": "main", + "des": "大地图界面" + }, + { + "id": "starup_hero", + "file": "HeroStarUpWindow", + "unloadpkg": 0, + "loadtype": 0, + "full": 0, + "blur": 0, + "package": "hero/hero", + "packagename": "hero", + "comname": "heroCultivatePanel", + "des": "英雄升星界面(临时)" + }, + { + "id": "heropanel", + "file": "HeroPanelWindow", + "unloadpkg": 1, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "hero/hero", + "packagename": "hero", + "comname": "heroPanel", + "des": "英雄界面" + }, + { + "id": "exhibition2", + "file": "Exhibition2Window", + "unloadpkg": 0, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "exhibition/exhibition", + "packagename": "exhibition", + "comname": "main2", + "des": "临时展示界面" + }, + { + "id": "exhibition3", + "file": "Exhibition3Window", + "unloadpkg": 0, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "exhibition/exhibition", + "packagename": "exhibition", + "comname": "main1", + "des": "临时展示界面" + }, + { + "id": "exhibition_back1", + "file": "ExhibitionBack1Window", + "unloadpkg": 0, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "exhibition/exhibition", + "packagename": "exhibition", + "comname": "back", + "des": "临时展示界面-屏幕滑动" + }, + { + "id": "exhibition_back2", + "file": "ExhibitionBack2Window", + "unloadpkg": 0, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "exhibition/exhibition", + "packagename": "exhibition", + "comname": "back", + "des": "临时展示界面-左下按钮返回" + }, + { + "id": "exhibition_back3", + "file": "ExhibitionBack3Window", + "unloadpkg": 0, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "exhibition/exhibition", + "packagename": "exhibition", + "comname": "back", + "des": "临时展示界面-模型旋转" + }, + { + "id": "exhibition_back4", + "file": "ExhibitionBack4Window", + "unloadpkg": 0, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "exhibition/exhibition", + "packagename": "exhibition", + "comname": "back_up", + "des": "临时展示界面-左上按钮返回" + }, + { + "id": "methodandway_equip", + "file": "EquipMethodAndWayWindow", + "unloadpkg": 0, + "loadtype": 0, + "full": 0, + "blur": 0, + "package": "tips/tips", + "packagename": "tips", + "comname": "equipMethodAndWayTips", + "des": "装备获取途径界面(临时)" + }, + { + "id": "skillinfo", + "file": "SkillInfoWindow", + "unloadpkg": 0, + "loadtype": 0, + "full": 0, + "blur": 0, + "package": "tips/tips", + "packagename": "tips", + "comname": "skillInfoTips", + "des": "技能信息界面(临时)" + }, + { + "id": "generaltips", + "file": "GeneralTipsWindow", + "unloadpkg": 0, + "loadtype": 0, + "full": 0, + "blur": 0, + "package": "tips/tips", + "packagename": "tips", + "comname": "GeneralTips", + "des": "跑马灯" + }, + { + "id": "noticetips", + "file": "NoticeTipsWindow", + "unloadpkg": 0, + "loadtype": 0, + "full": 0, + "blur": 0, + "package": "tips/tips", + "packagename": "tips", + "comname": "NoticeTips", + "des": "通用提示" + }, + { + "id": "zhandou", + "file": "FightWindow", + "unloadpkg": 1, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "zhandou/zhandou", + "packagename": "zhandou", + "comname": "main2", + "des": "战斗界面" + }, + { + "id": "koshow", + "file": "KOPanel", + "unloadpkg": 0, + "loadtype": 0, + "full": 1, + "blur": 0, + "package": "zhandou/zhandou", + "packagename": "zhandou", + "comname": "KOInterface", + "des": "KO界面" + }, + { + "id": "settlement", + "file": "SettlementWindow", + "unloadpkg": 1, + "loadtype": 0, + "full": 0, + "blur": 1, + "package": "zhandou/zhandou", + "packagename": "zhandou", + "comname": "main_account", + "des": "战斗结算界面" + }, + { + "id": "pausebattle", + "file": "PauseBattleWindow", + "unloadpkg": 0, + "loadtype": 0, + "full": 1, + "blur": 0, + "package": "zhandou/zhandou", + "packagename": "zhandou", + "comname": "pausewindow", + "des": "战斗暂停界面" + }, + { + "id": "campties", + "file": "CampTiesWindow", + "unloadpkg": 0, + "loadtype": 0, + "full": 0, + "blur": 0, + "package": "zhandou/zhandou", + "packagename": "zhandou", + "comname": "campties", + "des": "阵营加成" + }, + { + "id": "battleopen", + "file": "BattleOpenWindow", + "unloadpkg": 0, + "loadtype": 0, + "full": 1, + "blur": 0, + "package": "zhandou/zhandou", + "packagename": "zhandou", + "comname": "battleopenwindow", + "des": "战斗开始界面" + }, + { + "id": "embattle", + "file": "EmbattleWindow", + "unloadpkg": 1, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "zhandou/zhandou", + "packagename": "zhandou", + "comname": "Embattle", + "des": "布阵界面" + }, + { + "id": "battlestatistics", + "file": "BattleStatisticsWindow", + "unloadpkg": 0, + "loadtype": 0, + "full": 0, + "blur": 0, + "package": "zhandou/zhandou", + "packagename": "zhandou", + "comname": "battlestatisticswindow", + "des": "战斗统计界面" + }, + { + "id": "maincity", + "file": "MainCityWindow", + "unloadpkg": 1, + "loadtype": 0, + "full": 1, + "blur": 0, + "package": "maincity/maincity", + "packagename": "maincity", + "comname": "main", + "des": "主城界面" + }, + { + "id": "flagstonefunc", + "file": "FlagstoneFuncWindow", + "unloadpkg": 1, + "loadtype": 0, + "full": 1, + "blur": 0, + "package": "maincity/maincity", + "packagename": "maincity", + "comname": "flagstonewindow", + "des": "交互场景石板功能界面" + }, + { + "id": "interactionui", + "file": "InteractionEventWindow", + "unloadpkg": 1, + "loadtype": 0, + "full": 1, + "blur": 0, + "package": "maincity/maincity", + "packagename": "maincity", + "comname": "interactioneventwindow", + "des": "交互UI" + }, + { + "id": "messagebox", + "file": "MessageBoxWindow", + "unloadpkg": 0, + "loadtype": 1, + "full": 0, + "blur": 1, + "package": "public/public", + "packagename": "public", + "comname": "messagebox", + "des": "默认弹出框" + }, + { + "id": "heronewlist", + "file": "HeroNewListWindow", + "unloadpkg": 1, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "heronew/heronew", + "packagename": "heronew", + "comname": "heriopanel", + "des": "英雄列表" + }, + { + "id": "heronewinfo", + "file": "HeroNewInfoWindow", + "unloadpkg": 0, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "heronew/heronew", + "packagename": "heronew", + "comname": "heroinfo", + "des": "英雄详情" + }, + { + "id": "heronewstart", + "file": "HeroNewStartWindow", + "unloadpkg": 0, + "loadtype": 1, + "full": 0, + "blur": 1, + "package": "heronew/heronew", + "packagename": "heronew", + "comname": "herostarup", + "des": "升星-选择材料" + }, + { + "id": "battleready", + "file": "BattleReadyWindow", + "unloadpkg": 0, + "loadtype": 1, + "full": 1, + "blur": 0, + "package": "zhandou/zhandou", + "packagename": "zhandou", + "comname": "battlereadywindow", + "des": "战斗布阵界面" + } +] \ No newline at end of file diff --git a/go_dreamfactory.rar b/go_dreamfactory.rar new file mode 100644 index 000000000..7b1212ae4 Binary files /dev/null and b/go_dreamfactory.rar differ diff --git a/modules/pack/api_comp.go b/modules/pack/api_comp.go index 744ea6efa..92e17a0aa 100644 --- a/modules/pack/api_comp.go +++ b/modules/pack/api_comp.go @@ -36,26 +36,21 @@ func (this *Api_Comp) QueryUserPackReq(ctx context.Context, session comm.IUserSe var ( code pb.ErrorCode pack *pb.DB_UserPackData - items []*pb.ItemAmount + grids []*pb.DB_GridData ) defer func() { - session.SendMsg("pack", "queryuserpackresp", code, &pb.QueryUserPackResp{Items: items}) + session.SendMsg(string(this.module.GetType()), "queryuserpackresp", code, &pb.QueryUserPackResp{Grids: grids}) }() - if session.GetUserId() == "" { + if !session.IsLogin() { code = pb.ErrorCode_NoLogin return } - if pack, err = cache.Defsys.QueryUserPack(session.GetUserId()); err != nil { + if pack, err = cache.Defsys.Pack_QueryUserPack(session.GetUserId()); err != nil { log.Errorf("QueryUserPackReq err:%v", err) code = pb.ErrorCode_CacheReadError return } else { - items = make([]*pb.ItemAmount, 0, len(pack.Pack)) - // for _, v := range pack.Pack { - // if v.Itype == req.IType { - // items = append(items, &pb.ItemAmount{IsNew: v.IsNew, ItemId: v.ItemId, Amount: v.Amount}) - // } - // } + grids = this.module.configure_comp.GetPackItemByType(pack, req.IType) } return } @@ -68,7 +63,7 @@ func (this *Api_Comp) UseItemReq(ctx context.Context, session comm.IUserSession, defer func() { session.SendMsg(string(this.module.GetType()), UseItemResp, code, &pb.UseItemResp{}) }() - if session.GetUserId() == "" { + if !session.IsLogin() { code = pb.ErrorCode_NoLogin return } @@ -84,7 +79,7 @@ func (this *Api_Comp) SellItemReq(ctx context.Context, session comm.IUserSession defer func() { session.SendMsg(string(this.module.GetType()), SellItemResp, code, &pb.SellItemResp{}) }() - if session.GetUserId() == "" { + if !session.IsLogin() { code = pb.ErrorCode_NoLogin return } diff --git a/modules/pack/configure_comp.go b/modules/pack/configure_comp.go index 8317bb466..aacc0e6cb 100644 --- a/modules/pack/configure_comp.go +++ b/modules/pack/configure_comp.go @@ -1,8 +1,18 @@ package pack import ( + "fmt" + "go_dreamfactory/pb" + "go_dreamfactory/sys/configure" + cfg "go_dreamfactory/sys/configure/structs" + "github.com/liwei1dao/lego/core" "github.com/liwei1dao/lego/core/cbase" + "github.com/liwei1dao/lego/sys/log" +) + +const ( + game_item = "game_item.json" ) ///背包配置管理组件 @@ -12,9 +22,51 @@ type Configure_Comp struct { func (this *Configure_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.ModuleCompBase.Init(service, module, comp, options) + configure.RegisterConfigure(game_item, cfg.NewGame_item) return } -func (this *Configure_Comp) GetItemConfigureData(id uint32) { - +//读取物品配置 +func (this *Configure_Comp) GetItemConfigure(id int32) (item *cfg.Game_itemData, err error) { + var ( + v interface{} + ok bool + ) + if v, err = configure.GetConfigure(game_item); err != nil { + return + } else { + if item, ok = v.(*cfg.Game_item).GetDataMap()[id]; !ok { + err = fmt.Errorf("no found item:%d configure", id) + return + } + } + return +} + +//获取指定类型的物品列表 +func (this *Configure_Comp) GetPackItemByType(pack *pb.DB_UserPackData, usetype int32) (result []*pb.DB_GridData) { + result = make([]*pb.DB_GridData, 0, len(pack.Pack)) + var ( + v interface{} + table *cfg.Game_item + item *cfg.Game_itemData + id int32 + ok bool + err error + ) + if v, err = configure.GetConfigure(game_item); err != nil { + return + } else { + table = v.(*cfg.Game_item) + for _, v := range pack.Pack { + if item, ok = table.GetDataMap()[id]; ok { + if item.Usetype == usetype { + result = append(result, v) + } + } else { + log.Errorf("no found itemConfigure:%d", id) + } + } + } + return } diff --git a/pb/mail.pb.go b/pb/mail.pb.go index e5e2522b9..5f8e0a3a3 100644 --- a/pb/mail.pb.go +++ b/pb/mail.pb.go @@ -167,7 +167,7 @@ type DB_UserMailData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId string `bson:"_id" json:"UserId,omitempty" protobuf:"bytes,1,opt,name=UserId,proto3"` //tags:{bson:"_id"}用户Id + UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty" bson:"_id"` //tags:{bson:"_id"}用户Id Mails []*MailData `protobuf:"bytes,2,rep,name=mails,proto3" json:"mails,omitempty"` // 邮件列表 } diff --git a/pb/pack_db.pb.go b/pb/pack_db.pb.go index 0dc1074bd..bea236e19 100644 --- a/pb/pack_db.pb.go +++ b/pb/pack_db.pb.go @@ -20,68 +20,21 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type ItemType int32 - -const ( - ItemType_Props ItemType = 0 //道具 - ItemType_Equip ItemType = 2 //装备 - ItemType_Fragment ItemType = 12 //碎片 -) - -// Enum value maps for ItemType. -var ( - ItemType_name = map[int32]string{ - 0: "Props", - 2: "Equip", - 12: "Fragment", - } - ItemType_value = map[string]int32{ - "Props": 0, - "Equip": 2, - "Fragment": 12, - } -) - -func (x ItemType) Enum() *ItemType { - p := new(ItemType) - *p = x - return p -} - -func (x ItemType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ItemType) Descriptor() protoreflect.EnumDescriptor { - return file_pack_db_proto_enumTypes[0].Descriptor() -} - -func (ItemType) Type() protoreflect.EnumType { - return &file_pack_db_proto_enumTypes[0] -} - -func (x ItemType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ItemType.Descriptor instead. -func (ItemType) EnumDescriptor() ([]byte, []int) { - return file_pack_db_proto_rawDescGZIP(), []int{0} -} - //背包格子 -type GridData struct { +type DB_GridData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IsNew bool `protobuf:"varint,1,opt,name=IsNew,proto3" json:"IsNew,omitempty"` //是否是新的 - ItemId uint32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //存放物品的Id - Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount,omitempty"` //存放物品的数量 + GridId int32 `protobuf:"varint,1,opt,name=GridId,proto3" json:"GridId,omitempty"` //背包格子Id 所在背包数组的下表 + IsEmpty bool `protobuf:"varint,2,opt,name=IsEmpty,proto3" json:"IsEmpty,omitempty"` //是否是空格子 + ItemId int32 `protobuf:"varint,3,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //存放物品的Id + Amount uint32 `protobuf:"varint,4,opt,name=Amount,proto3" json:"Amount,omitempty"` //存放物品的数量 + IsNewItem bool `protobuf:"varint,5,opt,name=IsNewItem,proto3" json:"IsNewItem,omitempty"` //是否是新的 } -func (x *GridData) Reset() { - *x = GridData{} +func (x *DB_GridData) Reset() { + *x = DB_GridData{} if protoimpl.UnsafeEnabled { mi := &file_pack_db_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -89,13 +42,13 @@ func (x *GridData) Reset() { } } -func (x *GridData) String() string { +func (x *DB_GridData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GridData) ProtoMessage() {} +func (*DB_GridData) ProtoMessage() {} -func (x *GridData) ProtoReflect() protoreflect.Message { +func (x *DB_GridData) ProtoReflect() protoreflect.Message { mi := &file_pack_db_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -107,40 +60,54 @@ func (x *GridData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GridData.ProtoReflect.Descriptor instead. -func (*GridData) Descriptor() ([]byte, []int) { +// Deprecated: Use DB_GridData.ProtoReflect.Descriptor instead. +func (*DB_GridData) Descriptor() ([]byte, []int) { return file_pack_db_proto_rawDescGZIP(), []int{0} } -func (x *GridData) GetIsNew() bool { +func (x *DB_GridData) GetGridId() int32 { if x != nil { - return x.IsNew + return x.GridId + } + return 0 +} + +func (x *DB_GridData) GetIsEmpty() bool { + if x != nil { + return x.IsEmpty } return false } -func (x *GridData) GetItemId() uint32 { +func (x *DB_GridData) GetItemId() int32 { if x != nil { return x.ItemId } return 0 } -func (x *GridData) GetAmount() uint32 { +func (x *DB_GridData) GetAmount() uint32 { if x != nil { return x.Amount } return 0 } +func (x *DB_GridData) GetIsNewItem() bool { + if x != nil { + return x.IsNewItem + } + return false +} + //用户背包 type DB_UserPackData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId string `bson:"_id" json:"UserId,omitempty" protobuf:"bytes,1,opt,name=UserId,proto3"` //tags:{bson:"_id"}用户Id - Pack []*GridData `protobuf:"bytes,2,rep,name=Pack,proto3" json:"Pack,omitempty"` //背包列表 + UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty" bson:"_id"` //tags:{bson:"_id"}用户Id + Pack []*DB_GridData `protobuf:"bytes,2,rep,name=Pack,proto3" json:"Pack,omitempty"` //背包列表 } func (x *DB_UserPackData) Reset() { @@ -182,7 +149,7 @@ func (x *DB_UserPackData) GetUserId() string { return "" } -func (x *DB_UserPackData) GetPack() []*GridData { +func (x *DB_UserPackData) GetPack() []*DB_GridData { if x != nil { return x.Pack } @@ -193,20 +160,21 @@ var File_pack_db_proto protoreflect.FileDescriptor var file_pack_db_proto_rawDesc = []byte{ 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x50, 0x0a, 0x08, 0x47, 0x72, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x49, - 0x73, 0x4e, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, 0x4e, 0x65, - 0x77, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x48, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x04, - 0x50, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x47, 0x72, 0x69, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x50, 0x61, 0x63, 0x6b, 0x2a, 0x2e, 0x0a, 0x08, 0x49, - 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x70, 0x73, - 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x71, 0x75, 0x69, 0x70, 0x10, 0x02, 0x12, 0x0c, 0x0a, - 0x08, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x0c, 0x42, 0x06, 0x5a, 0x04, 0x2e, - 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x8d, 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x47, 0x72, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x16, 0x0a, 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x22, + 0x4b, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x04, 0x50, 0x61, + 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x72, + 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x06, 0x5a, 0x04, + 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -221,15 +189,13 @@ func file_pack_db_proto_rawDescGZIP() []byte { return file_pack_db_proto_rawDescData } -var file_pack_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_pack_db_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_pack_db_proto_goTypes = []interface{}{ - (ItemType)(0), // 0: ItemType - (*GridData)(nil), // 1: GridData - (*DB_UserPackData)(nil), // 2: DB_UserPackData + (*DB_GridData)(nil), // 0: DB_GridData + (*DB_UserPackData)(nil), // 1: DB_UserPackData } var file_pack_db_proto_depIdxs = []int32{ - 1, // 0: DB_UserPackData.Pack:type_name -> GridData + 0, // 0: DB_UserPackData.Pack:type_name -> DB_GridData 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name @@ -244,7 +210,7 @@ func file_pack_db_proto_init() { } if !protoimpl.UnsafeEnabled { file_pack_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GridData); i { + switch v := v.(*DB_GridData); i { case 0: return &v.state case 1: @@ -273,14 +239,13 @@ func file_pack_db_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pack_db_proto_rawDesc, - NumEnums: 1, + NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_pack_db_proto_goTypes, DependencyIndexes: file_pack_db_proto_depIdxs, - EnumInfos: file_pack_db_proto_enumTypes, MessageInfos: file_pack_db_proto_msgTypes, }.Build() File_pack_db_proto = out.File diff --git a/pb/pack_msg.pb.go b/pb/pack_msg.pb.go index c84a69c20..b8cb25588 100644 --- a/pb/pack_msg.pb.go +++ b/pb/pack_msg.pb.go @@ -20,83 +20,19 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -//物品数量 -type ItemAmount struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsNew bool `protobuf:"varint,1,opt,name=IsNew,proto3" json:"IsNew,omitempty"` //是否是新的 - ItemId uint32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` - Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount,omitempty"` -} - -func (x *ItemAmount) Reset() { - *x = ItemAmount{} - if protoimpl.UnsafeEnabled { - mi := &file_pack_msg_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ItemAmount) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ItemAmount) ProtoMessage() {} - -func (x *ItemAmount) ProtoReflect() protoreflect.Message { - mi := &file_pack_msg_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ItemAmount.ProtoReflect.Descriptor instead. -func (*ItemAmount) Descriptor() ([]byte, []int) { - return file_pack_msg_proto_rawDescGZIP(), []int{0} -} - -func (x *ItemAmount) GetIsNew() bool { - if x != nil { - return x.IsNew - } - return false -} - -func (x *ItemAmount) GetItemId() uint32 { - if x != nil { - return x.ItemId - } - return 0 -} - -func (x *ItemAmount) GetAmount() uint32 { - if x != nil { - return x.Amount - } - return 0 -} - //查询用户背包请求 type QueryUserPackReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IType ItemType `protobuf:"varint,1,opt,name=IType,proto3,enum=ItemType" json:"IType,omitempty"` + IType int32 `protobuf:"varint,1,opt,name=IType,proto3" json:"IType,omitempty"` } func (x *QueryUserPackReq) Reset() { *x = QueryUserPackReq{} if protoimpl.UnsafeEnabled { - mi := &file_pack_msg_proto_msgTypes[1] + mi := &file_pack_msg_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109,7 +45,7 @@ func (x *QueryUserPackReq) String() string { func (*QueryUserPackReq) ProtoMessage() {} func (x *QueryUserPackReq) ProtoReflect() protoreflect.Message { - mi := &file_pack_msg_proto_msgTypes[1] + mi := &file_pack_msg_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122,14 +58,14 @@ func (x *QueryUserPackReq) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryUserPackReq.ProtoReflect.Descriptor instead. func (*QueryUserPackReq) Descriptor() ([]byte, []int) { - return file_pack_msg_proto_rawDescGZIP(), []int{1} + return file_pack_msg_proto_rawDescGZIP(), []int{0} } -func (x *QueryUserPackReq) GetIType() ItemType { +func (x *QueryUserPackReq) GetIType() int32 { if x != nil { return x.IType } - return ItemType_Props + return 0 } //查询用户背包请求 回应 @@ -138,13 +74,13 @@ type QueryUserPackResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Items []*ItemAmount `protobuf:"bytes,1,rep,name=Items,proto3" json:"Items,omitempty"` + Grids []*DB_GridData `protobuf:"bytes,1,rep,name=Grids,proto3" json:"Grids,omitempty"` } func (x *QueryUserPackResp) Reset() { *x = QueryUserPackResp{} if protoimpl.UnsafeEnabled { - mi := &file_pack_msg_proto_msgTypes[2] + mi := &file_pack_msg_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -157,7 +93,7 @@ func (x *QueryUserPackResp) String() string { func (*QueryUserPackResp) ProtoMessage() {} func (x *QueryUserPackResp) ProtoReflect() protoreflect.Message { - mi := &file_pack_msg_proto_msgTypes[2] + mi := &file_pack_msg_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -170,12 +106,12 @@ func (x *QueryUserPackResp) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryUserPackResp.ProtoReflect.Descriptor instead. func (*QueryUserPackResp) Descriptor() ([]byte, []int) { - return file_pack_msg_proto_rawDescGZIP(), []int{2} + return file_pack_msg_proto_rawDescGZIP(), []int{1} } -func (x *QueryUserPackResp) GetItems() []*ItemAmount { +func (x *QueryUserPackResp) GetGrids() []*DB_GridData { if x != nil { - return x.Items + return x.Grids } return nil } @@ -186,14 +122,15 @@ type UseItemReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemId uint32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` - Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount,omitempty"` + GridId int32 `protobuf:"varint,1,opt,name=GridId,proto3" json:"GridId,omitempty"` //格子Id + ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //物品Id + Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount,omitempty"` //使用数量 } func (x *UseItemReq) Reset() { *x = UseItemReq{} if protoimpl.UnsafeEnabled { - mi := &file_pack_msg_proto_msgTypes[3] + mi := &file_pack_msg_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -206,7 +143,7 @@ func (x *UseItemReq) String() string { func (*UseItemReq) ProtoMessage() {} func (x *UseItemReq) ProtoReflect() protoreflect.Message { - mi := &file_pack_msg_proto_msgTypes[3] + mi := &file_pack_msg_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -219,10 +156,17 @@ func (x *UseItemReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UseItemReq.ProtoReflect.Descriptor instead. func (*UseItemReq) Descriptor() ([]byte, []int) { - return file_pack_msg_proto_rawDescGZIP(), []int{3} + return file_pack_msg_proto_rawDescGZIP(), []int{2} } -func (x *UseItemReq) GetItemId() uint32 { +func (x *UseItemReq) GetGridId() int32 { + if x != nil { + return x.GridId + } + return 0 +} + +func (x *UseItemReq) GetItemId() int32 { if x != nil { return x.ItemId } @@ -246,7 +190,7 @@ type UseItemResp struct { func (x *UseItemResp) Reset() { *x = UseItemResp{} if protoimpl.UnsafeEnabled { - mi := &file_pack_msg_proto_msgTypes[4] + mi := &file_pack_msg_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -259,7 +203,7 @@ func (x *UseItemResp) String() string { func (*UseItemResp) ProtoMessage() {} func (x *UseItemResp) ProtoReflect() protoreflect.Message { - mi := &file_pack_msg_proto_msgTypes[4] + mi := &file_pack_msg_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -272,7 +216,7 @@ func (x *UseItemResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UseItemResp.ProtoReflect.Descriptor instead. func (*UseItemResp) Descriptor() ([]byte, []int) { - return file_pack_msg_proto_rawDescGZIP(), []int{4} + return file_pack_msg_proto_rawDescGZIP(), []int{3} } //出售道具请求 @@ -281,14 +225,15 @@ type SellItemReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemId uint32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` - Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount,omitempty"` + GridId int32 `protobuf:"varint,1,opt,name=GridId,proto3" json:"GridId,omitempty"` //格子Id + ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //物品Id + Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount,omitempty"` //使用数量 } func (x *SellItemReq) Reset() { *x = SellItemReq{} if protoimpl.UnsafeEnabled { - mi := &file_pack_msg_proto_msgTypes[5] + mi := &file_pack_msg_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -301,7 +246,7 @@ func (x *SellItemReq) String() string { func (*SellItemReq) ProtoMessage() {} func (x *SellItemReq) ProtoReflect() protoreflect.Message { - mi := &file_pack_msg_proto_msgTypes[5] + mi := &file_pack_msg_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -314,10 +259,17 @@ func (x *SellItemReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SellItemReq.ProtoReflect.Descriptor instead. func (*SellItemReq) Descriptor() ([]byte, []int) { - return file_pack_msg_proto_rawDescGZIP(), []int{5} + return file_pack_msg_proto_rawDescGZIP(), []int{4} } -func (x *SellItemReq) GetItemId() uint32 { +func (x *SellItemReq) GetGridId() int32 { + if x != nil { + return x.GridId + } + return 0 +} + +func (x *SellItemReq) GetItemId() int32 { if x != nil { return x.ItemId } @@ -341,7 +293,7 @@ type SellItemResp struct { func (x *SellItemResp) Reset() { *x = SellItemResp{} if protoimpl.UnsafeEnabled { - mi := &file_pack_msg_proto_msgTypes[6] + mi := &file_pack_msg_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -354,7 +306,7 @@ func (x *SellItemResp) String() string { func (*SellItemResp) ProtoMessage() {} func (x *SellItemResp) ProtoReflect() protoreflect.Message { - mi := &file_pack_msg_proto_msgTypes[6] + mi := &file_pack_msg_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -367,7 +319,7 @@ func (x *SellItemResp) ProtoReflect() protoreflect.Message { // Deprecated: Use SellItemResp.ProtoReflect.Descriptor instead. func (*SellItemResp) Descriptor() ([]byte, []int) { - return file_pack_msg_proto_rawDescGZIP(), []int{6} + return file_pack_msg_proto_rawDescGZIP(), []int{5} } var File_pack_msg_proto protoreflect.FileDescriptor @@ -375,29 +327,26 @@ var File_pack_msg_proto protoreflect.FileDescriptor var file_pack_msg_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x52, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, - 0x4e, 0x65, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0x33, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, - 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x49, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x05, 0x49, 0x54, 0x79, 0x70, 0x65, 0x22, 0x36, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, - 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x49, - 0x74, 0x65, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x22, 0x3c, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, - 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x28, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x49, 0x54, 0x79, 0x70, 0x65, 0x22, 0x37, 0x0a, 0x11, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, + 0x0a, 0x05, 0x47, 0x72, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, + 0x44, 0x42, 0x5f, 0x47, 0x72, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x47, 0x72, 0x69, + 0x64, 0x73, 0x22, 0x54, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, + 0x12, 0x16, 0x0a, 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x0d, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x55, 0x0a, 0x0b, 0x53, 0x65, 0x6c, 0x6c, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x0d, - 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x3d, 0x0a, - 0x0b, 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, - 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x0e, 0x0a, 0x0c, - 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, - 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x0e, + 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -412,25 +361,23 @@ func file_pack_msg_proto_rawDescGZIP() []byte { return file_pack_msg_proto_rawDescData } -var file_pack_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_pack_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_pack_msg_proto_goTypes = []interface{}{ - (*ItemAmount)(nil), // 0: ItemAmount - (*QueryUserPackReq)(nil), // 1: QueryUserPackReq - (*QueryUserPackResp)(nil), // 2: QueryUserPackResp - (*UseItemReq)(nil), // 3: UseItemReq - (*UseItemResp)(nil), // 4: UseItemResp - (*SellItemReq)(nil), // 5: SellItemReq - (*SellItemResp)(nil), // 6: SellItemResp - (ItemType)(0), // 7: ItemType + (*QueryUserPackReq)(nil), // 0: QueryUserPackReq + (*QueryUserPackResp)(nil), // 1: QueryUserPackResp + (*UseItemReq)(nil), // 2: UseItemReq + (*UseItemResp)(nil), // 3: UseItemResp + (*SellItemReq)(nil), // 4: SellItemReq + (*SellItemResp)(nil), // 5: SellItemResp + (*DB_GridData)(nil), // 6: DB_GridData } var file_pack_msg_proto_depIdxs = []int32{ - 7, // 0: QueryUserPackReq.IType:type_name -> ItemType - 0, // 1: QueryUserPackResp.Items:type_name -> ItemAmount - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 6, // 0: QueryUserPackResp.Grids:type_name -> DB_GridData + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name } func init() { file_pack_msg_proto_init() } @@ -441,18 +388,6 @@ func file_pack_msg_proto_init() { file_pack_db_proto_init() if !protoimpl.UnsafeEnabled { file_pack_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ItemAmount); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pack_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryUserPackReq); i { case 0: return &v.state @@ -464,7 +399,7 @@ func file_pack_msg_proto_init() { return nil } } - file_pack_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_pack_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryUserPackResp); i { case 0: return &v.state @@ -476,7 +411,7 @@ func file_pack_msg_proto_init() { return nil } } - file_pack_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_pack_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UseItemReq); i { case 0: return &v.state @@ -488,7 +423,7 @@ func file_pack_msg_proto_init() { return nil } } - file_pack_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_pack_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UseItemResp); i { case 0: return &v.state @@ -500,7 +435,7 @@ func file_pack_msg_proto_init() { return nil } } - file_pack_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_pack_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SellItemReq); i { case 0: return &v.state @@ -512,7 +447,7 @@ func file_pack_msg_proto_init() { return nil } } - file_pack_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_pack_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SellItemResp); i { case 0: return &v.state @@ -531,7 +466,7 @@ func file_pack_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pack_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 7, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/proto/pack_db.proto b/pb/proto/pack_db.proto index 1f144c70e..7ac9d4d92 100644 --- a/pb/proto/pack_db.proto +++ b/pb/proto/pack_db.proto @@ -1,21 +1,17 @@ syntax = "proto3"; option go_package = ".;pb"; -enum ItemType { - Props = 0; //道具 - Equip = 2; //装备 - Fragment = 12; //碎片 -} - //背包格子 -message GridData { - bool IsNew = 1; //是否是新的 - uint32 ItemId = 2; //存放物品的Id - uint32 Amount = 3; //存放物品的数量 +message DB_GridData { + int32 GridId = 1; //背包格子Id 所在背包数组的下表 + bool IsEmpty = 2; //是否是空格子 + int32 ItemId = 3; //存放物品的Id + uint32 Amount = 4; //存放物品的数量 + bool IsNewItem = 5; //是否是新的 } //用户背包 message DB_UserPackData { string UserId = 1; //tags:{bson:"_id"}用户Id - repeated GridData Pack = 2; //背包列表 + repeated DB_GridData Pack = 2; //背包列表 } \ No newline at end of file diff --git a/pb/proto/pack_msg.proto b/pb/proto/pack_msg.proto index cf7b4661e..995560832 100644 --- a/pb/proto/pack_msg.proto +++ b/pb/proto/pack_msg.proto @@ -2,27 +2,21 @@ syntax = "proto3"; option go_package = ".;pb"; import "pack_db.proto"; -//物品数量 -message ItemAmount { - bool IsNew = 1; //是否是新的 - uint32 ItemId = 2; - uint32 Amount = 3; -} - //查询用户背包请求 message QueryUserPackReq { - ItemType IType = 1; + int32 IType = 1; } //查询用户背包请求 回应 message QueryUserPackResp { - repeated ItemAmount Items = 1; + repeated DB_GridData Grids = 1; } //使用物品请求 message UseItemReq { - uint32 ItemId = 2; - uint32 Amount = 3; + int32 GridId = 1; //格子Id + int32 ItemId = 2; //物品Id + uint32 Amount = 3; //使用数量 } //使用物品请求 回应 @@ -32,8 +26,9 @@ message UseItemResp { //出售道具请求 message SellItemReq { - uint32 ItemId = 2; - uint32 Amount = 3; + int32 GridId = 1; //格子Id + int32 ItemId = 2; //物品Id + uint32 Amount = 3; //使用数量 } //出售道具请求 回应 diff --git a/pb/user_db.pb.go b/pb/user_db.pb.go index 2c4b65c99..06f7a4715 100644 --- a/pb/user_db.pb.go +++ b/pb/user_db.pb.go @@ -88,8 +88,8 @@ type DB_UserData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId string `bson:"_id" json:"UserId,omitempty" protobuf:"bytes,1,opt,name=UserId,proto3"` //tags:{bson:"_id"}动态Id - Account string `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty" bson:"_id"` //tags:{bson:"_id"}动态Id + Account string `protobuf:"bytes,2,opt,name=Account,proto3" json:"Account,omitempty"` NiceName string `protobuf:"bytes,3,opt,name=NiceName,proto3" json:"NiceName,omitempty"` Email string `protobuf:"bytes,4,opt,name=Email,proto3" json:"Email,omitempty"` Password string `protobuf:"bytes,5,opt,name=Password,proto3" json:"Password,omitempty"` @@ -177,8 +177,8 @@ var file_user_db_proto_rawDesc = []byte{ 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x8d, 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x65, + 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, diff --git a/sys/cache/pack.go b/sys/cache/pack.go index 8465fa099..47a7ac56f 100644 --- a/sys/cache/pack.go +++ b/sys/cache/pack.go @@ -13,21 +13,23 @@ const ( //Redis Redis_PackCache string = "pack:%s" ) -const () +const ( + GridCapMaxNum = 90 //单个格子的最大容量 +) type IPack interface { - QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error) + Pack_QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error) } ///查询用户背包数据 -func (this *Cache) QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error) { +func (this *Cache) Pack_QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error) { pack = &pb.DB_UserPackData{ UserId: uId, } if err = this.redis.Get(fmt.Sprintf(Redis_PackCache, uId), pack); err == nil { return } else if err == redis.RedisNil { - if pack, err = db.Defsys.QueryUserPack(uId); err == nil { + if pack, err = db.Defsys.Pack_QueryUserPack(uId); err == nil { this.redis.Set(fmt.Sprintf(Redis_PackCache, uId), pack, -1) } else if err == mgo.MongodbNil { err = nil @@ -36,8 +38,49 @@ func (this *Cache) QueryUserPack(uId string) (pack *pb.DB_UserPackData, err erro return } -///查询用户背包数据 -func (this *Cache) UpdateUserPack(pack *pb.DB_UserPackData) (err error) { - err = this.redis.Set(fmt.Sprintf(Redis_PackCache, pack.UserId), pack, -1) +///添加或则减少物品到用户背包 +func (this *Cache) Pack_AddItemToUserPack(uId string, itemId int32, addnum int32) (err error) { + var ( + pack *pb.DB_UserPackData + modifys []*pb.DB_GridData + leftnum int64 + num int64 + ) + if addnum == 0 { + return + } + if pack, err = this.Pack_QueryUserPack(uId); err != nil { + return + } + leftnum = int64(addnum) + modifys = make([]*pb.DB_GridData, 0) + for _, v := range pack.Pack { + if !v.IsEmpty && v.ItemId == itemId { + num = int64(v.Amount) + int64(leftnum) + if num < 0 { + leftnum += int64(v.Amount) + v.Amount = 0 + modifys = append(modifys, v) + } else if num > 0 && num < int64(v.Amount) { + leftnum = 0 + v.Amount = uint32(num) + modifys = append(modifys, v) + break + } else if num > 0 && num > int64(v.Amount) { + if num <= GridCapMaxNum { + leftnum = 0 + v.Amount = uint32(num) + modifys = append(modifys, v) + break + } else { + if v.Amount < GridCapMaxNum { + leftnum = int64(num - int64(v.Amount)) + v.Amount = uint32(num) + modifys = append(modifys, v) + } + } + } + } + } return } diff --git a/sys/configure/structs/game.extservers.go b/sys/configure/structs/game.extservers.go new file mode 100644 index 000000000..fad235100 --- /dev/null +++ b/sys/configure/structs/game.extservers.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 Game_extservers struct { + _dataMap map[string]*Game_extserversData + _dataList []*Game_extserversData +} + +func NewGame_extservers(_buf []map[string]interface{}) (*Game_extservers, error) { + _dataList := make([]*Game_extserversData, 0, len(_buf)) + dataMap := make(map[string]*Game_extserversData) + for _, _ele_ := range _buf { + if _v, err2 := NewGame_extserversData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Name] = _v + } + } + return &Game_extservers{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *Game_extservers) GetDataMap() map[string]*Game_extserversData { + return table._dataMap +} + +func (table *Game_extservers) GetDataList() []*Game_extserversData { + return table._dataList +} + +func (table *Game_extservers) Get(key string) *Game_extserversData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/game.extserversData.go b/sys/configure/structs/game.extserversData.go new file mode 100644 index 000000000..d5eea37bd --- /dev/null +++ b/sys/configure/structs/game.extserversData.go @@ -0,0 +1,27 @@ + +//------------------------------------------------------------------------------ +// +// 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 Game_extserversData struct { + Name string + Ips string +} + +func (Game_extserversData) GetTypeId() int { + return -245856747 +} + +func NewGame_extserversData(_buf map[string]interface{}) (_v *Game_extserversData, err error) { + _v = &Game_extserversData{} + { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } } + { var _ok_ bool; if _v.Ips, _ok_ = _buf["ips"].(string); !_ok_ { err = errors.New("ips error"); return } } + return +} diff --git a/sys/configure/structs/game.hero.go b/sys/configure/structs/game.hero.go new file mode 100644 index 000000000..c324154bb --- /dev/null +++ b/sys/configure/structs/game.hero.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 Game_hero struct { + _dataMap map[string]*Game_heroData + _dataList []*Game_heroData +} + +func NewGame_hero(_buf []map[string]interface{}) (*Game_hero, error) { + _dataList := make([]*Game_heroData, 0, len(_buf)) + dataMap := make(map[string]*Game_heroData) + for _, _ele_ := range _buf { + if _v, err2 := NewGame_heroData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &Game_hero{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *Game_hero) GetDataMap() map[string]*Game_heroData { + return table._dataMap +} + +func (table *Game_hero) GetDataList() []*Game_heroData { + return table._dataList +} + +func (table *Game_hero) Get(key string) *Game_heroData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/game.heroData.go b/sys/configure/structs/game.heroData.go new file mode 100644 index 000000000..4a6d26849 --- /dev/null +++ b/sys/configure/structs/game.heroData.go @@ -0,0 +1,69 @@ + +//------------------------------------------------------------------------------ +// +// 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 Game_heroData struct { + Id string + Name string + Star int32 + Color int32 + Chengwei int32 + Zhongzu int32 + Job int32 + Type int32 + Prefab string + Icon string + Sound string + Tujing string + Hpgrow string + Atkgrow string + Defgrow string + Speedgrow string + Hp string + Atk string + Def string + Speed string + Intr string + Events string + Cite string +} + +func (Game_heroData) GetTypeId() int { + return 650222912 +} + +func NewGame_heroData(_buf map[string]interface{}) (_v *Game_heroData, err error) { + _v = &Game_heroData{} + { var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } } + { 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["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["chengwei"].(float64); !_ok_ { err = errors.New("chengwei error"); return }; _v.Chengwei = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["zhongzu"].(float64); !_ok_ { err = errors.New("zhongzu error"); return }; _v.Zhongzu = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["job"].(float64); !_ok_ { err = errors.New("job error"); return }; _v.Job = 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; if _v.Prefab, _ok_ = _buf["prefab"].(string); !_ok_ { err = errors.New("prefab error"); return } } + { var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } } + { var _ok_ bool; if _v.Sound, _ok_ = _buf["sound"].(string); !_ok_ { err = errors.New("sound error"); return } } + { var _ok_ bool; if _v.Tujing, _ok_ = _buf["tujing"].(string); !_ok_ { err = errors.New("tujing error"); return } } + { var _ok_ bool; if _v.Hpgrow, _ok_ = _buf["hpgrow"].(string); !_ok_ { err = errors.New("hpgrow error"); return } } + { var _ok_ bool; if _v.Atkgrow, _ok_ = _buf["atkgrow"].(string); !_ok_ { err = errors.New("atkgrow error"); return } } + { var _ok_ bool; if _v.Defgrow, _ok_ = _buf["defgrow"].(string); !_ok_ { err = errors.New("defgrow error"); return } } + { var _ok_ bool; if _v.Speedgrow, _ok_ = _buf["speedgrow"].(string); !_ok_ { err = errors.New("speedgrow error"); return } } + { var _ok_ bool; if _v.Hp, _ok_ = _buf["hp"].(string); !_ok_ { err = errors.New("hp error"); return } } + { var _ok_ bool; if _v.Atk, _ok_ = _buf["atk"].(string); !_ok_ { err = errors.New("atk error"); return } } + { var _ok_ bool; if _v.Def, _ok_ = _buf["def"].(string); !_ok_ { err = errors.New("def error"); return } } + { var _ok_ bool; if _v.Speed, _ok_ = _buf["speed"].(string); !_ok_ { err = errors.New("speed error"); return } } + { var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } } + { var _ok_ bool; if _v.Events, _ok_ = _buf["events"].(string); !_ok_ { err = errors.New("events error"); return } } + { var _ok_ bool; if _v.Cite, _ok_ = _buf["cite"].(string); !_ok_ { err = errors.New("cite error"); return } } + return +} diff --git a/sys/configure/structs/game.item.go b/sys/configure/structs/game.item.go new file mode 100644 index 000000000..98a567268 --- /dev/null +++ b/sys/configure/structs/game.item.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 Game_item struct { + _dataMap map[int32]*Game_itemData + _dataList []*Game_itemData +} + +func NewGame_item(_buf []map[string]interface{}) (*Game_item, error) { + _dataList := make([]*Game_itemData, 0, len(_buf)) + dataMap := make(map[int32]*Game_itemData) + for _, _ele_ := range _buf { + if _v, err2 := NewGame_itemData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Itemid] = _v + } + } + return &Game_item{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *Game_item) GetDataMap() map[int32]*Game_itemData { + return table._dataMap +} + +func (table *Game_item) GetDataList() []*Game_itemData { + return table._dataList +} + +func (table *Game_item) Get(key int32) *Game_itemData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/game.itemData.go b/sys/configure/structs/game.itemData.go new file mode 100644 index 000000000..2c5b2ee64 --- /dev/null +++ b/sys/configure/structs/game.itemData.go @@ -0,0 +1,63 @@ + +//------------------------------------------------------------------------------ +// +// 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 Game_itemData struct { + Itemid int32 + Name string + Usetype int32 + Color int32 + Bagtype string + Index int32 + Texiao string + Dlp int32 + Hcnum int32 + Htype int32 + Tujing int32 + Usetz int32 + Shuliangshangxian int32 + Uselv int32 + Ismutil int32 + Type int32 + Img string + Ico string + Intr string + Sale string +} + +func (Game_itemData) GetTypeId() int { + return -1848306727 +} + +func NewGame_itemData(_buf map[string]interface{}) (_v *Game_itemData, err error) { + _v = &Game_itemData{} + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["itemid"].(float64); !_ok_ { err = errors.New("itemid error"); return }; _v.Itemid = 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["usetype"].(float64); !_ok_ { err = errors.New("usetype error"); return }; _v.Usetype = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) } + { var _ok_ bool; if _v.Bagtype, _ok_ = _buf["bagtype"].(string); !_ok_ { err = errors.New("bagtype error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["index"].(float64); !_ok_ { err = errors.New("index error"); return }; _v.Index = int32(_tempNum_) } + { var _ok_ bool; if _v.Texiao, _ok_ = _buf["texiao"].(string); !_ok_ { err = errors.New("texiao error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dlp"].(float64); !_ok_ { err = errors.New("dlp error"); return }; _v.Dlp = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hcnum"].(float64); !_ok_ { err = errors.New("hcnum error"); return }; _v.Hcnum = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["htype"].(float64); !_ok_ { err = errors.New("htype error"); return }; _v.Htype = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tujing"].(float64); !_ok_ { err = errors.New("tujing error"); return }; _v.Tujing = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["usetz"].(float64); !_ok_ { err = errors.New("usetz error"); return }; _v.Usetz = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["shuliangshangxian"].(float64); !_ok_ { err = errors.New("shuliangshangxian error"); return }; _v.Shuliangshangxian = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["uselv"].(float64); !_ok_ { err = errors.New("uselv error"); return }; _v.Uselv = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ismutil"].(float64); !_ok_ { err = errors.New("ismutil error"); return }; _v.Ismutil = 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; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } } + { var _ok_ bool; if _v.Ico, _ok_ = _buf["ico"].(string); !_ok_ { err = errors.New("ico error"); return } } + { var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } } + { var _ok_ bool; if _v.Sale, _ok_ = _buf["sale"].(string); !_ok_ { err = errors.New("sale error"); return } } + return +} diff --git a/sys/configure/structs/game.language.go b/sys/configure/structs/game.language.go new file mode 100644 index 000000000..0c4024d2e --- /dev/null +++ b/sys/configure/structs/game.language.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 Game_language struct { + _dataMap map[string]*Game_languageData + _dataList []*Game_languageData +} + +func NewGame_language(_buf []map[string]interface{}) (*Game_language, error) { + _dataList := make([]*Game_languageData, 0, len(_buf)) + dataMap := make(map[string]*Game_languageData) + for _, _ele_ := range _buf { + if _v, err2 := NewGame_languageData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &Game_language{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *Game_language) GetDataMap() map[string]*Game_languageData { + return table._dataMap +} + +func (table *Game_language) GetDataList() []*Game_languageData { + return table._dataList +} + +func (table *Game_language) Get(key string) *Game_languageData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/game.languageData.go b/sys/configure/structs/game.languageData.go new file mode 100644 index 000000000..fd0a408e2 --- /dev/null +++ b/sys/configure/structs/game.languageData.go @@ -0,0 +1,43 @@ + +//------------------------------------------------------------------------------ +// +// 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 Game_languageData struct { + Id string + Maps map[string]string +} + +func (Game_languageData) GetTypeId() int { + return -1436621922 +} + +func NewGame_languageData(_buf map[string]interface{}) (_v *Game_languageData, err error) { + _v = &Game_languageData{} + { var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["maps"].([]interface{}); !_ok_ { err = errors.New("maps error"); return } + + _v.Maps = make(map[string]string) + + for _, _e_ := range _arr_ { + var _kv_ []interface{} + if _kv_, _ok_ = _e_.([]interface{}); !_ok_ || len(_kv_) != 2 { err = errors.New("maps error"); return } + var _key_ string + { if _key_, _ok_ = _kv_[0].(string); !_ok_ { err = errors.New("_key_ error"); return } } + var _value_ string + { if _value_, _ok_ = _kv_[1].(string); !_ok_ { err = errors.New("_value_ error"); return } } + _v.Maps[_key_] = _value_ + } + } + return +} diff --git a/sys/configure/structs/game.plot.go b/sys/configure/structs/game.plot.go new file mode 100644 index 000000000..dc383d4cf --- /dev/null +++ b/sys/configure/structs/game.plot.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 Game_plot struct { + _dataMap map[int32]*Game_plotData + _dataList []*Game_plotData +} + +func NewGame_plot(_buf []map[string]interface{}) (*Game_plot, error) { + _dataList := make([]*Game_plotData, 0, len(_buf)) + dataMap := make(map[int32]*Game_plotData) + for _, _ele_ := range _buf { + if _v, err2 := NewGame_plotData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Sameid] = _v + } + } + return &Game_plot{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *Game_plot) GetDataMap() map[int32]*Game_plotData { + return table._dataMap +} + +func (table *Game_plot) GetDataList() []*Game_plotData { + return table._dataList +} + +func (table *Game_plot) Get(key int32) *Game_plotData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/game.plotData.go b/sys/configure/structs/game.plotData.go new file mode 100644 index 000000000..de75b0825 --- /dev/null +++ b/sys/configure/structs/game.plotData.go @@ -0,0 +1,31 @@ + +//------------------------------------------------------------------------------ +// +// 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 Game_plotData struct { + Sameid int32 + Skip bool + Name string + Describe string +} + +func (Game_plotData) GetTypeId() int { + return -750874969 +} + +func NewGame_plotData(_buf map[string]interface{}) (_v *Game_plotData, err error) { + _v = &Game_plotData{} + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sameid"].(float64); !_ok_ { err = errors.New("sameid error"); return }; _v.Sameid = int32(_tempNum_) } + { var _ok_ bool; if _v.Skip, _ok_ = _buf["skip"].(bool); !_ok_ { err = errors.New("skip error"); return } } + { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } } + { var _ok_ bool; if _v.Describe, _ok_ = _buf["describe"].(string); !_ok_ { err = errors.New("describe error"); return } } + return +} diff --git a/sys/configure/structs/game.skill.go b/sys/configure/structs/game.skill.go new file mode 100644 index 000000000..fdda767b1 --- /dev/null +++ b/sys/configure/structs/game.skill.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 Game_skill struct { + _dataMap map[int32]*Game_skillData + _dataList []*Game_skillData +} + +func NewGame_skill(_buf []map[string]interface{}) (*Game_skill, error) { + _dataList := make([]*Game_skillData, 0, len(_buf)) + dataMap := make(map[int32]*Game_skillData) + for _, _ele_ := range _buf { + if _v, err2 := NewGame_skillData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Sameid] = _v + } + } + return &Game_skill{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *Game_skill) GetDataMap() map[int32]*Game_skillData { + return table._dataMap +} + +func (table *Game_skill) GetDataList() []*Game_skillData { + return table._dataList +} + +func (table *Game_skill) Get(key int32) *Game_skillData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/game.skillData.go b/sys/configure/structs/game.skillData.go new file mode 100644 index 000000000..e7a12f314 --- /dev/null +++ b/sys/configure/structs/game.skillData.go @@ -0,0 +1,43 @@ + +//------------------------------------------------------------------------------ +// +// 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 Game_skillData struct { + Sameid int32 + Heroid int32 + Lv int32 + Type int32 + Skilllv int32 + Act string + Skill string + Tubiao string + Name string + Describe string +} + +func (Game_skillData) GetTypeId() int { + return -1600555361 +} + +func NewGame_skillData(_buf map[string]interface{}) (_v *Game_skillData, err error) { + _v = &Game_skillData{} + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sameid"].(float64); !_ok_ { err = errors.New("sameid error"); return }; _v.Sameid = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["heroid"].(float64); !_ok_ { err = errors.New("heroid error"); return }; _v.Heroid = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lv"].(float64); !_ok_ { err = errors.New("lv error"); return }; _v.Lv = 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["skilllv"].(float64); !_ok_ { err = errors.New("skilllv error"); return }; _v.Skilllv = int32(_tempNum_) } + { var _ok_ bool; if _v.Act, _ok_ = _buf["act"].(string); !_ok_ { err = errors.New("act error"); return } } + { var _ok_ bool; if _v.Skill, _ok_ = _buf["skill"].(string); !_ok_ { err = errors.New("skill error"); return } } + { var _ok_ bool; if _v.Tubiao, _ok_ = _buf["tubiao"].(string); !_ok_ { err = errors.New("tubiao error"); return } } + { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } } + { var _ok_ bool; if _v.Describe, _ok_ = _buf["describe"].(string); !_ok_ { err = errors.New("describe error"); return } } + return +} diff --git a/sys/configure/structs/game.ui.go b/sys/configure/structs/game.ui.go new file mode 100644 index 000000000..b10aa45ea --- /dev/null +++ b/sys/configure/structs/game.ui.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 Game_ui struct { + _dataMap map[string]*Game_uiData + _dataList []*Game_uiData +} + +func NewGame_ui(_buf []map[string]interface{}) (*Game_ui, error) { + _dataList := make([]*Game_uiData, 0, len(_buf)) + dataMap := make(map[string]*Game_uiData) + for _, _ele_ := range _buf { + if _v, err2 := NewGame_uiData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &Game_ui{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *Game_ui) GetDataMap() map[string]*Game_uiData { + return table._dataMap +} + +func (table *Game_ui) GetDataList() []*Game_uiData { + return table._dataList +} + +func (table *Game_ui) Get(key string) *Game_uiData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/game.uiData.go b/sys/configure/structs/game.uiData.go new file mode 100644 index 000000000..38b81fb85 --- /dev/null +++ b/sys/configure/structs/game.uiData.go @@ -0,0 +1,43 @@ + +//------------------------------------------------------------------------------ +// +// 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 Game_uiData struct { + Id string + File string + Unloadpkg int32 + Loadtype int32 + Full int32 + Blur int32 + Package string + Packagename string + Comname string + Des string +} + +func (Game_uiData) GetTypeId() int { + return -473993766 +} + +func NewGame_uiData(_buf map[string]interface{}) (_v *Game_uiData, err error) { + _v = &Game_uiData{} + { var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } } + { var _ok_ bool; if _v.File, _ok_ = _buf["file"].(string); !_ok_ { err = errors.New("file error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["unloadpkg"].(float64); !_ok_ { err = errors.New("unloadpkg error"); return }; _v.Unloadpkg = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["loadtype"].(float64); !_ok_ { err = errors.New("loadtype error"); return }; _v.Loadtype = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["full"].(float64); !_ok_ { err = errors.New("full error"); return }; _v.Full = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["blur"].(float64); !_ok_ { err = errors.New("blur error"); return }; _v.Blur = int32(_tempNum_) } + { var _ok_ bool; if _v.Package, _ok_ = _buf["package"].(string); !_ok_ { err = errors.New("package error"); return } } + { var _ok_ bool; if _v.Packagename, _ok_ = _buf["packagename"].(string); !_ok_ { err = errors.New("packagename error"); return } } + { var _ok_ bool; if _v.Comname, _ok_ = _buf["comname"].(string); !_ok_ { err = errors.New("comname error"); return } } + { var _ok_ bool; if _v.Des, _ok_ = _buf["des"].(string); !_ok_ { err = errors.New("des error"); return } } + return +} diff --git a/sys/db/pack.go b/sys/db/pack.go index b50b51f62..b159c3caf 100644 --- a/sys/db/pack.go +++ b/sys/db/pack.go @@ -1,10 +1,12 @@ package db import ( + "fmt" "go_dreamfactory/pb" "github.com/liwei1dao/lego/core" "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo/options" ) const ( //Redis @@ -12,12 +14,63 @@ const ( //Redis ) type IPack interface { - QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error) + Pack_InitUserPack(uId string) (pack *pb.DB_UserPackData, err error) + Pack_QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error) + Pack_UpdateGridToUserPack(uId string, grids ...*pb.DB_GridData) (pack *pb.DB_UserPackData, err error) +} + +func (this *DB) Pack_InitUserPack(uId string) (pack *pb.DB_UserPackData, err error) { + pack = &pb.DB_UserPackData{UserId: uId, Pack: make([]*pb.DB_GridData, 0)} + _, err = this.mgo.InsertOne(DB_PackTable, pack) + return } ///查询用户背包数据 -func (this *DB) QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error) { +func (this *DB) Pack_QueryUserPack(uId string) (pack *pb.DB_UserPackData, err error) { pack = &pb.DB_UserPackData{} err = this.mgo.FindOne(DB_PackTable, bson.M{"_id": uId}).Decode(pack) return } + +//更新背包格子数据 +func (this *DB) Pack_UpdateGridToUserPack(uId string, grids ...*pb.DB_GridData) (pack *pb.DB_UserPackData, err error) { + pack = &pb.DB_UserPackData{} + update := bson.M{} + for _, v := range grids { + update[fmt.Sprintf("pack.%d.gridid", v.GridId)] = v.GridId + update[fmt.Sprintf("pack.%d.isempty", v.GridId)] = v.IsEmpty + update[fmt.Sprintf("pack.%d.itemid", v.GridId)] = v.ItemId + update[fmt.Sprintf("pack.%d.amount", v.GridId)] = v.Amount + update[fmt.Sprintf("pack.%d.isnewitem", v.GridId)] = v.IsNewItem + } + + err = this.mgo.FindOneAndUpdate(DB_PackTable, + bson.M{"_id": uId}, + bson.M{"$set": update}, + options.FindOneAndUpdate().SetUpsert(true).SetReturnDocument(options.After)).Decode(pack) + return +} + +//更新背包格子物品的数据 +func (this *DB) Pack_AddGridAmountToUserPack(uId string, grid int32, amount int32) (pack *pb.DB_UserPackData, err error) { + pack = &pb.DB_UserPackData{} + err = this.mgo.FindOneAndUpdate(DB_PackTable, + bson.M{"_id": uId}, + bson.M{"$inc": bson.M{ + fmt.Sprintf("pack.%d.amount", grid): amount, + }}, + options.FindOneAndUpdate().SetUpsert(true).SetReturnDocument(options.After)).Decode(pack) + return +} + +//修改背包格子IsNew标识 +func (this *DB) Pack_ModifyPackGridIsNewItem(uId string, grids []int32) (pack *pb.DB_UserPackData, err error) { + pack = &pb.DB_UserPackData{} + identifier := []interface{}{bson.M{"item.gridid": bson.M{"$in": grids}}} + err = this.mgo.FindOneAndUpdate(DB_PackTable, + bson.M{"_id": uId}, + bson.M{"$set": bson.M{ + "pack.$[item].isNewitem": false, + }}, options.FindOneAndUpdate().SetArrayFilters(options.ArrayFilters{Filters: identifier}).SetReturnDocument(options.After)).Decode(pack) + return +} diff --git a/sys/db/pack_test.go b/sys/db/pack_test.go new file mode 100644 index 000000000..8123bb5a9 --- /dev/null +++ b/sys/db/pack_test.go @@ -0,0 +1,58 @@ +package db + +import ( + "go_dreamfactory/pb" + "testing" + + "github.com/stretchr/testify/require" +) + +func Test_Pack_InitUserPack(t *testing.T) { + _, err := db.Pack_InitUserPack("liwei1dao") + require.Nil(t, err) +} + +func Test_Pack_UpdateGridToUserPack(t *testing.T) { + data, err := db.Pack_UpdateGridToUserPack("liwei1dao", + &pb.DB_GridData{ + + GridId: 0, + IsEmpty: false, + ItemId: 1001, + Amount: 202, + IsNewItem: true, + }, + &pb.DB_GridData{ + GridId: 1, + IsEmpty: false, + ItemId: 1002, + Amount: 202, + IsNewItem: true, + }, + &pb.DB_GridData{ + GridId: 2, + IsEmpty: false, + ItemId: 1003, + Amount: 202, + IsNewItem: true, + }, + ) + require.Nil(t, err) + require.Nil(t, data) +} +func Test_Pack_QueryUserPack(t *testing.T) { + data, err := db.Pack_QueryUserPack("liwei1dao") + require.Nil(t, err) + require.Nil(t, data) +} + +func Test_Pack_UpdateGridAmountToUserPack(t *testing.T) { + data, err := db.Pack_AddGridAmountToUserPack("liwei1dao", 0, 102) + require.Nil(t, err) + require.Nil(t, data) +} +func Test_Pack_ModifyPackGridIsNewItem(t *testing.T) { + data, err := db.Pack_ModifyPackGridIsNewItem("liwei1dao", []int32{0, 1}) + require.Nil(t, err) + require.Nil(t, data) +}