Files
2026-08-17 18:18:13 +08:00

73 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 《被替代之人》ShrinkSDK Demo
这是一个位于现有 ShrinkSDK 工程内的完整功能 Demo,不包含嵌套 Unity 工程。入口场景为 `Assets/Demos/ReplacedPerson/ReplacedPerson.unity`,目标平台是 Windows 横屏,Canvas 以 1920x1080 为参考分辨率并通过 Safe Area 约束交互区。
## 已包含内容
- “贪婪”第一章、教学形态与完整形态两场 AI 战斗。
- 12 张普通牌、4 张结束牌的牌组编辑、收集、奖励和三件可装备装饰。
- “反击蓄势”初始牌组:6 张反击、2 张闪避、4 张攻击,强调读牌、保留 COST 与后手惩罚。
- 卡牌完整效果面板、拖拽视觉副本、页面与卡牌动效、三槽逐次拼点动画和战斗音效反馈。
- 确定性 PCG32 对局内核、合法指令校验、只使用公开信息的 AI、回放和状态哈希。
- 首次出牌、结束牌继承、后手对位、低点重掷四步真实交互教程。
- TCP/KCP LAN 建房与直连、UDP 房间发现、牌组与准备、权威指令、幂等令牌、玩家裁剪快照和 30 秒席位保留。
- EventBus、DataSaver、Command、Tutorial、ShrinkApp/Cordis、ShrinkModFramework 接入。
- .NET 8 独立服务器与跨端纯规则程序集。
- 可打包的“审计训练”示例 Mod。
## 在 Unity 中运行
1. 打开 `Assets/Demos/ReplacedPerson/ReplacedPerson.unity`
2. 进入 Play Mode。
3. 从标题页进入章节、牌组或局域网大厅。
如需重新生成场景、Prefab、教程资产和字体资产,执行菜单:
```text
ShrinkSDK > Demos > Replaced Person > Rebuild Full Demo
```
Windows Development Player 可通过以下菜单一键输出到 `Artifacts/ReplacedPersonBuild/`
```text
ShrinkSDK > Demos > Replaced Person > Build Windows Player
```
生成器只写入本 Demo 的资源目录,并把入口场景加入 Build Settings。不要手工编辑 `.unity``.prefab``.asset` 文件。
## 命令
控制台命令均位于 `game14` 根命令下,并应用 ShrinkCommand 的来源与权限限制:
```text
game14 status
game14 start-ai greed.tutorial
game14 start-ai greed.full
game14 give-card attack.kill
game14 reload-mods
game14 dump-match
```
## 文档
- [完整规则](Docs/RULES.md)
- [与论坛原案的差异](Docs/RULE_DIFFERENCES.md)
- [联网协议](Docs/NETWORKING.md)
- [Mod 开发与打包](Docs/MODDING.md)
- [美术与字体来源](Docs/ASSET_SOURCES.md)
- [独立服务器](../../../GeneratedServers/ReplacedPerson.ServerHost/README.md)
## 测试入口
- EditMode`ReplacedPerson.EditMode.Tests`
- PlayMode`ReplacedPerson.PlayMode.Tests`
- 独服确定性自检:
```powershell
dotnet run --project GeneratedServers/ReplacedPerson.ServerHost/ReplacedPerson.ServerHost.csproj -c Release -- --self-test
```
存档使用槽位 14,模块键为 `demo.replaced-person`。联网对局不修改章节进度或单机奖励。
自动化双 Player 验收支持 `--rp-host=TCP``--rp-join=TCP,127.0.0.1``--rp-player=<id>``--rp-auto` 参数。`--rp-auto` 仅用于 QA,在第 12 回合通过既定的连续超时规则收束镜像 AI 对局。