import { plainToClass , Type } from 'class-transformer' ; import { KungFu } from './base' ; import { Effect } from './effect' ; export class Talent { public id : number ; public kungfu : KungFu ; public index : number ; public name : string ; public description : string ; public icon : number ; public version : string ; @ Type ( ( ) => Effect ) public effect : Effect ; static fromJson ( json ) { const talent = plainToClass ( Talent , json ) ; return talent ; } static emptyTalent ( kungfu = KungFu . 花间游 ) { return Talent . fromJson ( { id : 0 , name : '' , description : '' , icon : 1434 , version : '0' , kungfu , } ) ; } public setIndex ( val ) { this . index = val ; return this ; } } export class TalentRecommend { public id : number ; public kungfu : KungFu ; public name : string ; @ Type ( ( ) => Talent ) public talents : Talent [ ] ; static fromJson ( json ) { const recommend = plainToClass ( TalentRecommend , json ) ; return recommend ; } }