创建lib.element.Character类
This commit is contained in:
parent
1a8746c4d5
commit
d47f8ce1b1
|
@ -604,7 +604,7 @@ export class Get {
|
||||||
let info = lib.character[name];
|
let info = lib.character[name];
|
||||||
if (!info) {
|
if (!info) {
|
||||||
const pack = Object.keys(lib.characterPack).find((pack) => name in lib.characterPack[pack]);
|
const pack = Object.keys(lib.characterPack).find((pack) => name in lib.characterPack[pack]);
|
||||||
if (pack) info = lib.characterPack[pack][name];
|
if (pack) info = new lib.element.Character(lib.characterPack[pack][name]);
|
||||||
}
|
}
|
||||||
if (typeof num === "number") {
|
if (typeof num === "number") {
|
||||||
if (!info) info = [];
|
if (!info) info = [];
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
import { get } from "../../get/index.js";
|
||||||
|
import { game } from "../../game/index.js";
|
||||||
|
import { lib } from "../index.js";
|
||||||
|
import { _status } from "../../status/index.js";
|
||||||
|
import { ui } from "../../ui/index.js";
|
||||||
|
|
||||||
|
export class Character {
|
||||||
|
/** @type { string } */
|
||||||
|
sex;
|
||||||
|
/** @type { number } */
|
||||||
|
hp;
|
||||||
|
/** @type { number } */
|
||||||
|
maxHp;
|
||||||
|
/** @type { number } */
|
||||||
|
hujia;
|
||||||
|
/** @type { string } */
|
||||||
|
group;
|
||||||
|
/** @type { string[] } */
|
||||||
|
skills;
|
||||||
|
/** @type { Array } */
|
||||||
|
trashBin;
|
||||||
|
/**
|
||||||
|
* @param { Array|Object } [data]
|
||||||
|
*/
|
||||||
|
constructor(data) {
|
||||||
|
if (Array.isArray(data)) {
|
||||||
|
this.sex = data[0];
|
||||||
|
this.group = data[1];
|
||||||
|
this.hp = get.infoHp(data[2]);
|
||||||
|
this.maxHp = get.infoMaxHp(data[2]);
|
||||||
|
this.hujia = get.infoHujia(data[2]);
|
||||||
|
this.skills = get.copy(data[3] || []);
|
||||||
|
this.trashBin = get.copy(data[4] || []);
|
||||||
|
}
|
||||||
|
else if (get.is.object(data)) {
|
||||||
|
this.sex = data.sex;
|
||||||
|
this.group = data.group || '';
|
||||||
|
this.hp = data.hp || 1;
|
||||||
|
this.maxHp = data.maxHp || this.hp;
|
||||||
|
this.hujia = data.hujia || 0;
|
||||||
|
this.skills = get.copy(data.skills || []);
|
||||||
|
this.trashBin = get.copy(data.trashBin || []);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
get 0() {
|
||||||
|
return this.sex;
|
||||||
|
};
|
||||||
|
set 0(sex) {
|
||||||
|
this.sex = sex;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
get 1() {
|
||||||
|
return this.group;
|
||||||
|
};
|
||||||
|
set 1(group) {
|
||||||
|
this.group = group;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
get 2() {
|
||||||
|
if (this.hujia > 0) return `${this.hp}/${this.maxHp}/${this.hujia}`;
|
||||||
|
else if (this.hp !== this.maxHp) return `${this.hp}/${this.maxHp}`;
|
||||||
|
return this.hp;
|
||||||
|
};
|
||||||
|
set 2(hp) {
|
||||||
|
this.hp = get.infoHp(hp);
|
||||||
|
this.maxHp = get.infoMaxHp(hp);
|
||||||
|
this.hujia = get.infoHujia(hp);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
get 3() {
|
||||||
|
return this.skills;
|
||||||
|
};
|
||||||
|
set 3(skills) {
|
||||||
|
this.skills = skills;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
get 4() {
|
||||||
|
return this.trashBin;
|
||||||
|
};
|
||||||
|
set 4(trashBin) {
|
||||||
|
this.trashBin = trashBin;
|
||||||
|
};
|
||||||
|
}
|
|
@ -10,3 +10,4 @@ export { GameEventPromise } from "./gameEventPromise.js";
|
||||||
export { NodeWS } from "./nodeWS.js";
|
export { NodeWS } from "./nodeWS.js";
|
||||||
export { Player } from "./player.js";
|
export { Player } from "./player.js";
|
||||||
export { VCard } from "./vcard.js";
|
export { VCard } from "./vcard.js";
|
||||||
|
export { Character } from "./character.js"
|
||||||
|
|
|
@ -10108,6 +10108,7 @@ export class Library {
|
||||||
Control: Element.Control,
|
Control: Element.Control,
|
||||||
Client: Element.Client,
|
Client: Element.Client,
|
||||||
NodeWS: Element.NodeWS,
|
NodeWS: Element.NodeWS,
|
||||||
|
Character: Element.Character,
|
||||||
ws: {
|
ws: {
|
||||||
onopen: function () {
|
onopen: function () {
|
||||||
if (_status.connectCallback) {
|
if (_status.connectCallback) {
|
||||||
|
@ -10213,6 +10214,12 @@ export class Library {
|
||||||
get nodews() {
|
get nodews() {
|
||||||
return this.NodeWS.prototype;
|
return this.NodeWS.prototype;
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* @legacy Use {@link lib.element.Character.prototype} instead.
|
||||||
|
*/
|
||||||
|
get character() {
|
||||||
|
return this.Character.prototype;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
card = {
|
card = {
|
||||||
/**
|
/**
|
||||||
|
@ -12771,7 +12778,15 @@ export class Library {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
character = {};
|
character = new Proxy(
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
set(target, prop, newValue){
|
||||||
|
newValue = new lib.element.Character(newValue);
|
||||||
|
return Reflect.set(target, prop, newValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
perfectPair = {};
|
perfectPair = {};
|
||||||
cardPile = {};
|
cardPile = {};
|
||||||
message = {
|
message = {
|
||||||
|
|
Loading…
Reference in New Issue