介绍
战斗系统由多个组件组成,各自完成不同的功能。一些组件无需修改,而另一些则需要根据项目需求进行扩展。
这里是对这些组件的简单介绍。
核心组件介绍

战斗系统组件
GCS_CombatSystemComponent
这是GCS中最核心的组件。只需为角色添加该组件,并配置一个“CombatFlow(战斗流程)”类,无需其他额外操作。所有“战斗结果”均由战斗流程产生和处理。

技能系统组件
GGA_AbilitySystemComponent
GCS利用"通用游戏技能系统",管理角色所有可用的战斗能力(Abilities)以及功能性Abilities。

查看技能系统指南下的内容以了解内置技能的使用。
输入系统组件
GIPS_InputSystemComponent
GCS利用“通用输入系统”来完成数据驱动的输入管理和处理。

属性系统组件
GCS提供BC_GCS_AttributeSystemComponent
,该组件监听技能系统组件所用的所有属性的变化,并将其转发到战斗系统组件进行处理。
该组件拓展自通用游戏技能系统中的属性系统组件,得益于此,蓝图用户无需掌握C++也能使用GAS。
碰撞系统组件
GCS_CollisionSystemComponent
用于管理一个角色当前的所有碰撞检测实例对象,无论是近战武器目标扫描,子弹的目标获取都依赖该组件。

查看碰撞检测系统了解更多。
战斗核心组件
GCS专注于战斗系统本身,而任何与其他系统产生依赖的地方,通过GCS_CombatInterface
(战斗接口)进行抽象。
而战斗核心组件(BC_GCS_CombatCore
组件)则是针对该接口的默认实现。
该组件是唯一一个被设计为需要你进行自定义的组件。
请查阅:战斗接口了解如何进行修改/拓展以及第三方整合。
在GCS的Demo项目中,有一个经过拓展的BC_GCS_DemoCombatCore
组件来演示如何将不同的系统与GCS整合到一起,你可以依样画葫芦,完成对其它系统的整合(如果你确实拥有其他独立的运动系统、库存系统等。)

战斗队伍Agent组件
GCS有默认的阵营/队伍功能支持,查看阵营队伍集成了解更多。

额外组件介绍
GCS_LockIndicator组件
这是个简单的组件,它会根据角色是否被锁定,从而动态地为角色添加锁定Widget,它与BC_GCS_TargetingSystemComponent
(是GCS_TargetingSystemComponent
的子类)。
如果你不需要LockIndicator,你可以直接使用C++版本的GCS_TargetingSysytemComponent
GCMS_CameraSystem组件
这是来自相机系统中的相机系统组件,在GCS提供的参考内容中,使用该系统处理角色在不同状态下的镜头参数,以及多个相机模式之间的平滑过渡。
如果你已经有了其他的相机系统,你可以参考Demo中的用法,切换为别的相机系统。
GCS_ContextEffects组件
这是来自情景效果系统,在GCS提供的参考内容中,所有的脚步声,武器挥舞声,打击碰撞声效均由该系统处理。

GCS_DemoWeaponManager组件
这是一个简单的武器管理组件,用于管理和切换GCS中的武器。

你应该查看武器系统来了解GCS中的武器使用方式。