Update to new data bindings, everythings an interface now.
This commit is contained in:
parent
78be1c2370
commit
9385917edd
6 changed files with 40 additions and 50 deletions
|
@ -1,26 +1,26 @@
|
|||
export type DS4ActorDataType = EntityData<DS4ActorData>;
|
||||
|
||||
// TODO: Actually add a type for data
|
||||
export class DS4ActorData {
|
||||
public attributes: DS4ActorDataAttributes;
|
||||
public traits: DS4ActorDataTraits;
|
||||
export interface DS4ActorDataType {
|
||||
attributes: DS4ActorDataAttributes;
|
||||
traits: DS4ActorDataTraits;
|
||||
}
|
||||
|
||||
class DS4ActorDataAttributes {
|
||||
public body: ExpandableAttribute<number>;
|
||||
public mobility: ExpandableAttribute<number>;
|
||||
public mind: ExpandableAttribute<number>;
|
||||
interface DS4ActorDataAttributes {
|
||||
body: BodyAttribute;
|
||||
mobility: ExtensibleData<number>;
|
||||
mind: ExtensibleData<number>;
|
||||
}
|
||||
|
||||
class ExpandableAttribute<T extends any> {
|
||||
public initial: T;
|
||||
interface ExtensibleData<T extends any> {
|
||||
initial: T;
|
||||
}
|
||||
|
||||
class DS4ActorDataTraits {
|
||||
public strength: ExpandableAttribute<number>;
|
||||
public constitution: ExpandableAttribute<number>;
|
||||
public agility: ExpandableAttribute<number>;
|
||||
public dexterity: ExpandableAttribute<number>;
|
||||
public intellect: ExpandableAttribute<number>;
|
||||
public aura: ExpandableAttribute<number>;
|
||||
// Blueprint in case we need more detailed differentiation
|
||||
type BodyAttribute = ExtensibleData<number>;
|
||||
|
||||
interface DS4ActorDataTraits {
|
||||
strength: ExtensibleData<number>;
|
||||
constitution: ExtensibleData<number>;
|
||||
agility: ExtensibleData<number>;
|
||||
dexterity: ExtensibleData<number>;
|
||||
intellect: ExtensibleData<number>;
|
||||
aura: ExtensibleData<number>;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue