# PlayerData.json 字段说明 `PlayerData.json` 是玩家动态数据的本地原型,正式版由 Java 后台接口返回相同结构。标准 JSON 不支持 `//` 注释,因此字段说明单独维护在本文件。 ## 根字段 | 字段 | 类型 | 说明 | |---|---|---| | `playerId` | string | 玩家唯一标识;本地原型使用 `local_player`,正式版由服务器返回。 | | `unlockedCharacters` | array | 玩家已解锁的卡牌角色列表。 | | `currentDeck` | string[] | 当前出战卡组,内容是 `characterId`,塔防第一版默认 5 个位置。 | ## unlockedCharacters 子项 | 字段 | 类型 | 说明 | |---|---|---| | `characterId` | string | 对应 `Assets/Resources/Data/` 中 CharacterData 的 `characterId`。 | | `level` | int | 玩家拥有的角色等级,从 1 开始。用于计算英雄最终生命、攻击和移速。 | | `starLevel` | int | 玩家拥有的角色星级;当前阶段保留字段,暂不参与基础数值计算。 | ## 数据职责 ```text CharacterData = 项目静态配置:Prefab、头像、角色名称、基础属性、升级成长 PlayerData.json = 玩家动态数据:解锁、等级、星级、当前卡组 Level1-Waves.json = 关卡动态数据:波次、敌人 ID、数量、生成间隔、生成位置 ``` 玩家英雄最终属性公式: ```text 最终生命 = baseMaxHealth + (level - 1) × healthPerLevel 最终攻击 = baseAttackPower + (level - 1) × attackPerLevel 最终移速 = baseMoveSpeed + (level - 1) × moveSpeedPerLevel ``` 普通波次小兵读取 CharacterData 的 1 级基础属性,不读取玩家等级、星级、解锁状态或卡组数据。