diff --git a/assets/resources/config/game/NetCode.json b/assets/resources/config/game/NetCode.json index 218eb3a..48c445c 100644 --- a/assets/resources/config/game/NetCode.json +++ b/assets/resources/config/game/NetCode.json @@ -1 +1,11 @@ -{"1":{"describe":"成功"},"2":{"describe":"服务器错误"},"3":{"describe":"数据库错误"}} \ No newline at end of file +{ + "1": { + "describe": "成功" + }, + "2": { + "describe": "服务器错误" + }, + "3": { + "describe": "数据库错误" + } +} \ No newline at end of file diff --git a/assets/resources/config/game/arms.json b/assets/resources/config/game/arms.json index 3c9c46c..9817f62 100644 --- a/assets/resources/config/game/arms.json +++ b/assets/resources/config/game/arms.json @@ -1,259 +1,17 @@ { "1": { "armsName": "剑客", - "armsIntr": "初级的剑道学者,由于经常于道馆室内训练,所以擅长室内地形作战。", - "isMelee": 1, - "isCavalry": 0, "armsType": 1, "armsLevel": 1, "weaponType": [ 1 ], - "viceWeaponType": [], - "armorType": 1, - "powerGrowth": 0, - "agileGrowth": 26, - "physicalGrowth": 0, - "skillGrowth": 22, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 0, - "agile": 1, - "physical": 0, - "skill": 1, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:50", - "attributeNeed": {}, - "anim": "pianshoujian", - "skill1": [ - 104, - 120, - 121 - ], - "skill2": [ - 105 - ], - "skill3": [], - "skill4": [ - 244, - 252, - 242, - 257, - 240 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "2": { - "armsName": "一刀流", - "armsIntr": "追求一击必杀的剑豪。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 1, - "armsLevel": 2, - "weaponType": [ - 1 - ], - "viceWeaponType": [], - "armorType": 1, - "powerGrowth": 34, - "agileGrowth": 50, - "physicalGrowth": 0, - "skillGrowth": 49, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 1, + "power": 8, "agile": 2, - "physical": 0, - "skill": 3, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:200,1:10042:10,1:10049:3", - "attributeNeed": { - "agile": 15, - "skill": 10 - }, - "anim": "cike", - "skill1": [ - 106, - 107, - 108, - 120, - 121 - ], - "skill2": [ - 222 - ], - "skill3": [ - 109, - 110 - ], - "skill4": [ - 244, - 252, - 242, - 257, - 240, - 241, - 239 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "3": { - "armsName": "二刀流", - "armsIntr": "随身携带胁差,善于招架后反击敌人。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 1, - "armsLevel": 2, - "weaponType": [ - 1 - ], - "viceWeaponType": [ - 9 - ], - "armorType": 1, - "powerGrowth": 34, - "agileGrowth": 54, - "physicalGrowth": 0, - "skillGrowth": 43, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 0, - "agile": 2, - "physical": 1, - "skill": 3, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:200,1:10042:10,1:10049:3", - "attributeNeed": { - "skill": 15, - "agile": 10 - }, - "anim": "chuxinzhe_nv", - "skill1": [ - 106, - 112, - 113, - 120, - 121 - ], - "skill2": [ - 111 - ], - "skill3": [ - 114, - 115 - ], - "skill4": [ - 244, - 252, - 259, - 236, - 240, - 241, - 239 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "4": { - "armsName": "剑圣", - "armsIntr": "独到的心眼,即便双目失明,也可以通过感知来寻找敌人的弱点。并且有着极快的出剑速度,这让绝大部分都无法抵挡。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 1, - "armsLevel": 3, - "weaponType": [ - 1 - ], - "viceWeaponType": [], - "armorType": 1, - "powerGrowth": 51, - "agileGrowth": 88, - "physicalGrowth": 0, - "skillGrowth": 94, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 0, - "agile": 3, - "physical": 3, - "skill": 4, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "1:20001:1,1:10042:16,1:10046:1", - "attributeNeed": { - "skill": 30, - "agile": 22 - }, - "anim": "chuxinzhe", - "skill1": [ - 116, - 120, - 121 - ], - "skill2": [ - 119 - ], - "skill3": [ - 117, - 118 - ], - "skill4": [ - 244, - 252, - 242, - 257, - 240, - 241, - 239 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] + "physical": 10 }, "5": { - "armsName": "下忍", - "armsIntr": "下级忍者,适合收割残血敌人。", - "isMelee": 1, - "isCavalry": 0, + "armsName": "刺客", "armsType": 3, "armsLevel": 1, "weaponType": [ @@ -261,1481 +19,19 @@ 11, 12 ], - "viceWeaponType": [], - "armorType": 1, - "powerGrowth": 0, - "agileGrowth": 16, - "physicalGrowth": 0, - "skillGrowth": 0, - "willGrowth": 30, - "preciseGrowth": 0, - "power": 0, - "agile": 1, - "physical": 0, - "skill": 0, - "will": 1, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:50", - "attributeNeed": {}, - "anim": "pianshoujian", - "skill1": [ - 132, - 133, - 135, - 140 - ], - "skill2": [ - 134 - ], - "skill3": [ - 142, - 143 - ], - "skill4": [ - 251, - 261, - 237, - 257, - 244, - 258 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "6": { - "armsName": "影舞者", - "armsIntr": "善于刺杀、潜行、支援的忍者,可以轻易的扭转战局。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 3, - "armsLevel": 2, - "weaponType": [ - 10, - 11, - 12 - ], - "viceWeaponType": [], - "armorType": 2, - "powerGrowth": 0, - "agileGrowth": 28, - "physicalGrowth": 0, - "skillGrowth": 50, - "willGrowth": 50, - "preciseGrowth": 0, - "power": 0, - "agile": 0, - "physical": 1, - "skill": 0, - "will": 3, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:200,1:10021:10,1:10027:3", - "attributeNeed": { - "will": 15, - "physical": 10 - }, - "anim": "cike", - "skill1": [ - 132, - 138, - 139, - 140, - 133, - 135 - ], - "skill2": [ - 137 - ], - "skill3": [ - 136, - 142, - 143 - ], - "skill4": [ - 251, - 261, - 237, - 241, - 240 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "7": { - "armsName": "战忍", - "armsIntr": "高阶忍者,是一种特种作战单位,在战场中可以像武士一样近距离战斗。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 3, - "armsLevel": 3, - "weaponType": [ - 10, - 11, - 12 - ], - "viceWeaponType": [], - "armorType": 2, - "powerGrowth": 0, - "agileGrowth": 70, - "physicalGrowth": 0, - "skillGrowth": 51, - "willGrowth": 74, - "preciseGrowth": 0, - "power": 0, - "agile": 2, - "physical": 0, - "skill": 1, - "will": 4, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "1:20002:1,1:10042:16,1:10030:1", - "attributeNeed": { - "will": 30, - "agile": 22 - }, - "anim": "chuxinzhe_nv", - "skill1": [ - 132, - 140, - 133, - 135 - ], - "skill2": [ - 141 - ], - "skill3": [ - 142, - 143, - 144 - ], - "skill4": [ - 251, - 261, - 237, - 257, - 244, - 258 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "8": { - "armsName": "竹弓手", - "armsIntr": "使用竹制弓的基本射手。擅长针对布甲。", - "isMelee": 0, - "isCavalry": 0, - "armsType": 4, - "armsLevel": 1, - "weaponType": [ - 5 - ], - "viceWeaponType": [], - "armorType": 1, - "powerGrowth": 0, - "agileGrowth": 0, - "physicalGrowth": 0, - "skillGrowth": 30, - "willGrowth": 29, - "preciseGrowth": 0, - "power": 0, - "agile": 1, - "physical": 0, - "skill": 1, - "will": 0, - "precise": 0, - "atkDistance": [ - "-2:0", - "2:0", - "0:2", - "0:-2" - ], - "move": 2, - "transferNeed": "3:9003:50", - "attributeNeed": {}, - "anim": "chuxinzhe", - "skill1": [ - 123, - 145, - 147 - ], - "skill2": [ - 146 - ], - "skill3": [ - 163 - ], - "skill4": [ - 240, - 241, - 242, - 252 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] + "power": 5, + "agile": 10, + "physical": 8 }, "9": { "armsName": "长弓手", - "armsIntr": "射距长远是长弓手的优势,是弓手中的佼佼者。", - "isMelee": 0, - "isCavalry": 0, "armsType": 4, "armsLevel": 2, "weaponType": [ 5 ], - "viceWeaponType": [], - "armorType": 2, - "powerGrowth": 22, - "agileGrowth": 0, - "physicalGrowth": 0, - "skillGrowth": 48, - "willGrowth": 0, - "preciseGrowth": 53, - "power": 1, - "agile": 2, - "physical": 0, - "skill": 2, - "will": 0, - "precise": 0, - "atkDistance": [ - "-2:0", - "2:0", - "0:2", - "0:-2" - ], - "move": 2, - "transferNeed": "3:9003:200,1:10021:10,1:10032:3", - "attributeNeed": { - "agile": 15, - "precise": 10 - }, - "anim": "pianshoujian", - "skill1": [ - 123, - 124, - 145, - 149, - 150 - ], - "skill2": [ - 148 - ], - "skill3": [ - 159, - 163, - 167 - ], - "skill4": [ - 254, - 262, - 246, - 240, - 241 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "10": { - "armsName": "重弓手", - "armsIntr": "能拉动金属弓,善于满弦射击,一般护甲都难以抵挡。", - "isMelee": 0, - "isCavalry": 0, - "armsType": 4, - "armsLevel": 2, - "weaponType": [ - 5 - ], - "viceWeaponType": [], - "armorType": 2, - "powerGrowth": 54, - "agileGrowth": 0, - "physicalGrowth": 0, - "skillGrowth": 40, - "willGrowth": 0, - "preciseGrowth": 22, - "power": 1, - "agile": 3, - "physical": 0, - "skill": 3, - "will": 0, - "precise": 0, - "atkDistance": [ - "-2:0", - "2:0", - "0:2", - "0:-2" - ], - "move": 2, - "transferNeed": "3:9003:200,1:10021:10,1:10032:3", - "attributeNeed": { - "agile": 15, - "power": 10 - }, - "anim": "cike", - "skill1": [ - 145, - 152 - ], - "skill2": [ - 151 - ], - "skill3": [ - 159, - 163, - 167 - ], - "skill4": [ - 232, - 241, - 240, - 254, - 246, - 262 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "11": { - "armsName": "铁炮手", - "armsIntr": "一个擅长队列的作战的职业,火器的伤害是甲胄无法抵挡的。但由于射击需要填装弹药,所以攻击频率慢是短板。", - "isMelee": 0, - "isCavalry": 0, - "armsType": 4, - "armsLevel": 3, - "weaponType": [ - 7, - 8 - ], - "viceWeaponType": [], - "armorType": 2, - "powerGrowth": 0, - "agileGrowth": 54, - "physicalGrowth": 0, - "skillGrowth": 66, - "willGrowth": 0, - "preciseGrowth": 94, - "power": 0, - "agile": 2, - "physical": 0, - "skill": 3, - "will": 0, - "precise": 3, - "atkDistance": [ - "-2:0", - "-3:0", - "-4:0", - "2:0", - "3:0", - "4:0", - "0:-2", - "0:-3", - "0:-4", - "0:4", - "0:3", - "0:2" - ], - "move": 2, - "transferNeed": "1:20003:1,1:10021:16,1:10025:1", - "attributeNeed": { - "precise": 30, - "skill": 22 - }, - "anim": "chuxinzhe_nv", - "skill1": [ - 127, - 154, - 155, - 156, - 166 - ], - "skill2": [ - 160 - ], - "skill3": [ - 157, - 158, - 159, - 167 - ], - "skill4": [ - 245, - 242, - 252, - 260 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "12": { - "armsName": "弩手", - "armsIntr": "强大的弩可以击穿各种甲胄,是战场中的中坚力量。", - "isMelee": 0, - "isCavalry": 0, - "armsType": 4, - "armsLevel": 3, - "weaponType": [ - 6 - ], - "viceWeaponType": [], - "armorType": 3, - "powerGrowth": 76, - "agileGrowth": 0, - "physicalGrowth": 0, - "skillGrowth": 90, - "willGrowth": 0, - "preciseGrowth": 17, - "power": 2, - "agile": 3, - "physical": 0, - "skill": 3, - "will": 0, - "precise": 0, - "atkDistance": [ - "-2:0", - "2:0", - "0:2", - "0:-2", - "-1:-1", - "-1:1", - "1:1", - "1:-1" - ], - "move": 2, - "transferNeed": "1:20004:1,1:10021:16,1:10059:1", - "attributeNeed": { - "skill": 30, - "agile": 22 - }, - "anim": "chuxinzhe", - "skill1": [ - 145, - 147, - 161, - 162 - ], - "skill2": [ - 164 - ], - "skill3": [ - 163, - 167 - ], - "skill4": [ - 240, - 241, - 242, - 252, - 255 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "13": { - "armsName": "骑马武士", - "armsIntr": "最基础的骑马兵种,没有特别之处。", - "isMelee": 1, - "isCavalry": 1, - "armsType": 5, - "armsLevel": 1, - "weaponType": [ - 3 - ], - "viceWeaponType": [ - 16 - ], - "armorType": 2, - "powerGrowth": 28, - "agileGrowth": 0, - "physicalGrowth": 30, - "skillGrowth": 0, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 1, - "agile": 0, - "physical": 1, - "skill": 0, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:50", - "attributeNeed": {}, - "anim": "pianshoujian", - "skill1": [ - 165, - 170, - 171, - 176, - 104 - ], - "skill2": [ - 172 - ], - "skill3": [ - 174, - 177 - ], - "skill4": [ - 232, - 233, - 249, - 234, - 250 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "14": { - "armsName": "弓骑兵", - "armsIntr": "擅长在马背上骑射,射击后还能继续位移是弓骑兵最大的亮点。", - "isMelee": 0, - "isCavalry": 1, - "armsType": 5, - "armsLevel": 2, - "weaponType": [ - 5 - ], - "viceWeaponType": [], - "armorType": 2, - "powerGrowth": 50, - "agileGrowth": 0, - "physicalGrowth": 28, - "skillGrowth": 48, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 0, - "agile": 2, - "physical": 1, - "skill": 1, - "will": 0, - "precise": 0, - "atkDistance": [ - "-2:0", - "2:0", - "0:2", - "0:-2" - ], - "move": 2, - "transferNeed": "3:9003:200,1:10026:10,1:10019:1", - "attributeNeed": { - "agile": 15, - "skill": 10 - }, - "anim": "cike", - "skill1": [ - 145, - 123 - ], - "skill2": [ - 153 - ], - "skill3": [ - 163, - 167 - ], - "skill4": [ - 232, - 241, - 240, - 249 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "15": { - "armsName": "枪骑兵", - "armsIntr": "擅长在马背上双手使用长柄武器,舍去了防护,是进攻扰敌的利器。", - "isMelee": 1, - "isCavalry": 1, - "armsType": 5, - "armsLevel": 2, - "weaponType": [ - 3, - 4 - ], - "viceWeaponType": [], - "armorType": 3, - "powerGrowth": 54, - "agileGrowth": 22, - "physicalGrowth": 46, - "skillGrowth": 0, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 2, - "agile": 1, - "physical": 1, - "skill": 0, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:200,1:10026:10,1:10019:1", - "attributeNeed": { - "power": 15, - "physical": 10 - }, - "anim": "chuxinzhe_nv", - "skill1": [ - 176, - 170, - 180, - 203, - 103, - 187, - 171, - 104 - ], - "skill2": [ - 178 - ], - "skill3": [ - 182, - 177, - 206 - ], - "skill4": [ - 232, - 249, - 238, - 250 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "16": { - "armsName": "铁炮骑兵", - "armsIntr": "善于骑马,在敌人远的时候,用铁炮远程射击。当需要缠斗的时候,还会拿起长枪近身战斗。", - "isMelee": 0, - "isCavalry": 1, - "armsType": 5, - "armsLevel": 3, - "weaponType": [ - 7, - 8 - ], - "viceWeaponType": [ - 3, - 4 - ], - "armorType": 3, - "powerGrowth": 0, - "agileGrowth": 0, - "physicalGrowth": 72, - "skillGrowth": 44, - "willGrowth": 0, - "preciseGrowth": 70, - "power": 0, - "agile": 0, - "physical": 1, - "skill": 2, - "will": 0, - "precise": 3, - "atkDistance": [ - "-2:0", - "-3:0", - "-4:0", - "2:0", - "3:0", - "4:0", - "0:-2", - "0:-3", - "0:-4", - "0:4", - "0:3", - "0:2" - ], - "move": 2, - "transferNeed": "1:20005:1,1:10047:16,1:10020:1", - "attributeNeed": { - "physical": 30, - "precise": 22 - }, - "anim": "chuxinzhe", - "skill1": [ - 127, - 155, - 156, - 166 - ], - "skill2": [ - 169 - ], - "skill3": [ - 158, - 159, - 167, - 168 - ], - "skill4": [ - 249, - 245, - 246, - 233, - 250, - 254 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "17": { - "armsName": "重装骑兵", - "armsIntr": "强大的冲锋惯性冲击在战场中,铁蹄之下皆为草芥。", - "isMelee": 1, - "isCavalry": 1, - "armsType": 5, - "armsLevel": 4, - "weaponType": [ - 3, - 4 - ], - "viceWeaponType": [ - 16 - ], - "armorType": 4, - "powerGrowth": 74, - "agileGrowth": 0, - "physicalGrowth": 111, - "skillGrowth": 69, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 4, - "agile": 2, - "physical": 4, - "skill": 0, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "1:20006:2,1:10020:1,1:10015:5", - "attributeNeed": { - "physical": 90, - "power": 60 - }, - "anim": "pianshoujian", - "skill1": [ - 165, - 171, - 176, - 204 - ], - "skill2": [ - 219 - ], - "skill3": [ - 177, - 174, - 205, - 206 - ], - "skill4": [ - 232, - 249, - 233, - 250, - 234, - 238, - 255 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "18": { - "armsName": "持刀武士", - "armsIntr": "善用太刀,可以持盾保护自己。足轻的基本兵种。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 6, - "armsLevel": 1, - "weaponType": [ - 1 - ], - "viceWeaponType": [ - 16 - ], - "armorType": 2, - "powerGrowth": 27, - "agileGrowth": 0, - "physicalGrowth": 28, - "skillGrowth": 0, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 1, - "agile": 0, - "physical": 1, - "skill": 0, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:50", - "attributeNeed": {}, - "anim": "cike", - "skill1": [ - 173, - 184, - 187, - 103, - 104 - ], - "skill2": [ - 189 - ], - "skill3": [ - 174, - 188 - ], - "skill4": [ - 232, - 233, - 249, - 234 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "19": { - "armsName": "长枪武士", - "armsIntr": "善于使用长柄类武器的武士,他们可以有效的克制骑兵的冲锋。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 6, - "armsLevel": 2, - "weaponType": [ - 3 - ], - "viceWeaponType": [], - "armorType": 2, - "powerGrowth": 49, - "agileGrowth": 0, - "physicalGrowth": 22, - "skillGrowth": 34, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 1, - "agile": 0, - "physical": 2, - "skill": 1, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:200,1:10021:10,1:10037:3", - "attributeNeed": { - "power": 15, - "skill": 10 - }, - "anim": "chuxinzhe_nv", - "skill1": [ - 179, - 180, - 104 - ], - "skill2": [ - 183 - ], - "skill3": [ - 181, - 182, - 210, - 211, - 212 - ], - "skill4": [ - 232, - 241, - 240, - 242, - 239 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "20": { - "armsName": "刀盾武士", - "armsIntr": "善于利用盾牌保护自己,可以利用格挡来有效的抵挡弓弩的打击。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 6, - "armsLevel": 2, - "weaponType": [ - 1, - 2 - ], - "viceWeaponType": [ - 16 - ], - "armorType": 2, - "powerGrowth": 33, - "agileGrowth": 0, - "physicalGrowth": 53, - "skillGrowth": 0, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 2, - "agile": 0, - "physical": 2, - "skill": 0, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:200,1:10021:10,1:10056:3", - "attributeNeed": { - "physical": 15, - "power": 10 - }, - "anim": "chuxinzhe", - "skill1": [ - 173, - 184, - 187, - 103, - 104 - ], - "skill2": [ - 186 - ], - "skill3": [ - 174, - 188, - 198, - 217 - ], - "skill4": [ - 232, - 233, - 249, - 234, - 250 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "21": { - "armsName": "胴丸枪士", - "armsIntr": "是长柄武器大师,使用不同的长柄武器,可以发挥不同的作战效果。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 6, - "armsLevel": 3, - "weaponType": [ - 2, - 3, - 4 - ], - "viceWeaponType": [], - "armorType": 3, - "powerGrowth": 70, - "agileGrowth": 0, - "physicalGrowth": 36, - "skillGrowth": 60, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 2, - "agile": 0, - "physical": 3, - "skill": 2, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "1:20008:1,1:10047:16,1:10010:1", - "attributeNeed": { - "power": 30, - "skill": 22 - }, - "anim": "pianshoujian", - "skill1": [ - 179, - 180, - 207, - 208, - 209 - ], - "skill2": [ - 213 - ], - "skill3": [ - 181, - 182, - 210, - 211, - 212 - ], - "skill4": [ - 232, - 241, - 240, - 252, - 242, - 239 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "22": { - "armsName": "胴丸武士", - "armsIntr": "身着坚韧的胴丸,有着强大的武士意志,善于使用盾牌和兵器来打击敌人。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 6, - "armsLevel": 3, - "weaponType": [ - 1, - 2 - ], - "viceWeaponType": [ - 16 - ], - "armorType": 3, - "powerGrowth": 80, - "agileGrowth": 0, - "physicalGrowth": 82, - "skillGrowth": 10, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 3, - "agile": 1, - "physical": 3, - "skill": 0, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "1:20008:1,1:10047:16,1:10035:1", - "attributeNeed": { - "physical": 30, - "power": 22 - }, - "anim": "cike", - "skill1": [ - 173, - 184, - 187, - 214, - 215 - ], - "skill2": [ - 218 - ], - "skill3": [ - 174, - 188, - 198, - 200, - 201, - 216, - 217 - ], - "skill4": [ - 232, - 233, - 249, - 234, - 75, - 247 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "32": { - "armsName": "大铠武士", - "armsIntr": "身着厚重的大铠,有着无敌一般的防御力。在战场中,宛若移动的要塞。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 6, - "armsLevel": 4, - "weaponType": [ - 1, - 2 - ], - "viceWeaponType": [], - "armorType": 4, - "powerGrowth": 99, - "agileGrowth": 0, - "physicalGrowth": 110, - "skillGrowth": 36, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 4, - "agile": 0, - "physical": 4, - "skill": 0, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "1:20007:2,1:10030:1,1:10051:5", - "attributeNeed": { - "physical": 90, - "power": 60 - }, - "anim": "chuxinzhe_nv", - "skill1": [ - 187 - ], - "skill2": [ - 220 - ], - "skill3": [ - 182, - 192, - 198, - 200, - 201, - 216 - ], - "skill4": [ - 232, - 233, - 249, - 234, - 75, - 247, - 255 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "33": { - "armsName": "浪人", - "armsIntr": "", - "isMelee": 1, - "isCavalry": 0, - "armsType": 7, - "armsLevel": 1, - "weaponType": [ - 1 - ], - "viceWeaponType": [], - "armorType": 1, - "powerGrowth": 0, - "agileGrowth": 0, - "physicalGrowth": 20, - "skillGrowth": 20, - "willGrowth": 0, - "preciseGrowth": 0, - "power": 0, - "agile": 0, - "physical": 1, - "skill": 1, - "will": 0, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:50", - "attributeNeed": {}, - "anim": "chuxinzhe", - "skill1": [], - "skill2": [], - "skill3": [], - "skill4": [], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "24": { - "armsName": "僧兵", - "armsIntr": "全身武装的和尚,善于使用剃刀攻击,有着顽强的意志,还可以辅助同伴。", - "isMelee": 1, - "isCavalry": 0, - "armsType": 7, - "armsLevel": 2, - "weaponType": [ - 3, - 4 - ], - "viceWeaponType": [], - "armorType": 2, - "powerGrowth": 48, - "agileGrowth": 0, - "physicalGrowth": 28, - "skillGrowth": 0, - "willGrowth": 42, - "preciseGrowth": 0, - "power": 0, - "agile": 1, - "physical": 2, - "skill": 0, - "will": 1, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:1200,1:20010:1,1:10034:2", - "attributeNeed": { - "power": 25, - "will": 20 - }, - "anim": "pianshoujian", - "skill1": [ - 190, - 194, - 195, - 196 - ], - "skill2": [ - 193 - ], - "skill3": [ - 191, - 197 - ], - "skill4": [ - 232, - 261, - 251, - 243, - 235, - 255 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "25": { - "armsName": "舞姬(女)", - "armsIntr": "将舞蹈带入战场,为己方的友军鼓舞士气,让武士们发挥出极致的战意!", - "isMelee": 1, - "isCavalry": 0, - "armsType": 7, - "armsLevel": 2, - "weaponType": [ - 13 - ], - "viceWeaponType": [], - "armorType": 1, - "powerGrowth": 0, - "agileGrowth": 42, - "physicalGrowth": 20, - "skillGrowth": 0, - "willGrowth": 39, - "preciseGrowth": 0, - "power": 0, - "agile": 0, - "physical": 1, - "skill": 4, - "will": 4, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:200,1:20009:1,1:10024:2", - "attributeNeed": { - "skill": 25, - "will": 20 - }, - "anim": "cike", - "skill1": [ - 190, - 196, - 211, - 226, - 227, - 228, - 231 - ], - "skill2": [ - 199 - ], - "skill3": [ - 229, - 230 - ], - "skill4": [ - 239, - 243, - 235, - 253, - 261, - 249 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] - }, - "26": { - "armsName": "军师", - "armsIntr": "", - "isMelee": 0, - "isCavalry": 0, - "armsType": 7, - "armsLevel": 2, - "weaponType": [ - 13 - ], - "viceWeaponType": [], - "armorType": 1, - "powerGrowth": 0, - "agileGrowth": 26, - "physicalGrowth": 29, - "skillGrowth": 0, - "willGrowth": 42, - "preciseGrowth": 0, - "power": 0, - "agile": 0, - "physical": 1, - "skill": 4, - "will": 4, - "precise": 0, - "atkDistance": [ - "0:-1", - "1:0", - "-1:0", - "0:1" - ], - "move": 2, - "transferNeed": "3:9003:200,1:20009:1,1:10024:2", - "attributeNeed": { - "skill": 25, - "will": 20 - }, - "anim": "cike", - "skill1": [ - 190, - 196, - 211, - 226, - 227, - 228, - 231 - ], - "skill2": [ - 199 - ], - "skill3": [ - 229, - 230 - ], - "skill4": [ - 239, - 243, - 235, - 253, - 261, - 249 - ], - "Spmax": 3, - "sockets": [ - "root/man/bone/bone2/socket1" - ] + "power": 5, + "agile": 8, + "physical": 5 } } \ No newline at end of file diff --git a/assets/resources/gui/prefab/role_info.prefab b/assets/resources/gui/prefab/role_info.prefab index 033bd87..fa71783 100644 --- a/assets/resources/gui/prefab/role_info.prefab +++ b/assets/resources/gui/prefab/role_info.prefab @@ -21,38 +21,44 @@ "__id__": 2 }, { - "__id__": 24 + "__id__": 8 }, { - "__id__": 46 + "__id__": 30 }, { - "__id__": 68 + "__id__": 52 }, { - "__id__": 90 + "__id__": 74 }, { - "__id__": 112 + "__id__": 96 + }, + { + "__id__": 118 + }, + { + "__id__": 140 } ], "_active": true, "_components": [ { - "__id__": 146 + "__id__": 174 }, { - "__id__": 148 + "__id__": 176 }, { - "__id__": 150 + "__id__": 178 }, { - "__id__": 152 + "__id__": 180 } ], "_prefab": { - "__id__": 154 + "__id__": 182 }, "_lpos": { "__type__": "cc.Vec3", @@ -82,6 +88,133 @@ }, "_id": "" }, + { + "__type__": "cc.Node", + "_name": "lab_title", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + }, + { + "__id__": 5 + } + ], + "_prefab": { + "__id__": 7 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 112.49999999999999, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 101.10135747407736, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9fV3onNnZAP6SNL2iYfdXL" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 6 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 65, + "g": 226, + "b": 226, + "a": 255 + }, + "_string": "角色属性", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 24, + "_fontSize": 24, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": true, + "_isBold": true, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e6vfZLjB9NQYCr1NX6iNZ8" + }, + { + "__type__": "cc.PrefabInfo", + "root": null, + "asset": { + "__id__": 0 + }, + "fileId": "86HbCi+kxDzo6NWAHbbNWw" + }, { "__type__": "cc.Node", "_name": "name", @@ -91,28 +224,28 @@ }, "_children": [ { - "__id__": 3 + "__id__": 9 }, { - "__id__": 11 + "__id__": 17 } ], "_active": true, "_components": [ { - "__id__": 19 + "__id__": 25 }, { - "__id__": 21 + "__id__": 27 } ], "_prefab": { - "__id__": 23 + "__id__": 29 }, "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": 82.5, + "y": 74.79999999999998, "z": 0 }, "_lrot": { @@ -142,23 +275,23 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 2 + "__id__": 8 }, "_children": [], "_active": true, "_components": [ { - "__id__": 4 + "__id__": 10 }, { - "__id__": 6 + "__id__": 12 }, { - "__id__": 8 + "__id__": 14 } ], "_prefab": { - "__id__": 10 + "__id__": 16 }, "_lpos": { "__type__": "cc.Vec3", @@ -193,11 +326,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 3 + "__id__": 9 }, "_enabled": true, "__prefab": { - "__id__": 5 + "__id__": 11 }, "_contentSize": { "__type__": "cc.Size", @@ -220,11 +353,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 3 + "__id__": 9 }, "_enabled": true, "__prefab": { - "__id__": 7 + "__id__": 13 }, "_visFlags": 0, "_customMaterial": null, @@ -237,7 +370,7 @@ "b": 255, "a": 255 }, - "_string": "等级", + "_string": "名字", "_horizontalAlign": 0, "_verticalAlign": 1, "_actualFontSize": 24, @@ -264,11 +397,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 3 + "__id__": 9 }, "_enabled": true, "__prefab": { - "__id__": 9 + "__id__": 15 }, "_params": [], "_dataID": "role_name", @@ -291,23 +424,23 @@ "_name": "value", "_objFlags": 0, "_parent": { - "__id__": 2 + "__id__": 8 }, "_children": [], "_active": true, "_components": [ { - "__id__": 12 + "__id__": 18 }, { - "__id__": 14 + "__id__": 20 }, { - "__id__": 16 + "__id__": 22 } ], "_prefab": { - "__id__": 18 + "__id__": 24 }, "_lpos": { "__type__": "cc.Vec3", @@ -343,11 +476,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 11 + "__id__": 17 }, "_enabled": true, "__prefab": { - "__id__": 13 + "__id__": 19 }, "_contentSize": { "__type__": "cc.Size", @@ -371,11 +504,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 11 + "__id__": 17 }, "_enabled": true, "__prefab": { - "__id__": 15 + "__id__": 21 }, "_visFlags": 0, "_customMaterial": null, @@ -415,15 +548,15 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 11 + "__id__": 17 }, "_enabled": true, "__prefab": { - "__id__": 17 + "__id__": 23 }, "templateMode": false, "labelType": "cc.Label", - "watchPath": "role.name", + "watchPath": "Role.name", "watchPathArr": [], "_id": "" }, @@ -444,11 +577,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 2 + "__id__": 8 }, "_enabled": true, "__prefab": { - "__id__": 20 + "__id__": 26 }, "_contentSize": { "__type__": "cc.Size", @@ -471,11 +604,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 2 + "__id__": 8 }, "_enabled": true, "__prefab": { - "__id__": 22 + "__id__": 28 }, "_resizeMode": 0, "_layoutType": 1, @@ -520,28 +653,28 @@ }, "_children": [ { - "__id__": 25 + "__id__": 31 }, { - "__id__": 33 + "__id__": 39 } ], "_active": true, "_components": [ { - "__id__": 41 + "__id__": 47 }, { - "__id__": 43 + "__id__": 49 } ], "_prefab": { - "__id__": 45 + "__id__": 51 }, "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": 52.5, + "y": 44.79999999999998, "z": 0 }, "_lrot": { @@ -571,23 +704,23 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 24 + "__id__": 30 }, "_children": [], "_active": true, "_components": [ { - "__id__": 26 + "__id__": 32 }, { - "__id__": 28 + "__id__": 34 }, { - "__id__": 30 + "__id__": 36 } ], "_prefab": { - "__id__": 32 + "__id__": 38 }, "_lpos": { "__type__": "cc.Vec3", @@ -622,11 +755,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 25 + "__id__": 31 }, "_enabled": true, "__prefab": { - "__id__": 27 + "__id__": 33 }, "_contentSize": { "__type__": "cc.Size", @@ -649,11 +782,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 25 + "__id__": 31 }, "_enabled": true, "__prefab": { - "__id__": 29 + "__id__": 35 }, "_visFlags": 0, "_customMaterial": null, @@ -693,11 +826,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 25 + "__id__": 31 }, "_enabled": true, "__prefab": { - "__id__": 31 + "__id__": 37 }, "_params": [], "_dataID": "role_lv", @@ -720,23 +853,23 @@ "_name": "value", "_objFlags": 0, "_parent": { - "__id__": 24 + "__id__": 30 }, "_children": [], "_active": true, "_components": [ { - "__id__": 34 + "__id__": 40 }, { - "__id__": 36 + "__id__": 42 }, { - "__id__": 38 + "__id__": 44 } ], "_prefab": { - "__id__": 40 + "__id__": 46 }, "_lpos": { "__type__": "cc.Vec3", @@ -772,11 +905,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 33 + "__id__": 39 }, "_enabled": true, "__prefab": { - "__id__": 35 + "__id__": 41 }, "_contentSize": { "__type__": "cc.Size", @@ -800,11 +933,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 33 + "__id__": 39 }, "_enabled": true, "__prefab": { - "__id__": 37 + "__id__": 43 }, "_visFlags": 0, "_customMaterial": null, @@ -844,15 +977,15 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 33 + "__id__": 39 }, "_enabled": true, "__prefab": { - "__id__": 39 + "__id__": 45 }, "templateMode": false, "labelType": "cc.Label", - "watchPath": "role.lv", + "watchPath": "RoleLevel.lv", "watchPathArr": [], "_id": "" }, @@ -873,11 +1006,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 30 }, "_enabled": true, "__prefab": { - "__id__": 42 + "__id__": 48 }, "_contentSize": { "__type__": "cc.Size", @@ -900,11 +1033,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 30 }, "_enabled": true, "__prefab": { - "__id__": 44 + "__id__": 50 }, "_resizeMode": 0, "_layoutType": 1, @@ -949,28 +1082,28 @@ }, "_children": [ { - "__id__": 47 + "__id__": 53 }, { - "__id__": 55 + "__id__": 61 } ], "_active": true, "_components": [ { - "__id__": 63 + "__id__": 69 }, { - "__id__": 65 + "__id__": 71 } ], "_prefab": { - "__id__": 67 + "__id__": 73 }, "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": 22.5, + "y": 14.799999999999983, "z": 0 }, "_lrot": { @@ -1000,23 +1133,23 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 46 + "__id__": 52 }, "_children": [], "_active": true, "_components": [ { - "__id__": 48 + "__id__": 54 }, { - "__id__": 50 + "__id__": 56 }, { - "__id__": 52 + "__id__": 58 } ], "_prefab": { - "__id__": 54 + "__id__": 60 }, "_lpos": { "__type__": "cc.Vec3", @@ -1051,11 +1184,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 47 + "__id__": 53 }, "_enabled": true, "__prefab": { - "__id__": 49 + "__id__": 55 }, "_contentSize": { "__type__": "cc.Size", @@ -1078,11 +1211,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 47 + "__id__": 53 }, "_enabled": true, "__prefab": { - "__id__": 51 + "__id__": 57 }, "_visFlags": 0, "_customMaterial": null, @@ -1122,11 +1255,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 47 + "__id__": 53 }, "_enabled": true, "__prefab": { - "__id__": 53 + "__id__": 59 }, "_params": [], "_dataID": "role_hp", @@ -1149,23 +1282,23 @@ "_name": "value", "_objFlags": 0, "_parent": { - "__id__": 46 + "__id__": 52 }, "_children": [], "_active": true, "_components": [ { - "__id__": 56 + "__id__": 62 }, { - "__id__": 58 + "__id__": 64 }, { - "__id__": 60 + "__id__": 66 } ], "_prefab": { - "__id__": 62 + "__id__": 68 }, "_lpos": { "__type__": "cc.Vec3", @@ -1200,11 +1333,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 55 + "__id__": 61 }, "_enabled": true, "__prefab": { - "__id__": 57 + "__id__": 63 }, "_contentSize": { "__type__": "cc.Size", @@ -1227,11 +1360,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 55 + "__id__": 61 }, "_enabled": true, "__prefab": { - "__id__": 59 + "__id__": 65 }, "_visFlags": 0, "_customMaterial": null, @@ -1271,15 +1404,15 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 55 + "__id__": 61 }, "_enabled": true, "__prefab": { - "__id__": 61 + "__id__": 67 }, "templateMode": false, "labelType": "cc.Label", - "watchPath": "role.hp", + "watchPath": "Role.hp", "watchPathArr": [ "" ], @@ -1302,11 +1435,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 46 + "__id__": 52 }, "_enabled": true, "__prefab": { - "__id__": 64 + "__id__": 70 }, "_contentSize": { "__type__": "cc.Size", @@ -1329,11 +1462,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 46 + "__id__": 52 }, "_enabled": true, "__prefab": { - "__id__": 66 + "__id__": 72 }, "_resizeMode": 0, "_layoutType": 1, @@ -1378,28 +1511,28 @@ }, "_children": [ { - "__id__": 69 + "__id__": 75 }, { - "__id__": 77 + "__id__": 83 } ], "_active": true, "_components": [ { - "__id__": 85 + "__id__": 91 }, { - "__id__": 87 + "__id__": 93 } ], "_prefab": { - "__id__": 89 + "__id__": 95 }, "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": -7.5, + "y": -15.200000000000017, "z": 0 }, "_lrot": { @@ -1429,23 +1562,23 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 68 + "__id__": 74 }, "_children": [], "_active": true, "_components": [ { - "__id__": 70 + "__id__": 76 }, { - "__id__": 72 + "__id__": 78 }, { - "__id__": 74 + "__id__": 80 } ], "_prefab": { - "__id__": 76 + "__id__": 82 }, "_lpos": { "__type__": "cc.Vec3", @@ -1481,11 +1614,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 69 + "__id__": 75 }, "_enabled": true, "__prefab": { - "__id__": 71 + "__id__": 77 }, "_contentSize": { "__type__": "cc.Size", @@ -1509,11 +1642,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 69 + "__id__": 75 }, "_enabled": true, "__prefab": { - "__id__": 73 + "__id__": 79 }, "_visFlags": 0, "_customMaterial": null, @@ -1554,11 +1687,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 69 + "__id__": 75 }, "_enabled": true, "__prefab": { - "__id__": 75 + "__id__": 81 }, "_params": [], "_dataID": "role_power", @@ -1581,23 +1714,23 @@ "_name": "value", "_objFlags": 0, "_parent": { - "__id__": 68 + "__id__": 74 }, "_children": [], "_active": true, "_components": [ { - "__id__": 78 + "__id__": 84 }, { - "__id__": 80 + "__id__": 86 }, { - "__id__": 82 + "__id__": 88 } ], "_prefab": { - "__id__": 84 + "__id__": 90 }, "_lpos": { "__type__": "cc.Vec3", @@ -1632,11 +1765,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 83 }, "_enabled": true, "__prefab": { - "__id__": 79 + "__id__": 85 }, "_contentSize": { "__type__": "cc.Size", @@ -1659,11 +1792,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 83 }, "_enabled": true, "__prefab": { - "__id__": 81 + "__id__": 87 }, "_visFlags": 0, "_customMaterial": null, @@ -1703,15 +1836,15 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 83 }, "_enabled": true, "__prefab": { - "__id__": 83 + "__id__": 89 }, "templateMode": false, "labelType": "cc.Label", - "watchPath": "role.power", + "watchPath": "Role.power", "watchPathArr": [ "" ], @@ -1734,11 +1867,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 68 + "__id__": 74 }, "_enabled": true, "__prefab": { - "__id__": 86 + "__id__": 92 }, "_contentSize": { "__type__": "cc.Size", @@ -1761,11 +1894,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 68 + "__id__": 74 }, "_enabled": true, "__prefab": { - "__id__": 88 + "__id__": 94 }, "_resizeMode": 0, "_layoutType": 1, @@ -1810,28 +1943,28 @@ }, "_children": [ { - "__id__": 91 + "__id__": 97 }, { - "__id__": 99 + "__id__": 105 } ], "_active": true, "_components": [ { - "__id__": 107 + "__id__": 113 }, { - "__id__": 109 + "__id__": 115 } ], "_prefab": { - "__id__": 111 + "__id__": 117 }, "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": -37.5, + "y": -45.20000000000002, "z": 0 }, "_lrot": { @@ -1861,23 +1994,23 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 90 + "__id__": 96 }, "_children": [], "_active": true, "_components": [ { - "__id__": 92 + "__id__": 98 }, { - "__id__": 94 + "__id__": 100 }, { - "__id__": 96 + "__id__": 102 } ], "_prefab": { - "__id__": 98 + "__id__": 104 }, "_lpos": { "__type__": "cc.Vec3", @@ -1912,11 +2045,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 91 + "__id__": 97 }, "_enabled": true, "__prefab": { - "__id__": 93 + "__id__": 99 }, "_contentSize": { "__type__": "cc.Size", @@ -1939,11 +2072,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 91 + "__id__": 97 }, "_enabled": true, "__prefab": { - "__id__": 95 + "__id__": 101 }, "_visFlags": 0, "_customMaterial": null, @@ -1983,11 +2116,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 91 + "__id__": 97 }, "_enabled": true, "__prefab": { - "__id__": 97 + "__id__": 103 }, "_params": [], "_dataID": "role_agile", @@ -2010,23 +2143,23 @@ "_name": "value", "_objFlags": 0, "_parent": { - "__id__": 90 + "__id__": 96 }, "_children": [], "_active": true, "_components": [ { - "__id__": 100 + "__id__": 106 }, { - "__id__": 102 + "__id__": 108 }, { - "__id__": 104 + "__id__": 110 } ], "_prefab": { - "__id__": 106 + "__id__": 112 }, "_lpos": { "__type__": "cc.Vec3", @@ -2061,11 +2194,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 99 + "__id__": 105 }, "_enabled": true, "__prefab": { - "__id__": 101 + "__id__": 107 }, "_contentSize": { "__type__": "cc.Size", @@ -2088,11 +2221,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 99 + "__id__": 105 }, "_enabled": true, "__prefab": { - "__id__": 103 + "__id__": 109 }, "_visFlags": 0, "_customMaterial": null, @@ -2132,15 +2265,15 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 99 + "__id__": 105 }, "_enabled": true, "__prefab": { - "__id__": 105 + "__id__": 111 }, "templateMode": false, "labelType": "cc.Label", - "watchPath": "role.agile", + "watchPath": "Role.agile", "watchPathArr": [ "" ], @@ -2163,11 +2296,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 90 + "__id__": 96 }, "_enabled": true, "__prefab": { - "__id__": 108 + "__id__": 114 }, "_contentSize": { "__type__": "cc.Size", @@ -2190,11 +2323,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 90 + "__id__": 96 }, "_enabled": true, "__prefab": { - "__id__": 110 + "__id__": 116 }, "_resizeMode": 0, "_layoutType": 1, @@ -2232,14 +2365,14 @@ }, { "__type__": "cc.Node", - "_name": "btn", + "_name": "physical", "_objFlags": 0, "_parent": { "__id__": 1 }, "_children": [ { - "__id__": 113 + "__id__": 119 }, { "__id__": 127 @@ -2248,19 +2381,448 @@ "_active": true, "_components": [ { - "__id__": 141 + "__id__": 135 }, { - "__id__": 143 + "__id__": 137 } ], "_prefab": { - "__id__": 145 + "__id__": 139 }, "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": -75, + "y": -75.20000000000002, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "name", + "_objFlags": 0, + "_parent": { + "__id__": 118 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 120 + }, + { + "__id__": 122 + }, + { + "__id__": 124 + } + ], + "_prefab": { + "__id__": 126 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -11.674999999999997, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 119 + }, + "_enabled": true, + "__prefab": { + "__id__": 121 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 48, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fcK9LtZJ1NtZPhU8+AYQMq" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 119 + }, + "_enabled": true, + "__prefab": { + "__id__": 123 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "体质", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 24, + "_fontSize": 24, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "14B8Wp98tG0IwM3MQ3GHrU" + }, + { + "__type__": "110c8vEd5NEPL/N9meGQnaX", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 119 + }, + "_enabled": true, + "__prefab": { + "__id__": 125 + }, + "_params": [], + "_dataID": "role_physical", + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "d5FmC4wHNCTYChqP0QBU6a" + }, + { + "__type__": "cc.PrefabInfo", + "root": null, + "asset": { + "__id__": 0 + }, + "fileId": "665V4G52FHYZmIRn8N1k8y" + }, + { + "__type__": "cc.Node", + "_name": "value", + "_objFlags": 0, + "_parent": { + "__id__": 118 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 128 + }, + { + "__id__": 130 + }, + { + "__id__": 132 + } + ], + "_prefab": { + "__id__": 134 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 29.000000000000004, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 127 + }, + "_enabled": true, + "__prefab": { + "__id__": 129 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 13.35, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "58usFTWaJHb61a7c2fiX5c" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 127 + }, + "_enabled": true, + "__prefab": { + "__id__": 131 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "1", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 24, + "_fontSize": 24, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4cvceD55VLPJUTB//s3VLk" + }, + { + "__type__": "545c05XsG9GDJispEGWKvYv", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 127 + }, + "_enabled": true, + "__prefab": { + "__id__": 133 + }, + "templateMode": false, + "labelType": "cc.Label", + "watchPath": "RoleBase.physical", + "watchPathArr": [ + "" + ], + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e6IVkK3xpPHIlyqWZzYg2T" + }, + { + "__type__": "cc.PrefabInfo", + "root": null, + "asset": { + "__id__": 0 + }, + "fileId": "85Qph0jnpFzIlymmdMRkLU" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 118 + }, + "_enabled": true, + "__prefab": { + "__id__": 136 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 71.35, + "height": 35 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "68eYMFb19G/oFQIMOqysno" + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 118 + }, + "_enabled": true, + "__prefab": { + "__id__": 138 + }, + "_resizeMode": 0, + "_layoutType": 1, + "_cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_startAxis": 0, + "_paddingLeft": 0, + "_paddingRight": 0, + "_paddingTop": 0, + "_paddingBottom": 0, + "_spacingX": 10, + "_spacingY": 0, + "_verticalDirection": 1, + "_horizontalDirection": 0, + "_constraint": 0, + "_constraintNum": 2, + "_affectedByScale": false, + "_isAlign": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ca8aD/GwFJxYIUGz3phZSn" + }, + { + "__type__": "cc.PrefabInfo", + "root": null, + "asset": { + "__id__": 0 + }, + "fileId": "d7NUMm1v5E+pmaGUQaZ34e" + }, + { + "__type__": "cc.Node", + "_name": "btn", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 141 + }, + { + "__id__": 155 + } + ], + "_active": true, + "_components": [ + { + "__id__": 169 + }, + { + "__id__": 171 + } + ], + "_prefab": { + "__id__": 173 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -112.70000000000002, "z": 0 }, "_lrot": { @@ -2290,27 +2852,27 @@ "_name": "btn_levelup", "_objFlags": 0, "_parent": { - "__id__": 112 + "__id__": 140 }, "_children": [ { - "__id__": 114 + "__id__": 142 } ], "_active": true, "_components": [ { - "__id__": 120 + "__id__": 148 }, { - "__id__": 122 + "__id__": 150 }, { - "__id__": 124 + "__id__": 152 } ], "_prefab": { - "__id__": 126 + "__id__": 154 }, "_lpos": { "__type__": "cc.Vec3", @@ -2345,20 +2907,20 @@ "_name": "Label", "_objFlags": 512, "_parent": { - "__id__": 113 + "__id__": 141 }, "_children": [], "_active": true, "_components": [ { - "__id__": 115 + "__id__": 143 }, { - "__id__": 117 + "__id__": 145 } ], "_prefab": { - "__id__": 119 + "__id__": 147 }, "_lpos": { "__type__": "cc.Vec3", @@ -2393,11 +2955,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 114 + "__id__": 142 }, "_enabled": true, "__prefab": { - "__id__": 116 + "__id__": 144 }, "_contentSize": { "__type__": "cc.Size", @@ -2420,11 +2982,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 114 + "__id__": 142 }, "_enabled": true, "__prefab": { - "__id__": 118 + "__id__": 146 }, "_visFlags": 0, "_customMaterial": null, @@ -2472,11 +3034,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 113 + "__id__": 141 }, "_enabled": true, "__prefab": { - "__id__": 121 + "__id__": 149 }, "_contentSize": { "__type__": "cc.Size", @@ -2499,11 +3061,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 113 + "__id__": 141 }, "_enabled": true, "__prefab": { - "__id__": 123 + "__id__": 151 }, "_visFlags": 0, "_customMaterial": null, @@ -2544,11 +3106,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 113 + "__id__": 141 }, "_enabled": true, "__prefab": { - "__id__": 125 + "__id__": 153 }, "once": false, "interval": 500, @@ -2572,27 +3134,27 @@ "_name": "btn_close", "_objFlags": 0, "_parent": { - "__id__": 112 + "__id__": 140 }, "_children": [ { - "__id__": 128 + "__id__": 156 } ], "_active": true, "_components": [ { - "__id__": 134 + "__id__": 162 }, { - "__id__": 136 + "__id__": 164 }, { - "__id__": 138 + "__id__": 166 } ], "_prefab": { - "__id__": 140 + "__id__": 168 }, "_lpos": { "__type__": "cc.Vec3", @@ -2627,20 +3189,20 @@ "_name": "Label", "_objFlags": 512, "_parent": { - "__id__": 127 + "__id__": 155 }, "_children": [], "_active": true, "_components": [ { - "__id__": 129 + "__id__": 157 }, { - "__id__": 131 + "__id__": 159 } ], "_prefab": { - "__id__": 133 + "__id__": 161 }, "_lpos": { "__type__": "cc.Vec3", @@ -2675,11 +3237,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 128 + "__id__": 156 }, "_enabled": true, "__prefab": { - "__id__": 130 + "__id__": 158 }, "_contentSize": { "__type__": "cc.Size", @@ -2702,11 +3264,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 128 + "__id__": 156 }, "_enabled": true, "__prefab": { - "__id__": 132 + "__id__": 160 }, "_visFlags": 0, "_customMaterial": null, @@ -2754,11 +3316,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 127 + "__id__": 155 }, "_enabled": true, "__prefab": { - "__id__": 135 + "__id__": 163 }, "_contentSize": { "__type__": "cc.Size", @@ -2781,11 +3343,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 127 + "__id__": 155 }, "_enabled": true, "__prefab": { - "__id__": 137 + "__id__": 165 }, "_visFlags": 0, "_customMaterial": null, @@ -2826,11 +3388,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 127 + "__id__": 155 }, "_enabled": true, "__prefab": { - "__id__": 139 + "__id__": 167 }, "once": false, "interval": 500, @@ -2854,11 +3416,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 112 + "__id__": 140 }, "_enabled": true, "__prefab": { - "__id__": 142 + "__id__": 170 }, "_contentSize": { "__type__": "cc.Size", @@ -2881,11 +3443,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 112 + "__id__": 140 }, "_enabled": true, "__prefab": { - "__id__": 144 + "__id__": 172 }, "_resizeMode": 1, "_layoutType": 1, @@ -2930,12 +3492,12 @@ }, "_enabled": true, "__prefab": { - "__id__": 147 + "__id__": 175 }, "_contentSize": { "__type__": "cc.Size", - "width": 478, - "height": 220 + "width": 300, + "height": 295.4 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2957,7 +3519,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 149 + "__id__": 177 }, "_resizeMode": 1, "_layoutType": 2, @@ -2994,7 +3556,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 151 + "__id__": 179 }, "_visFlags": 0, "_customMaterial": null, @@ -3039,7 +3601,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 153 + "__id__": 181 }, "_id": "" }, diff --git a/assets/resources/gui/prefab/role_info_base.prefab b/assets/resources/gui/prefab/role_info_base.prefab new file mode 100644 index 0000000..76677a5 --- /dev/null +++ b/assets/resources/gui/prefab/role_info_base.prefab @@ -0,0 +1,1584 @@ +[ + { + "__type__": "cc.Prefab", + "_name": "", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false + }, + { + "__type__": "cc.Node", + "_name": "role_info_base", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 8 + }, + { + "__id__": 30 + }, + { + "__id__": 52 + } + ], + "_active": true, + "_components": [ + { + "__id__": 74 + }, + { + "__id__": 76 + } + ], + "_prefab": { + "__id__": 78 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "lab_title", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + }, + { + "__id__": 5 + } + ], + "_prefab": { + "__id__": 7 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 45, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 197.10135747407736, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c5na5ec2pCQKJFpYBuPT5T" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 6 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 65, + "g": 226, + "b": 226, + "a": 255 + }, + "_string": "初始基础战斗属性", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 24, + "_fontSize": 24, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": true, + "_isBold": true, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9ctiUZZz9ILIvAci7w4CA2" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 2 + }, + "asset": { + "__id__": 0 + }, + "fileId": "b0daNarZ5MWY+v1AFYDwAk" + }, + { + "__type__": "cc.Node", + "_name": "power", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 9 + }, + { + "__id__": 17 + } + ], + "_active": true, + "_components": [ + { + "__id__": 25 + }, + { + "__id__": 27 + } + ], + "_prefab": { + "__id__": 29 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 7.300000000000001, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "name", + "_objFlags": 0, + "_parent": { + "__id__": 8 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 10 + }, + { + "__id__": 12 + }, + { + "__id__": 14 + } + ], + "_prefab": { + "__id__": 16 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -11.674999999999997, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 9 + }, + "_enabled": true, + "__prefab": { + "__id__": 11 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 48, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "6bKR+gt7lArrC2MMol0CXM" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 9 + }, + "_enabled": true, + "__prefab": { + "__id__": 13 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "力量", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 24, + "_fontSize": 24, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "66WvMqvP9GTqiHOdS0Hdrk" + }, + { + "__type__": "110c8vEd5NEPL/N9meGQnaX", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 9 + }, + "_enabled": true, + "__prefab": { + "__id__": 15 + }, + "_params": [], + "_dataID": "role_power", + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "38p1qsn9NKXqnN+YPvVTvL" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 9 + }, + "asset": { + "__id__": 0 + }, + "fileId": "47joUspmJDRagiUcf/0EG9" + }, + { + "__type__": "cc.Node", + "_name": "value", + "_objFlags": 0, + "_parent": { + "__id__": 8 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 18 + }, + { + "__id__": 20 + }, + { + "__id__": 22 + } + ], + "_prefab": { + "__id__": 24 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 29.000000000000004, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 19 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 13.35, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "5cfSDq1pFFppW+PIFd0tg2" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 21 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "1", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 24, + "_fontSize": 24, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f73BjPTm5EaY3cLXxlizZw" + }, + { + "__type__": "545c05XsG9GDJispEGWKvYv", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 23 + }, + "templateMode": false, + "labelType": "cc.Label", + "watchPath": "RoleBase.power", + "watchPathArr": [ + "" + ], + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c65/y6wctKW6xEd+Sxajl0" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 17 + }, + "asset": { + "__id__": 0 + }, + "fileId": "5dcCxBcwVG2JZchITedH9A" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 8 + }, + "_enabled": true, + "__prefab": { + "__id__": 26 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 71.35, + "height": 35 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "aeLoVbS/1GWb0YQEJxdi5o" + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 8 + }, + "_enabled": true, + "__prefab": { + "__id__": 28 + }, + "_resizeMode": 0, + "_layoutType": 1, + "_cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_startAxis": 0, + "_paddingLeft": 0, + "_paddingRight": 0, + "_paddingTop": 0, + "_paddingBottom": 0, + "_spacingX": 10, + "_spacingY": 0, + "_verticalDirection": 1, + "_horizontalDirection": 0, + "_constraint": 0, + "_constraintNum": 2, + "_affectedByScale": false, + "_isAlign": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "d1Cy6ie+hHYZHrE/XvSt06" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 8 + }, + "asset": { + "__id__": 0 + }, + "fileId": "62RSTSpolJzqx4RQuDdlqg" + }, + { + "__type__": "cc.Node", + "_name": "agile", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 31 + }, + { + "__id__": 39 + } + ], + "_active": true, + "_components": [ + { + "__id__": 47 + }, + { + "__id__": 49 + } + ], + "_prefab": { + "__id__": 51 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -22.7, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "name", + "_objFlags": 0, + "_parent": { + "__id__": 30 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 32 + }, + { + "__id__": 34 + }, + { + "__id__": 36 + } + ], + "_prefab": { + "__id__": 38 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -11.674999999999997, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 31 + }, + "_enabled": true, + "__prefab": { + "__id__": 33 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 48, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "1c3otyXo5MSY24knsWZph0" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 31 + }, + "_enabled": true, + "__prefab": { + "__id__": 35 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "敏捷", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 24, + "_fontSize": 24, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "37p0lsfl5N0YpuFCs7KPrv" + }, + { + "__type__": "110c8vEd5NEPL/N9meGQnaX", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 31 + }, + "_enabled": true, + "__prefab": { + "__id__": 37 + }, + "_params": [], + "_dataID": "role_agile", + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a4ZltwWj9K5KjiL3XYkKZG" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 31 + }, + "asset": { + "__id__": 0 + }, + "fileId": "a1aJfbn7JGzY0bdn/p72Sl" + }, + { + "__type__": "cc.Node", + "_name": "value", + "_objFlags": 0, + "_parent": { + "__id__": 30 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 40 + }, + { + "__id__": 42 + }, + { + "__id__": 44 + } + ], + "_prefab": { + "__id__": 46 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 29.000000000000004, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 39 + }, + "_enabled": true, + "__prefab": { + "__id__": 41 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 13.35, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "642RApdTZBiIi5mQEQa3oK" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 39 + }, + "_enabled": true, + "__prefab": { + "__id__": 43 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "1", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 24, + "_fontSize": 24, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "763hjhhMhCrLJuG/FDlkvW" + }, + { + "__type__": "545c05XsG9GDJispEGWKvYv", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 39 + }, + "_enabled": true, + "__prefab": { + "__id__": 45 + }, + "templateMode": false, + "labelType": "cc.Label", + "watchPath": "RoleBase.agile", + "watchPathArr": [ + "" + ], + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "19iTjRv1dIfrsaxSec80z+" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 39 + }, + "asset": { + "__id__": 0 + }, + "fileId": "69Et2P9d1HK6u+iHZb+VIw" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 30 + }, + "_enabled": true, + "__prefab": { + "__id__": 48 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 71.35, + "height": 35 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a5r7qr8PBPH4K6ibGZDvD7" + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 30 + }, + "_enabled": true, + "__prefab": { + "__id__": 50 + }, + "_resizeMode": 0, + "_layoutType": 1, + "_cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_startAxis": 0, + "_paddingLeft": 0, + "_paddingRight": 0, + "_paddingTop": 0, + "_paddingBottom": 0, + "_spacingX": 10, + "_spacingY": 0, + "_verticalDirection": 1, + "_horizontalDirection": 0, + "_constraint": 0, + "_constraintNum": 2, + "_affectedByScale": false, + "_isAlign": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "31FSAqsqpLJpDId/6VDOFE" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 30 + }, + "asset": { + "__id__": 0 + }, + "fileId": "48g8Ro881K1rsRWPwUe3E7" + }, + { + "__type__": "cc.Node", + "_name": "physical", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 53 + }, + { + "__id__": 61 + } + ], + "_active": true, + "_components": [ + { + "__id__": 69 + }, + { + "__id__": 71 + } + ], + "_prefab": { + "__id__": 73 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -52.7, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "name", + "_objFlags": 0, + "_parent": { + "__id__": 52 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 54 + }, + { + "__id__": 56 + }, + { + "__id__": 58 + } + ], + "_prefab": { + "__id__": 60 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -11.674999999999997, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 53 + }, + "_enabled": true, + "__prefab": { + "__id__": 55 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 48, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "75r4tLv1xCQb7i4d9MkyL5" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 53 + }, + "_enabled": true, + "__prefab": { + "__id__": 57 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "体质", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 24, + "_fontSize": 24, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "38V94Wp/hL/azmvWjA2/EC" + }, + { + "__type__": "110c8vEd5NEPL/N9meGQnaX", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 53 + }, + "_enabled": true, + "__prefab": { + "__id__": 59 + }, + "_params": [], + "_dataID": "role_physical", + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "21vDXGCnpG0ohBRLvioOkQ" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "c2nB/DXGRP14f8vIsH2Z0t" + }, + { + "__type__": "cc.Node", + "_name": "value", + "_objFlags": 0, + "_parent": { + "__id__": 52 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 62 + }, + { + "__id__": 64 + }, + { + "__id__": 66 + } + ], + "_prefab": { + "__id__": 68 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 29.000000000000004, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 61 + }, + "_enabled": true, + "__prefab": { + "__id__": 63 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 13.35, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "43FOPXrmBBK6z6BF13hZXk" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 61 + }, + "_enabled": true, + "__prefab": { + "__id__": 65 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "1", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 24, + "_fontSize": 24, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f9cX8gWJZLb5ZeR7rPOwEM" + }, + { + "__type__": "545c05XsG9GDJispEGWKvYv", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 61 + }, + "_enabled": true, + "__prefab": { + "__id__": 67 + }, + "templateMode": false, + "labelType": "cc.Label", + "watchPath": "RoleBase.physical", + "watchPathArr": [ + "" + ], + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "86zfpFKjNHS5+nBa0ZavMY" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "f6/3FGd6RHX6sMgmgr26qS" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 52 + }, + "_enabled": true, + "__prefab": { + "__id__": 70 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 71.35, + "height": 35 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c789UooihB5ZifPhUCYUTc" + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 52 + }, + "_enabled": true, + "__prefab": { + "__id__": 72 + }, + "_resizeMode": 0, + "_layoutType": 1, + "_cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_startAxis": 0, + "_paddingLeft": 0, + "_paddingRight": 0, + "_paddingTop": 0, + "_paddingBottom": 0, + "_spacingX": 10, + "_spacingY": 0, + "_verticalDirection": 1, + "_horizontalDirection": 0, + "_constraint": 0, + "_constraintNum": 2, + "_affectedByScale": false, + "_isAlign": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "5fBNOT6d9EAbVisaGLOjU4" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "d2lIdc+7NKe4LzTt2Z1OKf" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 75 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 300, + "height": 160.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "daDQkIF0tAebeotsBWa1OZ" + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 77 + }, + "_resizeMode": 1, + "_layoutType": 2, + "_cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_startAxis": 0, + "_paddingLeft": 0, + "_paddingRight": 0, + "_paddingTop": 10, + "_paddingBottom": 10, + "_spacingX": 0, + "_spacingY": -5, + "_verticalDirection": 1, + "_horizontalDirection": 0, + "_constraint": 0, + "_constraintNum": 2, + "_affectedByScale": false, + "_isAlign": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "64Crg0ovpMCqQSDSUejj5T" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "7c83rOJhZEar34mbkPM0nt" + } +] \ No newline at end of file diff --git a/assets/resources/gui/prefab/role_info_base.prefab.meta b/assets/resources/gui/prefab/role_info_base.prefab.meta new file mode 100644 index 0000000..d88ec9c --- /dev/null +++ b/assets/resources/gui/prefab/role_info_base.prefab.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.35", + "importer": "prefab", + "imported": true, + "uuid": "3ca889da-d664-4591-a123-063073c6609b", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "role_info_base" + } +} diff --git a/assets/resources/language/json/en.json b/assets/resources/language/json/en.json index cdcfebd..eb4d0fb 100644 --- a/assets/resources/language/json/en.json +++ b/assets/resources/language/json/en.json @@ -18,5 +18,6 @@ "role_lv": "Level", "role_hp": "HP", "role_power": "Power", + "role_physical": "Physical", "role_agile": "Agile" } \ No newline at end of file diff --git a/assets/resources/language/json/zh.json b/assets/resources/language/json/zh.json index b6f4b9b..3545850 100644 --- a/assets/resources/language/json/zh.json +++ b/assets/resources/language/json/zh.json @@ -18,5 +18,6 @@ "role_lv": "等级", "role_hp": "生命", "role_power": "力量", + "role_physical": "体质", "role_agile": "敏捷" } \ No newline at end of file diff --git a/assets/script/game/account/bll/AccountNetData.ts b/assets/script/game/account/bll/AccountNetData.ts index ec6c174..8f69378 100644 --- a/assets/script/game/account/bll/AccountNetData.ts +++ b/assets/script/game/account/bll/AccountNetData.ts @@ -10,9 +10,7 @@ import { SqlUtil } from "../../../core/common/storage/SqlUtil"; import { engine } from "../../../core/Engine"; import { ecs } from "../../../core/libs/ECS"; import { VM } from "../../../core/libs/model-view/ViewModel"; -import { ViewUtil } from "../../../core/utils/ViewUtil"; import { GameEvent } from "../../common/config/GameEvent"; -import { UIID } from "../../common/config/GameUIConfig"; import { netConfig } from "../../common/net/NetConfig"; import { Role } from "../../role/Role"; import { Account } from "../Account"; @@ -90,7 +88,11 @@ export class AccountNetDataSystem extends ecs.ComblockSystem implements ecs.IEnt role.RoleJobModel.id = data.jobId; // 角色基础属性绑定到界面上显示 - VM.add(role.RoleModel.vm, "role"); + VM.add(role.RoleModel.vm, "Role"); + // 角色等级属性绑定到界面上显示 + VM.add(role.RoleLevelModel.vm, "RoleLevel"); + // 角色初始基础属性绑定到界面上显示 + VM.add(role.RoleBaseModel.vm, "RoleBase"); // 角色动画显示对象 role.load(); diff --git a/assets/script/game/common/config/GameUIConfig.ts b/assets/script/game/common/config/GameUIConfig.ts index 46733b5..ef3897f 100644 --- a/assets/script/game/common/config/GameUIConfig.ts +++ b/assets/script/game/common/config/GameUIConfig.ts @@ -26,5 +26,5 @@ export var UIConfigData: { [key: number]: UIConfig } = { [UIID.Netinstable]: { layer: LayerType.PopUp, prefab: "common/prefab/netinstable" }, [UIID.Window]: { layer: LayerType.Dialog, prefab: "common/prefab/window" }, [UIID.Demo]: { layer: LayerType.UI, prefab: "gui/prefab/demo" }, - [UIID.Demo_Role_Info]: { layer: LayerType.Dialog, prefab: "gui/prefab/role_info" }, + [UIID.Demo_Role_Info]: { layer: LayerType.UI, prefab: "gui/prefab/role_info" }, } \ No newline at end of file diff --git a/assets/script/game/common/ecs/position/MoveTo.ts b/assets/script/game/common/ecs/position/MoveTo.ts index 123e6b9..1ba099a 100644 --- a/assets/script/game/common/ecs/position/MoveTo.ts +++ b/assets/script/game/common/ecs/position/MoveTo.ts @@ -63,7 +63,6 @@ export class MoveToSystem extends ecs.ComblockSystem implements ecs. return ecs.allOf(MoveToComp); } - entityEnter(entities: ecs.Entity[]): void { for (let e of entities) { e.add(VariableMoveToComponent); diff --git a/assets/script/game/demo/Demo.ts b/assets/script/game/demo/Demo.ts index f1578be..59ab625 100644 --- a/assets/script/game/demo/Demo.ts +++ b/assets/script/game/demo/Demo.ts @@ -4,13 +4,14 @@ * @LastEditors: dgflash * @LastEditTime: 2022-01-29 18:04:58 */ -import { Component, EventTouch, _decorator } from "cc"; +import { Component, EventTouch, Prefab, _decorator } from "cc"; +import { resLoader } from "../../core/common/loader/ResLoader"; import { engine } from "../../core/Engine"; import { tips } from "../../core/gui/prompt/TipsManager"; import { ecs } from "../../core/libs/ECS"; +import { ViewUtil } from "../../core/utils/ViewUtil"; import { UIID } from "../common/config/GameUIConfig"; import { SingletonModuleComp } from "../common/ecs/SingletonModuleComp"; -import { RoleAnimatorType } from "../role/model/RoleEnum"; const { ccclass, property } = _decorator; @@ -18,10 +19,18 @@ const { ccclass, property } = _decorator; export class Demo extends Component { private lang: boolean = true; + // onLoad() { + // var path = "gui/prefab/role_info_base"; + // resLoader.load(path, Prefab, () => { + // var node = ViewUtil.createPrefabNode(path); + // node.parent = this.node; + // }); + // } + /** 升级 */ private btn_level_up(event: EventTouch, data: any) { var role = ecs.getSingleton(SingletonModuleComp).account.AccountModel.role; - if (role.RoleLevelModel.lv < 100) role.RoleLevelModel.lv++; + role.upgrade(); } /** 转职弓箭 */ @@ -45,7 +54,7 @@ export class Demo extends Component { /** 攻击 */ private btn_attack(event: EventTouch, data: any) { var role = ecs.getSingleton(SingletonModuleComp).account.AccountModel.role; - role.RoleView.animator.setTrigger(RoleAnimatorType.Attack); + role.attack(); } /** 打开角色界面 */ diff --git a/assets/script/game/role/Role.ts b/assets/script/game/role/Role.ts index 4e7687d..7c89c9e 100644 --- a/assets/script/game/role/Role.ts +++ b/assets/script/game/role/Role.ts @@ -11,10 +11,12 @@ import { ViewUtil } from "../../core/utils/ViewUtil"; import { MoveToComp } from "../common/ecs/position/MoveTo"; import { RoleChangeJobComp } from "./bll/RoleChangeJob"; import { RoleBaseModelComp } from "./model/RoleBaseModelComp"; +import { RoleAnimatorType } from "./model/RoleEnum"; import { RoleJobModelComp } from "./model/RoleJobModelComp"; import { RoleLevelModelComp } from "./model/RoleLevelModelComp"; import { RoleModelComp } from "./model/RoleModelComp"; import { RoleViewComp } from "./view/RoleViewComp"; +import { RoleViewInfoComp } from "./view/RoleViewInfoComp"; /** * 角色实体 @@ -37,10 +39,12 @@ export class Role extends ecs.Entity { // 视图层 RoleView!: RoleViewComp; + RoleViewInfo!: RoleViewInfoComp; constructor() { super(); + // 初始化实体常住 ECS 组件,定义实体特性 this.addComponents( RoleModelComp, RoleBaseModelComp, @@ -48,7 +52,7 @@ export class Role extends ecs.Entity { RoleLevelModelComp); } - /** 加载角色显示对象 */ + /** 加载角色显示对象(cc.Component在创建后,添加到ECS框架中,使实体上任何一个ECS组件都可以通过 ECS API 获取到视图层对象 */ load(): Node { var node = ViewUtil.createPrefabNode("game/battle/role"); var mv = node.getComponent(RoleViewComp)!; @@ -57,6 +61,7 @@ export class Role extends ecs.Entity { return node; } + /** 移动(ECS System处理逻辑,分享功能独立的业务代码) */ move(target: Vec3) { var move = this.add(MoveToComp); move.target = target; @@ -65,11 +70,11 @@ export class Role extends ecs.Entity { } /** 攻击 */ - attack(target: Role) { - // 战斗流程 + attack() { + this.RoleView.animator.setTrigger(RoleAnimatorType.Attack); } - /** 转职 */ + /** 转职(ECS System处理逻辑,分享功能独立的业务代码) */ changeJob(jobId: number) { var rcj = this.add(RoleChangeJobComp); rcj.jobId = jobId; @@ -77,6 +82,6 @@ export class Role extends ecs.Entity { /** 角色升级 */ upgrade() { - + if (this.RoleLevelModel.lv < 100) this.RoleLevelModel.lv++; } } \ No newline at end of file diff --git a/assets/script/game/role/bll/RoleChangeJob.ts b/assets/script/game/role/bll/RoleChangeJob.ts index 48ba383..98c7948 100644 --- a/assets/script/game/role/bll/RoleChangeJob.ts +++ b/assets/script/game/role/bll/RoleChangeJob.ts @@ -8,7 +8,18 @@ import { ecs } from "../../../core/libs/ECS"; import { Role } from "../Role"; -/** 角色转职 */ +/** + * 角色转职 + * + * 实现功能 + * 1、修改角色职业子模块的职业数据 + * 2、自动通过战斗属性框架更新角色战斗属性多模块的叠加值 + * 3、切换角色动画的职业武器 + * + * 技术分析 + * 1、使用ecs.Comp做为业务输入参数的接口,可理解为一个对象成员方法接收了方法参数,通过ecs框架的特点,ecs.System 系统会监控自己关注的数据组件变化后,做对应的业务处理 + * 2、在角色实体上添加职业切换组件时触发业务逻辑的处理,完成后从角色实体上移除业务组件完成业务的生命周期。 + */ @ecs.register('RoleChangeJob') export class RoleChangeJobComp extends ecs.Comp { /** 职业编号 */ diff --git a/assets/script/game/role/model/RoleBaseModelComp.ts b/assets/script/game/role/model/RoleBaseModelComp.ts index 4333f19..cd04119 100644 --- a/assets/script/game/role/model/RoleBaseModelComp.ts +++ b/assets/script/game/role/model/RoleBaseModelComp.ts @@ -9,10 +9,22 @@ import { ecs } from "../../../core/libs/ECS"; import { RoleAttributeType } from "./RoleEnum"; import { RoleModelComp } from "./RoleModelComp"; -/** 角色基础属性数据 */ +/** + * 角色基础属性数据 + * + * 实现功能 + * 1、角色初始创建时有随机的基础战斗属性 + * 2、基础战斗属性会独立显示数值 + * + * 技术分析 + * 1、RoleModelComp.attributes 中设计了可扩展的角色战斗属性对象,这里分出来一个基础属性对象,是为了生成 VM 组件需要的数据格式,辅助视图层的显示逻辑 + * 2、这样设计用意是不在 RoleModelComp 对象中插入一个针对基础属性的 VM 数据。这里表达在新增需求时,尽量通过增量开发,不影响原有功能。在项目代码越来越多时,不容易因忽略某个点导致出现新问题。 + */ @ecs.register('RoleBaseModel') export class RoleBaseModelComp extends ecs.Comp { - /** ----------一维属性---------- */ + /** 提供 VM 组件使用的数据 */ + vm: any = {}; + /** 力量 */ private _power: number = 0; public get power(): number { @@ -21,6 +33,7 @@ export class RoleBaseModelComp extends ecs.Comp { public set power(value: number) { this._power = value; this.ent.get(RoleModelComp).attributes.get(RoleAttributeType.power).base = value; + this.vm[RoleAttributeType.power] = value; } /** 体质 */ @@ -31,6 +44,7 @@ export class RoleBaseModelComp extends ecs.Comp { public set physical(value: number) { this._physical = value; this.ent.get(RoleModelComp).attributes.get(RoleAttributeType.physical).base = value; + this.vm[RoleAttributeType.physical] = value; } /** 敏捷 */ private _agile: number = 0; @@ -40,11 +54,16 @@ export class RoleBaseModelComp extends ecs.Comp { public set agile(value: number) { this._agile = value; this.ent.get(RoleModelComp).attributes.get(RoleAttributeType.agile).base = value; + this.vm[RoleAttributeType.agile] = value; } reset() { this.power = 0; this.physical = 0; this.agile = 0; + + for (var key in this.vm) { + delete this.vm[key]; + } } } \ No newline at end of file diff --git a/assets/script/game/role/model/RoleEnum.ts b/assets/script/game/role/model/RoleEnum.ts index c74f41f..7fca398 100644 --- a/assets/script/game/role/model/RoleEnum.ts +++ b/assets/script/game/role/model/RoleEnum.ts @@ -11,129 +11,10 @@ export enum RoleAttributeType { power = "power", /** 体质 */ physical = "physical", - /** 技巧 */ - skill = "skill", - /** 精准 */ - precise = "precise", /** 敏捷 */ agile = "agile", - /** 意志 */ - will = "will", - /** 行动次数最大值 */ - action = "action", - /** 反击次数最大值 */ - catkNum = "catkNum", - /** 能量 */ - sp = "sp", - - /** 当前反击次数 */ - catkNumc = "catkNumc", - /** 当前行动次数 */ - actionc = "actionc", - /** 当前能量 */ - spc = "spc", - /** 生命最大值 */ - hp = "hp", - /** 当前生命 */ - hpc = "hpc", - /** 负重最大值 */ - weight = "weight", - /** 当前负重 */ - weightc = "weightc", - - /** 攻击 */ - ad = "ad", - /** 攻击力比例加成 */ - adPro = "adPro", - /** 附加伤害值 */ - adAttach = "adAttach", - /** 附加伤害率 */ - adProAttach = "adProAttach", - /** 护甲 */ - ar = "ar", - /** 移动力 */ - move = "move", - /** 命中概率 */ - hitPro = "hitPro", - /** 命中值 */ - hit = "hit", - /** 偏斜值 */ - skew = "skew", - /** 偏斜概率 */ - skewPro = "skewPro", - /** 暴击概率 */ - critPro = "critPro", - /** 暴击伤害 */ - critDps = "critDps", - /** 坚韧 */ - tenacity = "tenacity", - /** 坚韧率 */ - tenacityPro = "tenacityPro", - /** 格挡概率 */ - blockPro = "blockPro", - /** 格挡值(格挡护甲) */ - block = "block", - /** 招架概率 */ - parryPro = "parryPro", - /** 招架值(招架护甲) */ - parry = "parry", - /** 穿甲 */ - ap = "ap", - /** 穿甲百分比 */ - apPro = "apPro", - /** 治疗效果 */ - curePro = "curePro", - /** 真实伤害 */ - dps = "dps", - /** 真实伤害附加值 */ - dpsAttach = "dpsAttach", - /** 真实伤害附加率 */ - dpsProAttach = "dpsProAttach", - /** 速度 */ - speed = "speed", - /** 减伤值 */ - hurt = "hurt", - /** 减伤百分比 */ - hurtPro = "hurtPro", - - /** ----------控制伤害流程属性---------- */ - /** 必命中 */ - certainHit = "certainHit", - /** 必招架 */ - certainParry = "certainParry", - /** 必格挡 */ - certainBlock = "certainBlock", - /** 必暴击 */ - certainCriticalHit = "certainCriticalHit", - /** 禁止招架 */ - unableParry = "unableParry", - /** 禁止格挡 */ - unableBlock = "unableBlock", - /** 禁止偏斜 */ - unableSkew = "unableSkew", - - /** ----------控制功能流程属性---------- */ - /** 无法行动 */ - unableAction = "unableAction", - /** 无法被选中 */ - unableSelect = "unableSelect", - /** 无法反击 */ - unableCounterattack = "unableCounterattack", - - /** ----------恢复功能流程属性---------- */ - /** 治疗点数 */ - replyTreatmentPoints = "replyTreatmentPoints", - /** 治疗生命上限百分比 */ - replyHpcPro = "replyHpcPro", - /** 治疗值是否使用释放者等级计算 */ - replyLevel = "replyLevel", - /** 治疗某属性百分比 */ - replyAttributePro = "replyAttributePro", - /** 治疗伤害 */ - replyHurt = "replyHurt", - /** 受治疗效果 */ - replyResult = "replyResult" + hp = "hp" } /** 角色动作名 */ diff --git a/assets/script/game/role/model/RoleJobModelComp.ts b/assets/script/game/role/model/RoleJobModelComp.ts index 9589b9d..6ff1576 100644 --- a/assets/script/game/role/model/RoleJobModelComp.ts +++ b/assets/script/game/role/model/RoleJobModelComp.ts @@ -10,7 +10,13 @@ import { JsonUtil } from "../../../core/utils/JsonUtil"; import { RoleAttributeType } from "./RoleEnum"; import { RoleModelComp } from "./RoleModelComp"; -/** 角色职业数据 */ +/** + * 角色职业数据 + * + * 实现功能 + * 1、影响角色力量、敏捷战斗属性 + * 2、影响角色动画武器 + */ @ecs.register('RoleJobModel') export class RoleJobModelComp extends ecs.Comp { static TableName: string = "arms"; @@ -24,8 +30,9 @@ export class RoleJobModelComp extends ecs.Comp { console.log(`【职业编号】${id},力量:${this.power},敏捷:${this.agile} `); - this.ent.get(RoleModelComp).attributes.get(RoleAttributeType.power).job = this.power; - this.ent.get(RoleModelComp).attributes.get(RoleAttributeType.agile).job = this.agile; + var attributes = this.ent.get(RoleModelComp).attributes; + attributes.get(RoleAttributeType.power).job = this.power; + attributes.get(RoleAttributeType.agile).job = this.agile; } /** 职业编号编号 */ @@ -37,7 +44,6 @@ export class RoleJobModelComp extends ecs.Comp { this.init(value); this._id = value; } - /** 职业名 */ get armsName(): string { return this.data.armsName; diff --git a/assets/script/game/role/model/RoleLevelModelComp.ts b/assets/script/game/role/model/RoleLevelModelComp.ts index 8d5b569..a4cfb4a 100644 --- a/assets/script/game/role/model/RoleLevelModelComp.ts +++ b/assets/script/game/role/model/RoleLevelModelComp.ts @@ -10,9 +10,21 @@ import { RoleAttributeType } from "./RoleEnum"; import { RoleModelComp } from "./RoleModelComp"; import { RoleTableLevelUp } from "./RoleTableLevelUp"; -/** 角色等级数据 */ +/** + * 角色等级数据 + * + * 实现功能 + * 1、角色等级变化时、获取升级配置表中的生命附加值叠加到角色属性上 + * + * 技术分析 + * 1、等级模块直接通过数据访问层的API获取到本地等级配置表数据,通过当前等级匹配到配置表中的等级配置数据 + * 2、获取到的等级配置数据中的生命附加值,叠加到角色战斗属性的等级模块附加值上 + */ @ecs.register('RoleLevelModel') export class RoleLevelModelComp extends ecs.Comp { + /** 提供 VM 组件使用的数据 */ + vm: any = {}; + /** 当前等级已获取的经验值 */ private _exp: number = 0; public get exp(): number { @@ -20,20 +32,18 @@ export class RoleLevelModelComp extends ecs.Comp { } public set exp(value: number) { this._exp = value; - this.ent.get(RoleModelComp).vm.exp = value; + this.vm.exp = value; } - /** 等级 */ private _lv: number = 0; + /** 等级 */ public get lv(): number { return this._lv; } public set lv(value: number) { this._lv = value; - - var rm = this.ent.get(RoleModelComp); - rm.attributes.get(RoleAttributeType.hp).level = this.rtlu.hp; - rm.vm.lv = value; + this.vm.lv = value; + this.ent.get(RoleModelComp).attributes.get(RoleAttributeType.hp).level = this.rtlu.hp; } private _rtlu: RoleTableLevelUp = null!; @@ -50,5 +60,9 @@ export class RoleLevelModelComp extends ecs.Comp { this.lv = 0; this.exp = 0; this._rtlu = null!; + + for (var key in this.vm) { + delete this.vm[key]; + } } } diff --git a/assets/script/game/role/model/RoleModelComp.ts b/assets/script/game/role/model/RoleModelComp.ts index ca32f59..bea227a 100644 --- a/assets/script/game/role/model/RoleModelComp.ts +++ b/assets/script/game/role/model/RoleModelComp.ts @@ -10,7 +10,17 @@ import { RoleNumeric } from "./attribute/RoleNumeric"; import { RoleNumericMap } from "./attribute/RoleNumericMap"; import { RoleAttributeType } from "./RoleEnum"; -/** 角色当前叠加后的属性数据 */ +/** + * 角色属性数据 + * + * 实现功能 + * 1、角色唯一基础数据 + * 2、角色战斗属性数据 + * 3、角色VM组件绑定数据 + * + * 技术分析 + * 1、使用ecs.Comp做为数据层的基类,是为了后续业务开发过程中,只要ecs.Entity对象中包含了当前数据组件,就可以通过 ecs.Entity.get(RoleModelComp) 的方式获取对应子模块的数据 + */ @ecs.register('RoleModel') export class RoleModelComp extends ecs.Comp { /** 提供 VM 组件使用的数据 */ diff --git a/assets/script/game/role/model/RoleTableLevelUp.ts b/assets/script/game/role/model/RoleTableLevelUp.ts index d864fa7..f60d427 100644 --- a/assets/script/game/role/model/RoleTableLevelUp.ts +++ b/assets/script/game/role/model/RoleTableLevelUp.ts @@ -1,10 +1,9 @@ /* * @Author: dgflash - * @Date: 2021-12-02 11:08:00 - * @LastEditors: luobao - * @LastEditTime: 2021-12-13 11:30:15 + * @Date: 2021-11-18 15:56:01 + * @LastEditors: dgflash + * @LastEditTime: 2022-01-29 17:25:43 */ - import { JsonUtil } from "../../../core/utils/JsonUtil"; /** 角色经验数据(策划Excel导出的Json静态数据) */ diff --git a/assets/script/game/role/model/attribute/RoleNumeric.ts b/assets/script/game/role/model/attribute/RoleNumeric.ts index eebf3f6..292ac4a 100644 --- a/assets/script/game/role/model/attribute/RoleNumeric.ts +++ b/assets/script/game/role/model/attribute/RoleNumeric.ts @@ -14,7 +14,7 @@ import { RoleNumericMap } from "./RoleNumericMap"; * 2、任意模块的属性值修改时,自动角色属性更新后的数值和 */ export class RoleNumeric { - /** 值更新事件 */ + /** 数值更新事件 */ onUpdate: Function = null! /** 属性类型 */ @@ -78,16 +78,6 @@ export class RoleNumeric { this.update(); } - protected _decorator: number = 0; - /** 战斗动态效果装饰属性 */ - get decorator(): number { - return this._decorator; - } - set decorator(value: number) { - this._decorator = value; - this.update(); - } - protected _battle: number = 0; /** 战斗角色属性 */ get battle(): number { @@ -98,6 +88,16 @@ export class RoleNumeric { this.update(); } + protected _decorator: number = 0; + /** 战斗动态效果装饰属性 */ + get decorator(): number { + return this._decorator; + } + set decorator(value: number) { + this._decorator = value; + this.update(); + } + value: number = 0; protected update() { diff --git a/assets/script/game/role/model/attribute/RoleNumericMap.ts b/assets/script/game/role/model/attribute/RoleNumericMap.ts index 20d9345..6ef2a30 100644 --- a/assets/script/game/role/model/attribute/RoleNumericMap.ts +++ b/assets/script/game/role/model/attribute/RoleNumericMap.ts @@ -45,15 +45,9 @@ export class RoleNumericMap { var attr = this.attributes.get(type); if (attr == null) { switch (type) { - case RoleAttributeType.power: - attr = new RoleNumericPower(type, this); - break; case RoleAttributeType.physical: attr = new RoleNumericPhysical(type, this); break; - case RoleAttributeType.agile: - attr = new RoleNumericAgile(type, this); - break; default: attr = new RoleNumeric(type, this); break; @@ -80,16 +74,6 @@ export class RoleNumericMap { } } -/** 力量属性 */ -export class RoleNumericPower extends RoleNumeric { - protected update(): void { - super.update(); - - // 每点力量 = 0.5 攻击力,武器需求力量,如果武器需求力量>力量,则命中率=0% - this.attributes.get(RoleAttributeType.ad).base = this.value * 0.5; - } -} - /** 体质属性 */ export class RoleNumericPhysical extends RoleNumeric { protected update(): void { @@ -98,14 +82,4 @@ export class RoleNumericPhysical extends RoleNumeric { // 每点体质 = 0.5 生命 this.attributes.get(RoleAttributeType.hp).base = Math.floor(this.value * 0.5); } -} - -/** 敏捷属性 */ -export class RoleNumericAgile extends RoleNumeric { - protected update(): void { - super.update(); - - // 每点敏捷 = 1 点偏斜值 - this.attributes.get(RoleAttributeType.skew).base = this.value; - } -} +} \ No newline at end of file diff --git a/assets/script/game/role/view/RoleViewComp.ts b/assets/script/game/role/view/RoleViewComp.ts index ff7e94d..d14c844 100644 --- a/assets/script/game/role/view/RoleViewComp.ts +++ b/assets/script/game/role/view/RoleViewComp.ts @@ -24,11 +24,11 @@ export class RoleViewComp extends CCComp { @property({ type: sp.Skeleton, tooltip: '角色动画' }) spine: sp.Skeleton | null = null; + /** 动画状态机 */ animator: RoleViewAnimatorComp = null!; onLoad() { this.node.active = false; - this.animator = this.spine!.getComponent(RoleViewAnimatorComp)!; } @@ -50,9 +50,17 @@ export class RoleViewComp extends CCComp { } private onTouchEnd(event: EventTouch) { + // 注:角色移动控制代码在RPG类游戏中,应该设计到地图模块监听触摸事件。因为测试代码只有一个角色,为了简少DEMO代码量,只表达程序设计思想 var role = this.ent.get(RoleModelComp).ent as Role; var uit = this.node.parent!.getComponent(UITransform)!; - role.move(v3(event.getUILocation().x - uit.contentSize.width / 2, event.getUILocation().y - uit.contentSize.height / 2)); + var x = event.getUILocation().x - uit.contentSize.width / 2; + var y = event.getUILocation().y - uit.contentSize.height / 2; + role.move(v3(x, y)); + + if (x < role.RoleView.node.position.x) + role.RoleView.animator.left(); + else + role.RoleView.animator.right(); } reset() { diff --git a/assets/script/game/role/view/RoleViewInfoComp.ts b/assets/script/game/role/view/RoleViewInfoComp.ts index ff48ebc..81e266d 100644 --- a/assets/script/game/role/view/RoleViewInfoComp.ts +++ b/assets/script/game/role/view/RoleViewInfoComp.ts @@ -19,13 +19,13 @@ export class RoleViewInfoComp extends CCComp { switch (event.target.name) { case "btn_levelup": var role = ecs.getSingleton(SingletonModuleComp).account.AccountModel.role; - if (role.RoleLevelModel.lv < 100) role.RoleLevelModel.lv++; + role.upgrade(); break; case "btn_close": engine.gui.remove(UIID.Demo_Role_Info); break; } - + event.propagationStopped = true; }