src/app/helpers/character.ts
Character data
Properties |
Methods |
constructor(params: literal type)
|
||||||||
Defined in src/app/helpers/character.ts:44
|
||||||||
Create a character data
Parameters :
|
Private build |
build:
|
Type : ProfBuild
|
Defined in src/app/helpers/character.ts:27
|
Character build data |
gw2Armory |
gw2Armory:
|
Type : string
|
Defined in src/app/helpers/character.ts:23
|
Gw2 Armory link |
name |
name:
|
Type : string
|
Defined in src/app/helpers/character.ts:19
|
Character name |
Private override |
override:
|
Type : literal type
|
Defined in src/app/helpers/character.ts:35
|
Character build data override |
Private role |
role:
|
Type : string
|
Defined in src/app/helpers/character.ts:31
|
Character role |
getBuild |
getBuild()
|
Defined in src/app/helpers/character.ts:89
|
Get character's build data
Returns :
ProfBuild
|
getIcon |
getIcon()
|
Defined in src/app/helpers/character.ts:72
|
Get character's build icon path
Returns :
string
|
getOverride |
getOverride()
|
Defined in src/app/helpers/character.ts:113
|
Get character's build data override
Returns :
literal type
|
getProfessionName |
getProfessionName()
|
Defined in src/app/helpers/character.ts:96
|
Get character's profession name
Returns :
string
|
getRole |
getRole()
|
Defined in src/app/helpers/character.ts:106
|
Get character's role
Returns :
string
|
import { ProfBuild, buildDatabase } from './profBuild';
import { makeAllBuild } from './profBuildHelpers/professions/_full';
makeAllBuild();
/**
* Warning messages limit
*/
let warningLimit = 0;
/**
* Character data
*/
export class Character {
/**
* Character name
*/
name: string;
/**
* Gw2 Armory link
*/
gw2Armory: string;
/**
* Character build data
*/
private build: ProfBuild;
/**
* Character role
*/
private role: string;
/**
* Character build data override
*/
private override: {
armor: string,
consumable: string,
trinket: string,
wep1: string,
wep2: string,
specialization: string,
profSkills: string,
skills: string
};
/**
* Create a character data
* @param params Parameters
*/
constructor(params: {
name: string, build: string, gw2Armory: string, role: string, override: {
armor: string,
consumable: string,
trinket: string,
wep1: string,
wep2: string,
specialization: string,
profSkills: string,
skills: string
}
}) {
this.name = params.name;
this.build = buildDatabase.get(params.build);
this.gw2Armory = params.gw2Armory ? params.gw2Armory : '';
this.role = params.role ? params.role : '' ;
this.override = params.override;
}
/**
* Get character's build icon path
*/
getIcon(): string {
if (!this.build) {
if (warningLimit < 10) {
console.warn('Warning: data for ' + this.name + ' does not exist');
warningLimit++;
} else if (warningLimit === 10) {
console.warn('Stopping warning messages for characters');
warningLimit++;
}
return 'assets/profIcons/any.png';
}
return this.build.getIcon();
}
/**
* Get character's build data
*/
getBuild(): ProfBuild {
return this.build;
}
/**
* Get character's profession name
*/
getProfessionName(): string {
if (this.build) {
return this.build.profession.name;
}
return 'any';
}
/**
* Get character's role
*/
getRole(): string {
return this.role;
}
/**
* Get character's build data override
*/
getOverride(): {
armor: string,
consumable: string,
trinket: string,
wep1: string,
wep2: string,
specialization: string,
profSkills: string,
skills: string
} {
return this.override;
}
}