51 lines
1.7 KiB
TypeScript
51 lines
1.7 KiB
TypeScript
// automatically generated by the FlatBuffers compiler, do not modify
|
|
|
|
import { Attacker, AttackerT } from './attacker';
|
|
import { BookReader, BookReaderT } from './book-reader';
|
|
import { Rapunzel, RapunzelT } from './rapunzel';
|
|
|
|
|
|
export enum Character{
|
|
NONE = 0,
|
|
MuLan = 1,
|
|
Rapunzel = 2,
|
|
Belle = 3,
|
|
BookFan = 4,
|
|
Other = 5,
|
|
Unused = 6
|
|
}
|
|
|
|
export function unionToCharacter(
|
|
type: Character,
|
|
accessor: (obj:Attacker|BookReader|Rapunzel|string) => Attacker|BookReader|Rapunzel|string|null
|
|
): Attacker|BookReader|Rapunzel|string|null {
|
|
switch(Character[type]) {
|
|
case 'NONE': return null;
|
|
case 'MuLan': return accessor(new Attacker())! as Attacker;
|
|
case 'Rapunzel': return accessor(new Rapunzel())! as Rapunzel;
|
|
case 'Belle': return accessor(new BookReader())! as BookReader;
|
|
case 'BookFan': return accessor(new BookReader())! as BookReader;
|
|
case 'Other': return accessor('') as string;
|
|
case 'Unused': return accessor('') as string;
|
|
default: return null;
|
|
}
|
|
}
|
|
|
|
export function unionListToCharacter(
|
|
type: Character,
|
|
accessor: (index: number, obj:Attacker|BookReader|Rapunzel|string) => Attacker|BookReader|Rapunzel|string|null,
|
|
index: number
|
|
): Attacker|BookReader|Rapunzel|string|null {
|
|
switch(Character[type]) {
|
|
case 'NONE': return null;
|
|
case 'MuLan': return accessor(index, new Attacker())! as Attacker;
|
|
case 'Rapunzel': return accessor(index, new Rapunzel())! as Rapunzel;
|
|
case 'Belle': return accessor(index, new BookReader())! as BookReader;
|
|
case 'BookFan': return accessor(index, new BookReader())! as BookReader;
|
|
case 'Other': return accessor(index, '') as string;
|
|
case 'Unused': return accessor(index, '') as string;
|
|
default: return null;
|
|
}
|
|
}
|
|
|