安装与初始化
导入 GCS,创建一个干净的 Unity 场景,点击 Initialize System,指定一个预设遭遇战,然后运行一场可玩的卡牌战斗。
适用于新项目首次接入 GCS,也适用于在现有 Unity 项目中添加一场 GCS 战斗场景。GCS 像普通 Unity 包一样导入。导入后等待脚本编译完成,然后初始化你准备用来测试战斗的场景。
环境要求
- Unity 2021.3 或更新版本。
- 兼容 Unity 6。
- Demo 内容支持 Built-in Render Pipeline 和 URP。
- 运行时不需要第三方依赖。
导入后,所有包内容位于 Assets/TinyGiants/GameCardSystem/。打开任何 GCS 窗口前,先等 Unity 编译完成;项目半编译状态下,编辑器 UI 可能显示为空或残缺。
12 个 demo 场景已经完成接线。打开 Demo/Scenes/Hunter/1-Fenmoss Hollow.unity,进入 Play Mode 即可开始战斗。
如果项目尚未安装 TextMeshPro essentials,双击 demo 场景时 Unity 可能弹出 TextMeshProUGUI 导入提示。请先导入 essentials,然后重新打开或重新加载 demo 场景,文本显示才会正常。
创建新的自定义游戏场景
创建或打开一个干净场景,例如 SampleScene,并确保它是当前活动场景。场景可以为空;Initialize System 会创建 GCS 战斗所需对象。
打开 Game Card System 窗口
Tools > TinyGiants > GCS > Game Card System

这是场景初始化、环境检查、工具入口和文件夹快捷入口所在的设置面板。
查看 System Information
System Information 卡片显示 Unity 版本、渲染管线、编辑器平台和脚本后端。绿色对钩代表该项受支持。全部为绿色对钩时,当前项目环境可用于 GCS。

点击 Initialize System
初始化前,面板显示未初始化状态,主按钮为 Initialize System。

点击 Initialize System,并等待 Unity 完成可能的导入或编译。该按钮会把场景准备成一场可运行战斗:
- 创建或复用
GameCardManager。 - 如缺失,在同一对象上添加
GameCardEncounterBootstrap。 - 注册
Demo/Databases/下的六个预设数据库,并标记为活动。 - 创建或修复最小战斗场景根对象:
EventSystem、Background、Battle Runtime和Battle Fx Directors。 - 添加默认 demo 表现层,使卡牌、单位、HUD、效果、音频、奖励和弹窗能在 Play Mode 中显示。
- 为预设遭遇战配置简单的职业背景解析。
初始化成功后,状态会变为 System Initialized · Re-initialize。

重复运行是安全的。它只补齐缺失部分,跳过已注册数据库,不会移除你的自定义数据库。
检查 Manager
选中 GameCardManager。Inspector 中应出现六个数据库组,顺序为:卡牌、卡组、玩家单位、敌方单位、状态、遭遇战。初始化后,每组都应有一个活动预设数据库。

指定 Default Encounter
在同一 GameObject 上找到 GameCardEncounterBootstrap,将 Default Encounter 设置为一个预设遭遇战。首次测试建议使用 Fenmoss Hollow。
| 字段 | 如何设置 |
|---|---|
| Default Encounter | 要启动的战斗。首次运行可选择任意预设遭遇战。 |
| Auto Start On Play | 如果希望进入 Play Mode 后自动开始遭遇战,保持开启。 |
| On Bootstrap | 遭遇战启动后触发的可选 UnityEvent。首次设置保持为空即可。 |

开始战斗
- Bootstrap(零代码)
- C# API
指定 Default Encounter 并保持 Auto Start On Play 开启后,进入 Play Mode。初始化后的场景已经具备 manager、运行时表现对象、EventSystem、背景,以及效果/音频根对象,可以直接运行一场可玩的战斗。
当由菜单、地图或存档系统决定启动哪场遭遇战时,关闭 Auto Start On Play,改用代码启动:
using TinyGiants.GCS.Runtime;
using UnityEngine;
public class BattleStarter : MonoBehaviour
{
public GameEncounter Encounter;
void Start()
{
GCSApi.StartBattle(Encounter);
}
}
GCSApi.StartBattle 需要场景中存在带活动数据库的 GameCardManager,而这正是 Initialize System 已经创建好的内容。
设置检查表
满足以下条件,场景就准备好了:
- 项目编译没有 GCS 脚本错误。
- 场景中存在
GameCardManager、EventSystem、Background、Battle Runtime和Battle Fx Directors。 - manager 的六个预设数据库组均已填写并处于活动状态。
GameCardEncounterBootstrap.Default Encounter已指定,或你的代码会调用GCSApi.StartBattle。- 进入 Play Mode 后能发手牌、显示能量、渲染单位、显示敌人意图,并能正常打牌。
如果 Workbench 打开后为空,或 Play Mode 没有开始战斗,先检查 manager 数据库和 bootstrap 遭遇战,不要先修改卡牌数据。