/**
 * 美术资源配置 Thrift 定义
 * 合并了所有表数据和manifest信息
 * 生成命令示例: thrift --gen netstd:unity,serial,async_postfix ArtResourceConfig.thrift
 */

namespace netstd Byway.Thrift.Data

/**
 * 资源项
 */
struct ArtItem {
    1: required i32 id;
    2: required string name;
    3: optional string desc;
    4: optional string spritePath;
    5: optional string spineAssetPath;
    6: optional string spineAnimName;
}

/**
 * 资源表
 */
struct ArtTable {
    1: required i32 tableId;
    2: required string tableName;
    3: required list<ArtItem> items;
}

/**
 * 美术资源总配置
 * 包含所有表数据 + manifest信息（预加载配置）
 */
struct ArtResourceConfig {
    // 所有资源表
    1: required list<ArtTable> tables;
    
    // 预加载表ID列表（来自原manifest）
    2: optional list<i32> preloadTableIds;
    
    // 版本号（用于热更新校验）
    3: required i64 version;
    
    // 生成时间戳（用于调试）
    4: optional string generateTime;
}
