Files

187 lines
5.6 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.
# BriskGameServer
Brisk Unity SDK 原始开发工程。
这个仓库本身是 Unity 工程,用于日常开发、测试、联调和后续迭代;对外发布的 UPM package 不直接使用整个仓库,而是从子目录产出。
## 当前状态
当前 SDK 已完成主流程能力:
- SDK 初始化与 bootstrap
- 本地会话恢复
-`login_user_id` 登录
-`code` 登录
- 玩家信息
- 动态配置
- 公告
- 排行榜
- 云存档
- 玩家空间
- 严重错误默认 IMGUI 提示
内容型接口当前默认推荐用法:
- 云存档:
- `Brisk.Archive.UploadAsync(slotNo, bytes)` 直接传二进制
- `Brisk.Archive.UploadTextAsync(slotNo, text)` 直接传文本
- `Brisk.Archive.UploadJsonAsync(slotNo, payload)` 直接传对象
- `Brisk.Archive.DownloadAsync(slotNo)` 获取原始 bytes + 元信息
- `Brisk.Archive.DownloadTextAsync(slotNo)` 直接取文本
- `Brisk.Archive.DownloadJsonAsync(slotNo)` 直接取 JSON 对象
- 玩家空间:
- `Brisk.Space.UpdateMyAsync(string)` 可直接更新文本内容
- `Brisk.Space.UpdateMyAsync(byte[])` 可直接更新二进制内容
- `Brisk.Space.UpdateMyAsync(object)` 会自动转成 JSON 上传
- `Brisk.Space.DownloadContentByPlayerIdAsync(playerId)` 获取原始 bytes
- `Brisk.Space.LikeByPlayerIdAsync(playerId)` / `UnlikeByPlayerIdAsync(playerId)` 会返回累计点赞数、今日点赞数、当前周期是否创建了新点赞、重置时间
- `Brisk.Space.GetLikesByPlayerIdAsync(playerId, limit, true)` 可只读取当前周期点赞列表
- `Brisk.Space.GetMyVisitsAsync()` 默认读取最近 `50` 条访问记录,也可手动传入 `limit`
云存档上传补充约定:
- SDK 默认会自动计算上传文件的 `checksum`
- 当前服务端要求的是纯 SHA256 十六进制字符串
- 不应传 `sha256:xxxx` 这类带算法前缀的值
- 如果手动传入 `checksum`SDK 也会自动去掉 `sha256:` 前缀再发送
静态入口保持为:
- `Brisk.xxx`
- `Brisk.Auth.xxx`
- `Brisk.Leaderboard.xxx`
## 工程结构
开发态源码与样例位于:
- `Assets/BriskSdk/Runtime`
- `Assets/BriskSdk/Samples/QuickStart`
- `Assets/Scenes/BriskQuickStartScene.unity`
其中:
- `Runtime` 是 SDK 活代码
- `Samples/QuickStart` 是示例脚本与样例程序集
- `BriskQuickStartScene.unity` 是中文 IMGUI 测试场景
服务端参考文档位于:
- `服务参考_临时`
## 测试场景
直接打开:
- `Assets/Scenes/BriskQuickStartScene.unity`
运行后会看到一个中文 IMGUI 调试面板,可直接测试:
- 初始化与重新初始化
- 按用户 ID 登录
- 按 code 登录
- 玩家信息与配置
- 公告读取与已读
- 排行榜读取、提交分数、赛季查询
- 云存档上传下载
- 玩家空间读取、点赞、更新、访客
- 玩家空间今日点赞数、今日点赞状态、今日点赞重置时间
- 全局事件日志与最近一次结果输出
当前样例已经直接使用 `UploadTextAsync` / `DownloadTextAsync` 这类快捷接口;如果业务需要,也可以继续走原始 bytes 接口。
## 发布结构
对外 package 发布目录位于:
- `PackageSource/com.foldcc.cc-framework.brisk-game-server`
该目录承载:
- `package.json`
- `README.md`
- `CHANGELOG.md`
- `Documentation~`
- `Runtime`
- `Samples~`
外部项目应通过这个子目录接入,而不是直接依赖整个 Unity 工程。
## 同步 package
从开发态源码同步到发布目录时,执行:
```powershell
./Tools/Sync-BriskPackage.ps1
```
脚本会自动把以下内容同步到 package 子目录:
1. `Assets/BriskSdk/Runtime` -> `PackageSource/com.foldcc.cc-framework.brisk-game-server/Runtime`
2. `Assets/BriskSdk/Samples/QuickStart` -> `PackageSource/com.foldcc.cc-framework.brisk-game-server/Samples~/QuickStart`
3. `Assets/Scenes/BriskQuickStartScene.unity` -> package sample 目录
## 发布规范
建议分支与 tag 约定如下:
- 开发分支:`feature/...``fix/...`
- 发包分支:`release/upm-vX.Y.Z`
- 发包 tag`vX.Y.Z`
推荐发布步骤:
1. 在开发分支完成功能与测试
2. 运行 `./Tools/Sync-BriskPackage.ps1`
3. 检查 `PackageSource/com.foldcc.cc-framework.brisk-game-server`
4. 更新 `package.json` 版本号与 `CHANGELOG.md`
5. 创建发布分支 `release/upm-vX.Y.Z`
6. 打 tag `vX.Y.Z`
7. 推送发布分支与 tag
外部项目 Git Package 接入示例:
```text
http://private.lightyears.ltd:18650/foldcc/CC-Framework.BriskGameServer.git?path=/PackageSource/com.foldcc.cc-framework.brisk-game-server#v0.4.1
```
## 如何引入到项目
当前 Git 仓库地址:
- `http://private.lightyears.ltd:18650/foldcc/CC-Framework.BriskGameServer`
推荐通过 Unity Package Manager 的 Git URL 方式引入。
方式一:在 Unity 编辑器中操作
1. 打开 `Window > Package Manager`
2. 点击左上角 `+`
3. 选择 `Add package from git URL...`
4. 输入:
```text
http://private.lightyears.ltd:18650/foldcc/CC-Framework.BriskGameServer.git?path=/PackageSource/com.foldcc.cc-framework.brisk-game-server#v0.3.0
```
方式二:直接修改项目的 `Packages/manifest.json`
```json
{
"dependencies": {
"com.foldcc.cc-framework.brisk-game-server": "http://private.lightyears.ltd:18650/foldcc/CC-Framework.BriskGameServer.git?path=/PackageSource/com.foldcc.cc-framework.brisk-game-server#v0.4.1"
}
}
```
如果要跟随主分支最新代码,可把末尾的 `#v0.4.1` 改成 `#main`;正式项目仍建议固定到发布 tag。
## 文档位置
仓库根目录只保留这一份总 README。
对外接入文档请看:
- `PackageSource/com.foldcc.cc-framework.brisk-game-server/README.md`
- `PackageSource/com.foldcc.cc-framework.brisk-game-server/Documentation~/QuickStart.md`