上传测试代码

This commit is contained in:
liwei1dao 2022-06-07 19:50:08 +08:00
parent 1b595e0a11
commit aa47570de9
33 changed files with 2837 additions and 291 deletions

View File

@ -0,0 +1,10 @@
[
{
"name": "本地测试服1",
"ips": "10.0.1.11:9999"
},
{
"name": "本地测试服2",
"ips": "homm20.legu.cc:6352"
}
]

552
bin/json/game_hero.json Normal file
View File

@ -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"
}
]

1
bin/json/game_item.json Normal file
View File

@ -0,0 +1 @@
[]

366
bin/json/game_language.json Normal file
View File

@ -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"
]
]
}
]

8
bin/json/game_plot.json Normal file
View File

@ -0,0 +1,8 @@
[
{
"sameid": 1,
"skip": true,
"name": "Cutscene_Fight",
"describe": "一段垃圾的剧情,臭"
}
]

482
bin/json/game_skill.json Normal file
View File

@ -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%攻击伤害"
}
]

422
bin/json/game_ui.json Normal file
View File

@ -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": "战斗布阵界面"
}
]

BIN
go_dreamfactory.rar Normal file

Binary file not shown.

View File

@ -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
}

View File

@ -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
}

View File

@ -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"` // 邮件列表
}

View File

@ -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

View File

@ -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,
},

View File

@ -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; //
}

View File

@ -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; //使
}
//

View File

@ -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,

57
sys/cache/pack.go vendored
View File

@ -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
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type 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]
}

View File

@ -0,0 +1,27 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type 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
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type 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]
}

View File

@ -0,0 +1,69 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type 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
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type 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]
}

View File

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type 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
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type 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]
}

View File

@ -0,0 +1,43 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type 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
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type 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]
}

View File

@ -0,0 +1,31 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type 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
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type 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]
}

View File

@ -0,0 +1,43 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type 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
}

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type 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]
}

View File

@ -0,0 +1,43 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type 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
}

View File

@ -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
}

58
sys/db/pack_test.go Normal file
View File

@ -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)
}