跳到主要内容

安装与初始化

Guide

从 Asset Store 导入 GCS,确认项目环境,再用 Initialize System 为当前场景接通 Manager、六类数据库、Bootstrap 与战斗表现层

导入 GCS 并确认支持环境

GCS 支持 Unity 2021.3 及更高版本,也可以在 Unity 6 中使用,运行时不依赖第三方插件,随包 Demo 已适配 Built-in Render Pipeline 与 URP,HDRP 项目可以使用核心运行时与编辑工具,但需要自行处理 Demo 材质和 Shader

从 Unity Asset Store 获取 GCS 后,按以下顺序完成导入

  1. 打开 Window > Package Manager
  2. 将左上角的 Packages 切换为 My Assets,选择 Game Card System
  3. 点击 Download,下载完成后点击 Import
  4. 等待 Unity 完成资源导入与脚本编译

Unity 的完整导入流程可查阅 Asset Store 资源包导入说明,导入完成后,GCS 包内容位于以下目录

Assets/TinyGiants/GameCardSystem/

如果Console 中没有 GCS 编译错误,就说明包已经进入了项目,下一步便是让当前活动场景接入运行对象、内容数据库与启动入口

让当前场景接入 GCS

创建或打开要承载战斗的场景,保存后保持它处于活动状态,再从 Unity 顶部菜单打开 GCS 总面板

Tools > TinyGiants > GCS > Game Card System

Game Card System 总面板,包含系统初始化、环境信息、编辑工具与资源快捷入口

上图中的 System Information 用于核对项目环境,Initialize System 负责为活动场景补齐 GCS 对象,初始化通过后,Game Card Editor 与 Game Card Monitor 的入口也会进入可用状态

核对 System Information

System Information 会读取当前 Unity 版本、渲染管线、编辑器平台与脚本后端,先在这里确认版本和渲染管线符合项目计划

System Information 显示当前 Unity Version、Render Pipeline、Editor Platform 与 Scripting Backend

Built-in Render Pipeline 与 URP 可以直接使用随包表现资源,检测到其他渲染管线时,先准备对应材质与 Shader,再继续初始化场景

初始化场景对象与数据库

场景尚未接入 GCS 时,初始化卡片会显示黄色 Initialize System 按钮

场景尚未初始化时,Game Card System 面板显示 Initialize System 按钮

点击按钮后,GCS 会围绕当前活动场景完成四组接线

接入内容初始化结果
Manager 与启动入口创建或复用 GameCardManager,并在同一 GameObject 上添加 GameCardEncounterBootstrap
六类内容数据库注册 Card、Deck、Player Unit、Enemy Unit、Status 与 Encounter 预设数据库
战斗场景根对象从场景模板补齐 Main CameraEventSystemBackgroundBattle RuntimeBattle Fx Directors
输入与背景为主相机补充 2D 射线检测,并接入预设遭遇战背景解析

接线完成后,按钮会变为绿色 System Initialized · Re-initialize,状态条同时确认 Manager、六类数据库与 Bootstrap 已经就绪

初始化完成后,Game Card System 面板显示 System Initialized 与 ready 状态

绿色状态说明场景中已经存在 GameCardManager,而且六个数据库组都至少注册了一个数据库,Re-initialize 可在对象或数据库缺失时重新补齐接线,它会复用已有 Manager、保留自定义数据库,也不会擅自重新启用被手动关闭的数据库

确认六类数据库处于活动状态

在 Hierarchy 中选择 GameCardManager,Inspector 会依次显示 Card、Deck、Player Unit、Enemy Unit、Status 与 Encounter 六个数据库组,全新初始化的场景中,每组都应显示 1/1 Active

GameCardManager Inspector 中六个预设数据库组均显示 1/1 Active

Active 数据库决定编辑器选择器与主动内容发现可以使用哪些内容,资产仅仅存在于项目中并不足以进入这些集合,某组显示 0/1 Active 时,重新启用对应数据库,添加、排序与活动规则见数据库设置

选择首次运行的遭遇战

六类内容均可发现后,在同一 GameObject 上展开 GameCardEncounterBootstrap,将 Default Encounter 设置为要运行的遭遇战,首次验证可以选择 Fenmoss Hollow,并保持 Auto Start On Play 开启

字段作用首次验证
Default Encounter指定进入 Play Mode 后创建的玩家、敌人、规则与奖励选择 Fenmoss Hollow
Auto Start On Play控制 Bootstrap 是否在场景启动时自动发起战斗保持开启
Events战斗启动后调用 UnityEvent,启用 GES 集成时也可发送 GES 事件保持默认

Inspector 显示绿色 Ready — starts on Play 后,内容来源、启动入口与默认遭遇战已经接通

GameCardEncounterBootstrap 已选择 Fenmoss Hollow,并显示 Ready — starts on Play

固定战斗场景可以继续使用 Bootstrap 自动启动,而当地图、关卡或存档需要动态选择 Encounter 时,则关闭自动启动并按照战斗启动接入项目流程

进入 Play Mode 完成首次验证

保持 Default Encounter 已指定、Auto Start On Play 已开启,再进入 Play Mode,此时应当连续出现以下结果

  1. GameCardEncounterBootstrap 读取 Default Encounter
  2. GameCardManager 取得遭遇战引用的玩家、卡组、敌人、规则与奖励
  3. Battle Runtime 创建玩家、敌人、手牌、能量、意图与回合状态
  4. Battle UI 显示棋盘,玩家可以选择目标、打出卡牌并结束回合

同时检查 Console 中没有 GCS 报错,Hierarchy 保留 GameCardManagerMain CameraEventSystemBackgroundBattle RuntimeBattle Fx Directors,回到 GameCardManager Inspector 后,六个数据库组也应继续保持活动

初次验证未通过时
  • 没有开始战斗,先检查 Default EncounterAuto Start On Play

  • 已经开始战斗但缺少手牌或单位,检查对应数据库是否为 Active

  • 仍无法定位时,按照常见问题收集 Console 与 Monitor 证据

场景通过验证后,项目结构会继续说明随包 Demo 与正式项目内容的目录边界,数据库设置则负责自定义数据库的添加、排序与启用