35 行
1.2 KiB
TypeScript
35 行
1.2 KiB
TypeScript
|
|
/**
|
|||
|
|
* CharacterData 角色数据模型(内存/本地缓存使用)。
|
|||
|
|
*/
|
|||
|
|
export class CharacterData {
|
|||
|
|
public characterId: string = '';
|
|||
|
|
public name: string = '';
|
|||
|
|
public raceId: string = '';
|
|||
|
|
public worldTier: number = 1;
|
|||
|
|
public realmTier: number = 1;
|
|||
|
|
public minorRealm: number = 1;
|
|||
|
|
public level: number = 1;
|
|||
|
|
public exp: number = 0;
|
|||
|
|
public baseStats: Record<string, number> = {};
|
|||
|
|
public battleStats: Record<string, number> = {};
|
|||
|
|
public sanCurrent: number = 100;
|
|||
|
|
public sanMax: number = 100;
|
|||
|
|
|
|||
|
|
public static fromServer(resp: any): CharacterData {
|
|||
|
|
const data = new CharacterData();
|
|||
|
|
data.characterId = resp.character_id ?? '';
|
|||
|
|
data.name = resp.name ?? '';
|
|||
|
|
data.raceId = resp.race_id ?? '';
|
|||
|
|
data.worldTier = resp.world_tier ?? 1;
|
|||
|
|
data.realmTier = resp.realm_tier ?? 1;
|
|||
|
|
data.minorRealm = resp.minor_realm ?? 1;
|
|||
|
|
data.level = resp.level ?? 1;
|
|||
|
|
data.exp = resp.exp ?? 0;
|
|||
|
|
data.baseStats = resp.base_stats ?? {};
|
|||
|
|
data.battleStats = resp.battle_stats ?? {};
|
|||
|
|
data.sanCurrent = resp.san_current ?? 100;
|
|||
|
|
data.sanMax = resp.san_max ?? 100;
|
|||
|
|
return data;
|
|||
|
|
}
|
|||
|
|
}
|