# Windows Auth + Achievements Sample

GameMaker Studio 2 Windows 首期示例：演示授权验证、连接状态、成就解锁与进度上报。

## 快速开始（30 秒）

1. GameMaker Studio 2 (2024.2 LTS 及以上) 打开 [`./project/IGP.WindowsAuthAchievements.yyp`](./project/IGP.WindowsAuthAchievements.yyp)
2. 按 F5 运行
3. 状态面板应显示当前连接状态与授权状态；如本机桌面端已启动，连接应切换到 `connected`

无需手工拷 DLL 或 GML — `IGP.GamemakerDesktopBridge.Native.dll` 已放在 `project/datafiles/`，`igp_gms2_windows_runtime.gml` 已作为 script 资源预置。

## 包含文件

| 文件 | 用途 |
| --- | --- |
| `project/IGP.WindowsAuthAchievements.yyp` | 可直接打开的 GMS2 工程壳 |
| `project/datafiles/IGP.GamemakerDesktopBridge.Native.dll` | 原生桥 DLL（随 `datafiles/` 一起带入） |
| `project/scripts/igp_gms2_windows_runtime/` | 运行时 GML（canonical 源同步） |
| `project/objects/obj_igp_windows_auth_achievements/` | 示例对象，演示 Create / Step / Draw 接线 |
| `igp_windows_auth_achievements_sample.gml` | 示例控制器函数（已在工程内作为 script 注册） |
| `igp_windows_auth_achievements_view.gml` | UI 渲染辅助函数 |
| `INTEGRATION.md` | 接入自己工程的步骤 |
| `SMOKE-CHECKLIST.md` | 冒烟验收清单 |

## 示例演示什么

- 显示当前授权状态（`pending` / `authorized_online` / `authorized_offline` / `failed` / `skipped`）
- 显示当前连接状态（`disconnected` / `connecting` / `connected` / `detached`）
- 通过 `Unlock Achievement` 按钮触发成就解锁
- 通过 `Report Progress` 按钮上报成就进度
- 显示最近一次结果（`success / operation`）与最近一次错误（`code: message`）

## 进一步

- 接入到你自己的工程：[`INTEGRATION.md`](./INTEGRATION.md)
- 公开 API 参考：[`../../../adapters/gamemaker/runtime/API-SHAPE.md`](../../../adapters/gamemaker/runtime/API-SHAPE.md)
- 冒烟验收：[`SMOKE-CHECKLIST.md`](./SMOKE-CHECKLIST.md)
