优化changeSkill的第一个参数,使其拥有更多可使用的方式
具体介绍(令第一个参数为map): Ⅰ、若map为字符串类型,则默认为传入技能 Ⅱ、若map为object类型,则: ①map.skill,更换所含map.skill技能的武将牌 ②map.characterName,更换xxx[name]等于map.characterName的武将牌 ③map.characterSkinName,更换xxx.skin[name]等于map.characterSkinName的对应位的武将牌 ④map.source,更换name等于map.source的对应位的武将牌
This commit is contained in:
parent
dd1bac0a89
commit
fd5d31b3e1
|
@ -2330,19 +2330,32 @@ export class Player extends HTMLDivElement {
|
||||||
*
|
*
|
||||||
* 如果lib.character[character]不存在,且想引用其他路径的图片素材或阵亡素材,请以[character,[]]的形式写入lib.character.characterSubstitute[name]中,第二个数组填入形式同lib.character[4]的书写形式
|
* 如果lib.character[character]不存在,且想引用其他路径的图片素材或阵亡素材,请以[character,[]]的形式写入lib.character.characterSubstitute[name]中,第二个数组填入形式同lib.character[4]的书写形式
|
||||||
*
|
*
|
||||||
* @param { string | string }
|
* @param { string | object | function } map
|
||||||
|
* @param { string } character
|
||||||
*/
|
*/
|
||||||
changeSkin(skill, character) {
|
changeSkin(map, character) {
|
||||||
if (!skill || !character) {
|
if (!map || !character) {
|
||||||
console.log('error: no sourceSkill or character to changeSkin', get.translation(this));
|
console.warn('error: no sourceMap or character to changeSkin', get.translation(this));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (typeof map == 'string') {
|
||||||
|
map = { skill: map };
|
||||||
|
}
|
||||||
for (const i of ['name', 'name1', 'name2']) {
|
for (const i of ['name', 'name1', 'name2']) {
|
||||||
if (i == 'name1' && this.name === this.name1) continue;
|
if (i == 'name1' && this.name === this.name1) continue;
|
||||||
const list = lib.characterSubstitute[this[i]];
|
const list = lib.characterSubstitute[this[i]];
|
||||||
if (this[i] && list) {
|
if (this[i] && list) {
|
||||||
if ((get.character(this[i], 3) || []).includes(skill)) {
|
const name = (i == 'name2' ? 'name2' : 'name');
|
||||||
const name = (i == 'name2' ? 'name2' : 'name');
|
if ((() => {
|
||||||
|
if (typeof map == 'function') {
|
||||||
|
return map(this, name);
|
||||||
|
}
|
||||||
|
if (typeof map.skill == 'string' && (get.character(this[i], 3) || []).includes(map.skill)) return true;
|
||||||
|
if (typeof map.characterName == 'string' && this[i] == map.characterName) return true;
|
||||||
|
if (typeof map.characterSkinName == 'string' && this.skin[name] == map.characterSkinName) return true;
|
||||||
|
if (typeof map.source == 'string' && name == map.source) return true;
|
||||||
|
return false;
|
||||||
|
})()) {
|
||||||
if (this.skin[name] != character) {
|
if (this.skin[name] != character) {
|
||||||
const origin = this.skin[name];
|
const origin = this.skin[name];
|
||||||
game.broadcastAll((player, name, character, list, origin) => {
|
game.broadcastAll((player, name, character, list, origin) => {
|
||||||
|
|
Loading…
Reference in New Issue