|
|
@@ -141,7 +141,12 @@ WebView2 JS 接收 → 触发对应动画帧 → 播放音效(可选)
|
|
|
"waiting_for_interaction": "hand_gesture",
|
|
|
"success_animation": "celebrate",
|
|
|
"sleeping": "breath_loop",
|
|
|
- "mini_game": "puzzle_active"
|
|
|
+ "mini_game": "puzzle_active",
|
|
|
+
|
|
|
+ // 【新增】用户自定义状态映射
|
|
|
+ // 键为用户自定义状态名,值为对应的 CSS 动画类名或帧序列
|
|
|
+ "custom_state_1": "user_animation_1",
|
|
|
+ "custom_state_2": "user_animation_2"
|
|
|
},
|
|
|
|
|
|
"sounds": {
|
|
|
@@ -161,11 +166,22 @@ WebView2 JS 接收 → 触发对应动画帧 → 播放音效(可选)
|
|
|
### 用户自定义流程
|
|
|
|
|
|
1. 用户放置 PNG 图片到 `~/.xaf-pet/images/<pet-name>/`
|
|
|
-2. 同目录放置 `pet-config.json`(使用上述 Schema)
|
|
|
+2. 同目录放置 `pet-config.json`(使用上述 Schema,可在 `actions` 中添加 `custom_state_N` 键值对)
|
|
|
3. 应用启动时扫描所有配置文件夹
|
|
|
-4. 用户在"设置"界面选择宠物形象
|
|
|
+4. 用户在"设置 → 自定义状态"界面管理自定义状态映射
|
|
|
+5. C# 侧通过 `window.cfcPetAPI.setCustomState("custom_state_1", data)` 发送自定义状态
|
|
|
+
|
|
|
+**要求**:
|
|
|
+- 每只宠物需要一张基准 PNG(透明背景)+ 可选的动作帧图
|
|
|
+- CSS 动画驱动,无需多帧精灵图
|
|
|
+- 支持最多 10 种用户自定义状态(通过配置文件 key 如 `custom_state_1`~`custom_state_10` 定义)
|
|
|
|
|
|
-**要求**:每只宠物需要一张基准 PNG(透明背景)+ 一张动作帧图(可选)。CSS 动画驱动,无需多帧精灵图。
|
|
|
+### C# ↔ JS Bridge 新增接口
|
|
|
+
|
|
|
+```csharp
|
|
|
+// C# → JS:设置自定义状态
|
|
|
+public void SetCustomState(string stateName, object stateData);
|
|
|
+```
|
|
|
|
|
|
---
|
|
|
|