Replace the legacy EventBase runtime with generated multi-bus bindings and explicit scheduling. Migrate app, data, network, demo, and mod consumers; add generated network-event registration and owner-scoped mod content overrides.
《被替代之人》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 中运行
- 打开
Assets/Demos/ReplacedPerson/ReplacedPerson.unity。 - 进入 Play Mode。
- 从标题页进入章节、牌组或局域网大厅。
如需重新生成场景、Prefab、教程资产和字体资产,执行菜单:
ShrinkSDK > Demos > Replaced Person > Rebuild Full Demo
Windows Development Player 可通过以下菜单一键输出到 Artifacts/ReplacedPersonBuild/:
ShrinkSDK > Demos > Replaced Person > Build Windows Player
生成器只写入本 Demo 的资源目录,并把入口场景加入 Build Settings。不要手工编辑 .unity、.prefab 或 .asset 文件。
命令
控制台命令均位于 game14 根命令下,并应用 ShrinkCommand 的来源与权限限制:
game14 status
game14 start-ai greed.tutorial
game14 start-ai greed.full
game14 give-card attack.kill
game14 reload-mods
game14 dump-match
文档
测试入口
- EditMode:
ReplacedPerson.EditMode.Tests - PlayMode:
ReplacedPerson.PlayMode.Tests - 独服确定性自检:
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 对局。