struct DataPlayer @POD id : uint32 name : string @default: "" end struct DataProgress @POD completed : uint32 @default: 0 position : uint32 @default: 0 sequence : uint32[] @default: [] levelReward : DataLevelReward @default: {} end struct DataItem @POD amount : uint32 protoId : uint32 end struct DataOfflineReward @POD lastEntryTime : string @default: "" end struct DataDailyReward @POD nextRewardTime : string @default: "" lastEntryTime : string @default: "" dayIndex : uint32 @default: 0 end struct DataTimeRewards @POD offline : DataOfflineReward @default: {} daily : DataDailyReward @default: {} end struct DataGame @cloneable extId : string player : DataPlayer @default: {} inventory : DataInventory @default:{} progress : DataProgress @default: {} timeRewards : DataTimeRewards @default: {} buffs : DataBuffs @default: {} end struct DataSave @POD local : DataGame remote : DataGame end struct DataInventory @POD purchased : DataItem[] @default:[] equipped : DataItem[] @default:[] end struct DataLevelReward @POD itemId : uint32 @default : 0 progress : float @default : 0 end struct DataBuff @POD type : EnumBuffType level : uint32 @default : 0 end struct DataBuffs @POD buffs : DataBuff[] @default:[] end