CARLA
 
载入中...
搜索中...
未找到
ActorSpawnResult.h
浏览该文件的文档.
1// 版权所有 (c) 2017 巴塞罗那自治大学 (UAB) 计算机视觉中心 (CVC)。
2//
3// 本作品根据 MIT 许可证的条款进行许可。
4// 有关副本,请参阅 <https://opensource.org/licenses/MIT>。
5
6#pragma once
7// 这是一个预处理器指令,用于确保头文件只被包含一次,避免重复定义等问题
8
9#include "ActorSpawnResult.generated.h"
10// 包含一个自动生成的头文件,通常与UE4(Unreal Engine 4)的反射系统相关,用于支持蓝图等功能
11
12// 定义了一个名为EActorSpawnResultStatus的枚举类型,用于表示参与者属性的有效类型列表
13// 并且标记为可在蓝图中使用(BlueprintType)
14UENUM(BlueprintType)
15enum class EActorSpawnResultStatus : uint8
16{
17 // 表示生成参与者成功的状态,通过元数据(UMETA)设置在蓝图中显示的名称为 "Success"
18 Success UMETA(DisplayName = "Success"),
19 // 表示参与者描述无效的状态,在蓝图中显示名称为 "Invalid actor description"
20 InvalidDescription UMETA(DisplayName = "Invalid actor description"),
21 // 表示因为在生成位置发生碰撞而导致生成失败的状态,蓝图中显示名称为相应字符串
22 Collision UMETA(DisplayName = "Failed because collision at spawn position"),
23 // 表示未知错误的状态,蓝图中显示名称为 "Unknown Error"
24 UnknownError UMETA(DisplayName = "Unknown Error"),
25
26 // 这个枚举成员通常用于表示枚举的大小等内部用途,标记为隐藏(Hidden),不在蓝图等外部可见
27 SIZE UMETA(Hidden)
28};
29
30// 定义了一个名为FActorSpawnResult的结构体,标记为可在蓝图中使用(BlueprintType)
31// 该结构体用于表示参与者生成函数的结果
32USTRUCT(BlueprintType)
34{
35 GENERATED_BODY()
36 // 这是UE4的宏,用于生成支持反射等功能所需的代码,具体由引擎的代码生成工具处理
37
38 // 默认构造函数,使用默认的初始化方式
39 FActorSpawnResult() = default;
40
41 // 显式构造函数,接受一个AActor类型的指针参数InActor
42 // 根据传入的指针是否为空来初始化结构体中的成员变量Status
43 // 如果传入的指针不为空,则状态设为Success,否则设为UnknownError
44 explicit FActorSpawnResult(AActor *InActor)
45 : Actor(InActor),
46 Status(Actor!= nullptr?
48 EActorSpawnResultStatus::UnknownError) {}
49
50 // 静态函数,用于将EActorSpawnResultStatus类型的状态转换为FString类型的字符串表示
51 static FString StatusToString(EActorSpawnResultStatus Status);
52
53 // 成员函数,用于判断当前的FActorSpawnResult对象是否有效
54 // 有效条件是Actor指针不为空且状态为Success
55 bool IsValid() const
56 {
57 return (Actor!= nullptr) && (Status == EActorSpawnResultStatus::Success);
58 }
59
60 // 声明一个可编辑(EditAnywhere)且可在蓝图中读写(BlueprintReadWrite)的属性
61 // 用于存储指向AActor的指针,初始化为nullptr
62 UPROPERTY(EditAnywhere, BlueprintReadWrite)
63 AActor *Actor = nullptr;
64
65 // 同样声明一个可编辑且可在蓝图中读写的属性,用于存储参与者生成结果的状态
66 // 初始化为UnknownError状态
67 UPROPERTY(EditAnywhere, BlueprintReadWrite)
69};
EActorSpawnResultStatus
TSharedPtr< const FActorInfo > carla::rpc::ActorState UWorld Actor