//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------






export namespace TB {
export class TbGGlobal {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.args === undefined) { throw new Error() }
        this.args = _json_.args
        if (_json_.tig === undefined) { throw new Error() }
        this.tig = _json_.tig
    }

    /**
     * id
     */
    readonly id: number
    /**
     * 全局表参数
     */
    readonly args: string
    /**
     * 描述
     */
    readonly tig: string

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGRole {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.roleName === undefined) { throw new Error() }
        this.roleName = _json_.roleName
        if (_json_.spine === undefined) { throw new Error() }
        this.spine = _json_.spine
        if (_json_.roleSkillIds === undefined) { throw new Error() }
        { this.roleSkillIds = []; for(let _ele of _json_.roleSkillIds) { let _e; _e = _ele; this.roleSkillIds.push(_e);}}
        if (_json_.roleAttackRange === undefined) { throw new Error() }
        this.roleAttackRange = _json_.roleAttackRange
    }

    /**
     * id
     */
    readonly id: number
    /**
     * 角色名称
     */
    readonly roleName: string
    /**
     * 角色Spine资源Id
     */
    readonly spine: number
    /**
     * 角色技能Id列表
     */
    readonly roleSkillIds: number[]
    /**
     * 角色攻击范围
     */
    readonly roleAttackRange: number

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGRoleAttack {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.attackWay === undefined) { throw new Error() }
        this.attackWay = _json_.attackWay
        if (_json_.attackArgs === undefined) { throw new Error() }
        { this.attackArgs = []; for(let _ele of _json_.attackArgs) { let _e; _e = _ele; this.attackArgs.push(_e);}}
    }

    /**
     * 角色Id
     */
    readonly id: number
    /**
     * 攻击方式
     */
    readonly attackWay: string
    /**
     * 攻击参数
     */
    readonly attackArgs: string[]

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGRoleSkill {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.skillName === undefined) { throw new Error() }
        this.skillName = _json_.skillName
        if (_json_.skillController === undefined) { throw new Error() }
        this.skillController = _json_.skillController
        if (_json_.skillArgs === undefined) { throw new Error() }
        { this.skillArgs = []; for(let _ele of _json_.skillArgs) { let _e; _e = _ele; this.skillArgs.push(_e);}}
        if (_json_.skillText === undefined) { throw new Error() }
        this.skillText = _json_.skillText
    }

    /**
     * 角色Id
     */
    readonly id: number
    /**
     * 技能名称
     */
    readonly skillName: string
    /**
     * 技能控制器
     */
    readonly skillController: string
    /**
     * 技能参数
     */
    readonly skillArgs: string[]
    /**
     * 技能介绍
     */
    readonly skillText: string

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGMap {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.mapName === undefined) { throw new Error() }
        this.mapName = _json_.mapName
        if (_json_.map1 === undefined) { throw new Error() }
        this.map1 = _json_.map1
        if (_json_.map2 === undefined) { throw new Error() }
        this.map2 = _json_.map2
        if (_json_.map3 === undefined) { throw new Error() }
        this.map3 = _json_.map3
        if (_json_.map1OffsetY === undefined) { throw new Error() }
        this.map1OffsetY = _json_.map1OffsetY
        if (_json_.map2OffsetY === undefined) { throw new Error() }
        this.map2OffsetY = _json_.map2OffsetY
        if (_json_.map3OffsetY === undefined) { throw new Error() }
        this.map3OffsetY = _json_.map3OffsetY
        if (_json_.scale === undefined) { throw new Error() }
        this.scale = _json_.scale
    }

    /**
     * id
     */
    readonly id: number
    /**
     * 地图名称
     */
    readonly mapName: string
    /**
     * 地图1(前)
     */
    readonly map1: number
    /**
     * 地图2(后)
     */
    readonly map2: number
    /**
     * 地图3(天空)
     */
    readonly map3: number
    /**
     * 地图1(前) 偏移量Y
     */
    readonly map1OffsetY: number
    /**
     * 地图2(后) 偏移量Y
     */
    readonly map2OffsetY: number
    /**
     * 地图2(后) 偏移量Y
     */
    readonly map3OffsetY: number
    /**
     * 地图缩放
     */
    readonly scale: number

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGOnHookGlobal {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.args === undefined) { throw new Error() }
        this.args = _json_.args
        if (_json_.tig === undefined) { throw new Error() }
        this.tig = _json_.tig
    }

    /**
     * id
     */
    readonly id: number
    /**
     * 全局表参数
     */
    readonly args: string
    /**
     * 描述
     */
    readonly tig: string

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGResource {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.name === undefined) { throw new Error() }
        this.name = _json_.name
        if (_json_.tig === undefined) { throw new Error() }
        this.tig = _json_.tig
    }

    /**
     * id
     */
    readonly id: number
    /**
     * 资源名称
     */
    readonly name: string
    /**
     * 描述
     */
    readonly tig: string

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGRoleUpLevel {

    constructor(_json_: any) {
        if (_json_.grade === undefined) { throw new Error() }
        this.grade = _json_.grade
        if (_json_.materials === undefined) { throw new Error() }
        { this.materials = []; for(let _ele of _json_.materials) { let _e; _e = new TbGEntity.TResource(_ele); this.materials.push(_e);}}
    }

    /**
     * 宠物等级
     */
    readonly grade: number
    /**
     * 消耗的材料
     */
    readonly materials: TbGEntity.TResource[]

    resolve(tables:Tables)
    {
    }
}

}


export namespace TbGEntity {
/**
 * 资源信息
 */
export class TResource {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.value === undefined) { throw new Error() }
        this.value = _json_.value
    }

    /**
     * 资源Id
     */
    readonly id: number
    /**
     * 资源数量
     */
    readonly value: number

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGRoleUpStar {

    constructor(_json_: any) {
        if (_json_.grade === undefined) { throw new Error() }
        this.grade = _json_.grade
        if (_json_.merge === undefined) { throw new Error() }
        this.merge = _json_.merge
    }

    /**
     * 宠物星级
     */
    readonly grade: number
    /**
     * 合成数量
     */
    readonly merge: number

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGRoleUpGrow {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.Blood === undefined) { throw new Error() }
        this.Blood = _json_.Blood
        if (_json_.Attack === undefined) { throw new Error() }
        this.Attack = _json_.Attack
        if (_json_.Defend === undefined) { throw new Error() }
        this.Defend = _json_.Defend
    }

    /**
     * 角色Id (0 则默认)
     */
    readonly id: number
    /**
     * 血量成长
     */
    readonly Blood: number
    /**
     * 攻击成长
     */
    readonly Attack: number
    /**
     * 防御成长
     */
    readonly Defend: number

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbSServerInfo {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.args === undefined) { throw new Error() }
        this.args = _json_.args
        if (_json_.tig === undefined) { throw new Error() }
        this.tig = _json_.tig
    }

    /**
     * id
     */
    readonly id: number
    /**
     * 全局表参数
     */
    readonly args: string
    /**
     * 描述
     */
    readonly tig: string

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGAttribute {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.name === undefined) { throw new Error() }
        this.name = _json_.name
        if (_json_.sign === undefined) { throw new Error() }
        this.sign = _json_.sign
    }

    /**
     * id
     */
    readonly id: number
    /**
     * 属性名称
     */
    readonly name: string
    /**
     * 属性标识
     */
    readonly sign: string

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGRoleBaseAttribute {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.Blood === undefined) { throw new Error() }
        this.Blood = _json_.Blood
        if (_json_.Attack === undefined) { throw new Error() }
        this.Attack = _json_.Attack
        if (_json_.Defend === undefined) { throw new Error() }
        this.Defend = _json_.Defend
    }

    /**
     * 角色Id (0 则默认)
     */
    readonly id: number
    /**
     * 默认血量
     */
    readonly Blood: number
    /**
     * 默认攻击属性
     */
    readonly Attack: number
    /**
     * 默认防御属性
     */
    readonly Defend: number

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGOnHookMaps {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.name === undefined) { throw new Error() }
        this.name = _json_.name
        if (_json_.mapImage === undefined) { throw new Error() }
        this.mapImage = _json_.mapImage
        if (_json_.mapId === undefined) { throw new Error() }
        this.mapId = _json_.mapId
        if (_json_.petIds === undefined) { throw new Error() }
        { this.petIds = []; for(let _ele of _json_.petIds) { let _e; _e = _ele; this.petIds.push(_e);}}
        if (_json_.sign === undefined) { throw new Error() }
        this.sign = _json_.sign
        if (_json_.introduce === undefined) { throw new Error() }
        this.introduce = _json_.introduce
    }

    /**
     * id
     */
    readonly id: number
    /**
     * 地图名称
     */
    readonly name: string
    /**
     * 地图图片
     */
    readonly mapImage: string
    /**
     * 地图场景Id
     */
    readonly mapId: number
    /**
     * 地图上的宠物列表
     */
    readonly petIds: number[]
    /**
     * 地图标识(一般是地图的类名)
     */
    readonly sign: string
    /**
     * 地图介绍
     */
    readonly introduce: string

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbGOnHookMap120001 {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.data === undefined) { throw new Error() }
        this.data = new TbGEntity.TOnHookLevel(_json_.data)
    }

    /**
     * id
     */
    readonly id: number
    /**
     * 关卡等级
     */
    readonly data: TbGEntity.TOnHookLevel

    resolve(tables:Tables)
    {
    }
}

}


export namespace TbGEntity {
/**
 * 无限模式关卡信息
 */
export class TOnHookLevel {

    constructor(_json_: any) {
        if (_json_.level === undefined) { throw new Error() }
        this.level = _json_.level
        if (_json_.childLevel === undefined) { throw new Error() }
        this.childLevel = _json_.childLevel
        if (_json_.petLevel === undefined) { throw new Error() }
        this.petLevel = _json_.petLevel
        if (_json_.petSize === undefined) { throw new Error() }
        this.petSize = _json_.petSize
        if (_json_.oddsId === undefined) { throw new Error() }
        this.oddsId = _json_.oddsId
    }

    /**
     * 关卡等级
     */
    readonly level: number
    /**
     * 子关卡等级
     */
    readonly childLevel: number
    /**
     * 宠物等级
     */
    readonly petLevel: number
    /**
     * 宠物数量
     */
    readonly petSize: number
    /**
     * 概率Id
     */
    readonly oddsId: number

    resolve(tables:Tables)
    {
    }
}

}


export namespace TB {
export class TbBattleResource {

    constructor(_json_: any) {
        if (_json_.id === undefined) { throw new Error() }
        this.id = _json_.id
        if (_json_.name === undefined) { throw new Error() }
        this.name = _json_.name
        if (_json_.path === undefined) { throw new Error() }
        this.path = _json_.path
        if (_json_.type === undefined) { throw new Error() }
        this.type = _json_.type
    }

    /**
     * id
     */
    readonly id: number
    /**
     * 资源介绍
     */
    readonly name: string
    /**
     * 资源路径
     */
    readonly path: string
    /**
     * 资源类型(0.Spine,1.Sprite)
     */
    readonly type: number

    resolve(tables:Tables)
    {
    }
}

}




export class TbGGlobal{
    private _dataMap: Map<number, TB.TbGGlobal>
    private _dataList: TB.TbGGlobal[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGGlobal>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGGlobal
            _v = new TB.TbGGlobal(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGGlobal> { return this._dataMap; }
    getDataList(): TB.TbGGlobal[] { return this._dataList; }

    get(key: number): TB.TbGGlobal | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGRole{
    private _dataMap: Map<number, TB.TbGRole>
    private _dataList: TB.TbGRole[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGRole>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGRole
            _v = new TB.TbGRole(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGRole> { return this._dataMap; }
    getDataList(): TB.TbGRole[] { return this._dataList; }

    get(key: number): TB.TbGRole | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGRoleAttack{
    private _dataMap: Map<number, TB.TbGRoleAttack>
    private _dataList: TB.TbGRoleAttack[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGRoleAttack>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGRoleAttack
            _v = new TB.TbGRoleAttack(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGRoleAttack> { return this._dataMap; }
    getDataList(): TB.TbGRoleAttack[] { return this._dataList; }

    get(key: number): TB.TbGRoleAttack | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGRoleSkill{
    private _dataMap: Map<number, TB.TbGRoleSkill>
    private _dataList: TB.TbGRoleSkill[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGRoleSkill>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGRoleSkill
            _v = new TB.TbGRoleSkill(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGRoleSkill> { return this._dataMap; }
    getDataList(): TB.TbGRoleSkill[] { return this._dataList; }

    get(key: number): TB.TbGRoleSkill | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGMap{
    private _dataMap: Map<number, TB.TbGMap>
    private _dataList: TB.TbGMap[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGMap>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGMap
            _v = new TB.TbGMap(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGMap> { return this._dataMap; }
    getDataList(): TB.TbGMap[] { return this._dataList; }

    get(key: number): TB.TbGMap | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGOnHookGlobal{
    private _dataMap: Map<number, TB.TbGOnHookGlobal>
    private _dataList: TB.TbGOnHookGlobal[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGOnHookGlobal>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGOnHookGlobal
            _v = new TB.TbGOnHookGlobal(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGOnHookGlobal> { return this._dataMap; }
    getDataList(): TB.TbGOnHookGlobal[] { return this._dataList; }

    get(key: number): TB.TbGOnHookGlobal | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGResource{
    private _dataMap: Map<number, TB.TbGResource>
    private _dataList: TB.TbGResource[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGResource>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGResource
            _v = new TB.TbGResource(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGResource> { return this._dataMap; }
    getDataList(): TB.TbGResource[] { return this._dataList; }

    get(key: number): TB.TbGResource | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGRoleUpLevel{
    private _dataMap: Map<number, TB.TbGRoleUpLevel>
    private _dataList: TB.TbGRoleUpLevel[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGRoleUpLevel>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGRoleUpLevel
            _v = new TB.TbGRoleUpLevel(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.grade, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGRoleUpLevel> { return this._dataMap; }
    getDataList(): TB.TbGRoleUpLevel[] { return this._dataList; }

    get(key: number): TB.TbGRoleUpLevel | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGRoleUpStar{
    private _dataMap: Map<number, TB.TbGRoleUpStar>
    private _dataList: TB.TbGRoleUpStar[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGRoleUpStar>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGRoleUpStar
            _v = new TB.TbGRoleUpStar(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.grade, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGRoleUpStar> { return this._dataMap; }
    getDataList(): TB.TbGRoleUpStar[] { return this._dataList; }

    get(key: number): TB.TbGRoleUpStar | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGRoleUpGrow{
    private _dataMap: Map<number, TB.TbGRoleUpGrow>
    private _dataList: TB.TbGRoleUpGrow[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGRoleUpGrow>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGRoleUpGrow
            _v = new TB.TbGRoleUpGrow(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGRoleUpGrow> { return this._dataMap; }
    getDataList(): TB.TbGRoleUpGrow[] { return this._dataList; }

    get(key: number): TB.TbGRoleUpGrow | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbSServerInfo{
    private _dataMap: Map<number, TB.TbSServerInfo>
    private _dataList: TB.TbSServerInfo[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbSServerInfo>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbSServerInfo
            _v = new TB.TbSServerInfo(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbSServerInfo> { return this._dataMap; }
    getDataList(): TB.TbSServerInfo[] { return this._dataList; }

    get(key: number): TB.TbSServerInfo | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGAttribute{
    private _dataMap: Map<number, TB.TbGAttribute>
    private _dataList: TB.TbGAttribute[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGAttribute>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGAttribute
            _v = new TB.TbGAttribute(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGAttribute> { return this._dataMap; }
    getDataList(): TB.TbGAttribute[] { return this._dataList; }

    get(key: number): TB.TbGAttribute | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGRoleBaseAttribute{
    private _dataMap: Map<number, TB.TbGRoleBaseAttribute>
    private _dataList: TB.TbGRoleBaseAttribute[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGRoleBaseAttribute>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGRoleBaseAttribute
            _v = new TB.TbGRoleBaseAttribute(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGRoleBaseAttribute> { return this._dataMap; }
    getDataList(): TB.TbGRoleBaseAttribute[] { return this._dataList; }

    get(key: number): TB.TbGRoleBaseAttribute | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGOnHookMaps{
    private _dataMap: Map<number, TB.TbGOnHookMaps>
    private _dataList: TB.TbGOnHookMaps[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGOnHookMaps>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGOnHookMaps
            _v = new TB.TbGOnHookMaps(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGOnHookMaps> { return this._dataMap; }
    getDataList(): TB.TbGOnHookMaps[] { return this._dataList; }

    get(key: number): TB.TbGOnHookMaps | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbGOnHookMap120001{
    private _dataMap: Map<number, TB.TbGOnHookMap120001>
    private _dataList: TB.TbGOnHookMap120001[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbGOnHookMap120001>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbGOnHookMap120001
            _v = new TB.TbGOnHookMap120001(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbGOnHookMap120001> { return this._dataMap; }
    getDataList(): TB.TbGOnHookMap120001[] { return this._dataList; }

    get(key: number): TB.TbGOnHookMap120001 | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




export class TbBattleResource{
    private _dataMap: Map<number, TB.TbBattleResource>
    private _dataList: TB.TbBattleResource[]
    constructor(_json_: any) {
        this._dataMap = new Map<number, TB.TbBattleResource>()
        this._dataList = []
        for(var _json2_ of _json_) {
            let _v: TB.TbBattleResource
            _v = new TB.TbBattleResource(_json2_)
            this._dataList.push(_v)
            this._dataMap.set(_v.id, _v)
        }
    }

    getDataMap(): Map<number, TB.TbBattleResource> { return this._dataMap; }
    getDataList(): TB.TbBattleResource[] { return this._dataList; }

    get(key: number): TB.TbBattleResource | undefined { return this._dataMap.get(key); }

    resolve(tables:Tables)
    {
        for(let  data of this._dataList)
        {
            data.resolve(tables)
        }
    }

}




type JsonLoader = (file: string) => any

export class Tables {
    private _TbGGlobal: TbGGlobal
    get TbGGlobal(): TbGGlobal  { return this._TbGGlobal;}
    private _TbGRole: TbGRole
    get TbGRole(): TbGRole  { return this._TbGRole;}
    private _TbGRoleAttack: TbGRoleAttack
    get TbGRoleAttack(): TbGRoleAttack  { return this._TbGRoleAttack;}
    private _TbGRoleSkill: TbGRoleSkill
    get TbGRoleSkill(): TbGRoleSkill  { return this._TbGRoleSkill;}
    private _TbGMap: TbGMap
    get TbGMap(): TbGMap  { return this._TbGMap;}
    private _TbGOnHookGlobal: TbGOnHookGlobal
    get TbGOnHookGlobal(): TbGOnHookGlobal  { return this._TbGOnHookGlobal;}
    private _TbGResource: TbGResource
    get TbGResource(): TbGResource  { return this._TbGResource;}
    private _TbGRoleUpLevel: TbGRoleUpLevel
    get TbGRoleUpLevel(): TbGRoleUpLevel  { return this._TbGRoleUpLevel;}
    private _TbGRoleUpStar: TbGRoleUpStar
    get TbGRoleUpStar(): TbGRoleUpStar  { return this._TbGRoleUpStar;}
    private _TbGRoleUpGrow: TbGRoleUpGrow
    get TbGRoleUpGrow(): TbGRoleUpGrow  { return this._TbGRoleUpGrow;}
    private _TbSServerInfo: TbSServerInfo
    get TbSServerInfo(): TbSServerInfo  { return this._TbSServerInfo;}
    private _TbGAttribute: TbGAttribute
    get TbGAttribute(): TbGAttribute  { return this._TbGAttribute;}
    private _TbGRoleBaseAttribute: TbGRoleBaseAttribute
    get TbGRoleBaseAttribute(): TbGRoleBaseAttribute  { return this._TbGRoleBaseAttribute;}
    private _TbGOnHookMaps: TbGOnHookMaps
    get TbGOnHookMaps(): TbGOnHookMaps  { return this._TbGOnHookMaps;}
    private _TbGOnHookMap120001: TbGOnHookMap120001
    get TbGOnHookMap120001(): TbGOnHookMap120001  { return this._TbGOnHookMap120001;}
    private _TbBattleResource: TbBattleResource
    get TbBattleResource(): TbBattleResource  { return this._TbBattleResource;}

    constructor(loader: JsonLoader) {
        this._TbGGlobal = new TbGGlobal(loader('tbgglobal'))
        this._TbGRole = new TbGRole(loader('tbgrole'))
        this._TbGRoleAttack = new TbGRoleAttack(loader('tbgroleattack'))
        this._TbGRoleSkill = new TbGRoleSkill(loader('tbgroleskill'))
        this._TbGMap = new TbGMap(loader('tbgmap'))
        this._TbGOnHookGlobal = new TbGOnHookGlobal(loader('tbgonhookglobal'))
        this._TbGResource = new TbGResource(loader('tbgresource'))
        this._TbGRoleUpLevel = new TbGRoleUpLevel(loader('tbgroleuplevel'))
        this._TbGRoleUpStar = new TbGRoleUpStar(loader('tbgroleupstar'))
        this._TbGRoleUpGrow = new TbGRoleUpGrow(loader('tbgroleupgrow'))
        this._TbSServerInfo = new TbSServerInfo(loader('tbsserverinfo'))
        this._TbGAttribute = new TbGAttribute(loader('tbgattribute'))
        this._TbGRoleBaseAttribute = new TbGRoleBaseAttribute(loader('tbgrolebaseattribute'))
        this._TbGOnHookMaps = new TbGOnHookMaps(loader('tbgonhookmaps'))
        this._TbGOnHookMap120001 = new TbGOnHookMap120001(loader('tbgonhookmap120001'))
        this._TbBattleResource = new TbBattleResource(loader('tbbattleresource'))

        this._TbGGlobal.resolve(this)
        this._TbGRole.resolve(this)
        this._TbGRoleAttack.resolve(this)
        this._TbGRoleSkill.resolve(this)
        this._TbGMap.resolve(this)
        this._TbGOnHookGlobal.resolve(this)
        this._TbGResource.resolve(this)
        this._TbGRoleUpLevel.resolve(this)
        this._TbGRoleUpStar.resolve(this)
        this._TbGRoleUpGrow.resolve(this)
        this._TbSServerInfo.resolve(this)
        this._TbGAttribute.resolve(this)
        this._TbGRoleBaseAttribute.resolve(this)
        this._TbGOnHookMaps.resolve(this)
        this._TbGOnHookMap120001.resolve(this)
        this._TbBattleResource.resolve(this)
    }
}