Appearance
收集物
DLSample提供了宝石和皇冠两种基础收集物。
一.宝石
在DLSample/Resources/Prefabs下找到Gem预制体,直接拖入场景即可使用。
如果出现无法拾取的情况,请检查:
- 角色是否添加了
TriggeryCollector组件和Rigidbody组件(详见第二节“示例场景”)。 - 宝石是否添加了
Collider组件,并且勾选了IsTrigger。 - 宝石物体的Layer是否在
TriggeryCollector的ExcludeLayers中。
二.皇冠
DLSample中,皇冠默认只能通过检查点拾取。DLSample提供了皇冠检查点,在DLSample/Resources/Prefabs下找到CrownCheckpoint预制体,拖入场景中。
皇冠检查点
皇冠检查点上挂载了CrownCheckpoint组件,可能还有PathGrapherTransformMover组件(详见PathGrapher)。此处仅介绍CrownCheckpoint组件。
字段说明
CheckTime: DLSample中,为保证时间对齐,检查点被设计为基于时间触发。CheckTime即为触发检查点的时间。时间数据可以通过上文提到的PathGrapherTransformMover组件获取,也可以自行计算。MainPlayerRespawnTransform: 复活时,主要角色复活时的位置和方向即为MainPlayerRespawnTransform的位置和方向。Visualize: 勾选即可预览MainPlayerRespawnTransform的位置以及朝向。Crown: 当前皇冠检查点所属的皇冠。
皇冠
如果你的关卡不需要检查点,也可以通过给挂载了Crown组件的对象添加Collider组件来使得TriggeryCollector可以直接拾取皇冠。
三.自定义收集物
可以通过实现ICollectable接口自定义收集物。见DLSample/Scripts/Runtime/Gameplay/Behaviours/Collectables/ICollectable.cs
csharp
public interface ICollectable
{
string TypeId { get; }
bool IsCollected { get; }
void Collect();
event Action OnCollect;
}