UE5 C++(六)— 枚举UENUM、结构体USTRUCT和补充属性说明符

news2024/11/24 4:31:26

文章目录

  • 枚举(ENUM)
    • 第一种方式
    • 第二种方式
  • 结构体(USTRUCT)
  • 补充属性说明符(ExposeOnSoawn)
  • 结构体创建数据表格

枚举(ENUM)

第一种方式

定义枚举

UENUM(BlueprintType)
namespace MyEnumType
{
	enum MyCustomType
	{
		Type1, // 或者使用带 DisplayName别名 ==> Enum1 UMETA(DisplayName = "Type1"),
		Type2,
		Type3,
		Type4,
	};
}

调用枚举,使用TEnumAsByte模板
在这里插入图片描述

//在蓝图中声明
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyEnumType")
TEnumAsByte<MyEnumType::MyCustomType> MyEnumType;

在这里插入图片描述

第二种方式

UENUM(BlueprintType)
enum class MyEnumType2 : uint8
{
	Enum1 UMETA(DisplayName = "Type1"),
	Enum2 UMETA(DisplayName = "Type2"),
	Enum3 UMETA(DisplayName = "Type3"),
	Enum4 UMETA(DisplayName = "Type4"),
};
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyEnumType2")
TEnumAsByte<MyEnumType2> MyEnumType2;

在这里插入图片描述
在这里插入图片描述

结构体(USTRUCT)

定义结构体
注意,定义结构体名称前要加F前缀,不然编译不通过。

USTRUCT(BlueprintType)
struct FMyCustomStruct
{
	GENERATED_USTRUCT_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyStructType")
	FString ID;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyStructType")
	FString Name;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyStructType")
	int32 Age;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyStructType")
	float Height;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyStructType")
	bool IsMan;
};

声明结构体

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyCustomStruct")
	FMyCustomStruct MyCustomStruct;

编译后在蓝图中可以看到
在这里插入图片描述

也可以使用它
在这里插入图片描述

补充属性说明符(ExposeOnSoawn)

蓝图生成时暴露变量,方便赋予变量的初始值

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyExposeOnSpawn", meta = (ExposeOnSpawn = "ExposeOnSpawnValue"))
	float ExposeOnSpawnValue;

编译后,打开关卡蓝图

在这里插入图片描述

结构体创建数据表格

先创建一个结构体数据类

#include "Engine/DataTable.h"

USTRUCT(BlueprintType)
struct FDateTableStruct:public FTableRowBase
{
	GENERATED_USTRUCT_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "DateTableStruct")
	FString ID;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "DateTableStruct")
	FString Name;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "DateTableStruct")
	int32 Age;
};

编译之后,创建一个关联的信息表格,保存为.csv格式
在这里插入图片描述
然后拖到项目文件目录中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1321748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue中英文翻译小结

背景&#xff1a;时局艰难&#xff0c;后端开发被强制写了vue&#xff0c;这不有个需求是中英文翻译&#xff0c;特此记录下&#xff0c;该怎么个翻译法子。 先引入全局的路由国际化文件&#xff0c;zh.js 和 en.js 1.关于插值表达Button里面 {{ $t(reinsop.common.back) }} …

制造业CRM选型注意事项:有这些功能的系统更好用

当前&#xff0c;推动制造业数字化转型已成时代发展趋势。为了适应这一趋势&#xff0c;制造业使用CRM管理系统是非常重要的。那么&#xff0c;制造业CRM应该怎么选&#xff1f; 1、全方位客户管理 订单价值大&#xff0c;交货周期长&#xff0c;客户开发难。。。这一直是制造…

MySQL job 定时任务

目录 介绍 优点&#xff1a; 缺点&#xff1a; 使用场景&#xff1a; 案例 创建表 -- 创建定时任务 每一分钟插入一条数据 执行结果 -- 查询定时任务 ENABLED--启用 DISABLED--禁用 -- 查询定时任务 -- 启用定时任务 ​-- 禁用定时任务 ​-- 删除定时任务 …

Unity | 渡鸦避难所-3 | 控制角色移动

1 移动刚体 在物理世界中&#xff0c;控制刚体移动通常有三种方式&#xff0c;每种方式产生的效果也不尽相同 AddForce&#xff1a;添加作用力&#xff0c;用于模拟真实的物理效果 MovePosition&#xff1a;设置位置&#xff0c;用于精确控制游戏对象的位置 velocity&#x…

opencv 入门一(显示一张图片)

头文件添加如下&#xff1a; 库目录添加如下&#xff1a; 依赖的库如下&#xff1a; #include <iostream> #include "opencv2/opencv.hpp" int main(int argc,char ** argv) { cv::Mat img cv::imread(argv[1], -1); if (img.empty()) return -1; …

1998-2022年最大NDVI数据集(1km)

本文的植被指数&#xff08;NDVI&#xff09;数据来源于美国NASA定期发布的MOD13A3植被指数数据集。MOD13A3提供自1998年4月起逐月1km的NDVI数据。原始数据来源详细的介绍见&#xff1a;https://doi.org/10.5067/MODIS/MOD13A3.006   月度NDVI数据为每月1-3旬NDVI数据数值的最…

第二证券:耐心等待指数企稳 关注数据要素等板块

其时或是布局商场的时间窗口。2024年美联储或打开降息周期&#xff0c;欧洲降息预期也在增强&#xff0c;全球流动性有望迎来拐点。中心经济工作提及2024年的职业及工业方向&#xff0c;政策有望落地施行&#xff0c;将会为职业配备带来较多的催化要素&#xff0c;是具备配备价…

小红书可观测 Metrics 架构演进,如何实现数十倍性能提升?

在当前云原生时代&#xff0c;随着微服务架构的广泛应用&#xff0c;云原生可观测性概念被广泛讨论。可观测技术建设&#xff0c;将有助于跟踪、了解和诊断生产环境问题&#xff0c;辅助开发和运维人员快速发现、定位和解决问题&#xff0c;支撑风险追溯、经验沉淀、故障预警&a…

Android WorkManager入门(一)

WorkManager入门 前言一、WorkManager是什么&#xff1f;二、使用1.添加依赖2.定义工作3.创建 WorkRequest并提交 一次性的任务&#xff08;OneTimeWorkRequest&#xff09;4.setExpedited 加急方法5. setInitialDelay 延时任务6.约束 总结参考资料 前言 在当今快节奏的生活中…

协同物联:设备物联与车间数据采集的融合

随着工业4.0和智能制造的快速发展&#xff0c;物联网技术在工业领域的应用逐渐普及。其中&#xff0c;协同物联、设备物联和车间数据采集技术对于提升企业生产效率和降低运营成本具有重要意义。本文将深入探讨这些技术在现代工业环境中的应用及它们如何共同推动企业向数字化转型…

【Linux基础】3. 文件基本属性

文章目录 【 1. 文件的属主和属组 】【 2. 显示文件的类型、权限 】2.1 文件类型2.2 文件权限 【 3. 更改文件属性 】3.1 chgrp 更改文件属组3.2 chown 更改文件所有者3.3 更改文件权限3.3.1 数字法更改文件权限3.3.2 符号法更改文件权限 【 1. 文件的属主和属组 】 Linux 系统…

山海鲸开发者带你看:智慧医疗解决方案

在之前的文章中我为大家介绍了山海鲸可视化软件的一些基础操作以及一些解决方案&#xff0c;让大家知道了山海鲸可视化软件是一款可以免费自由开发的数字孪生软件。在本文&#xff0c;我将带大家了解山海鲸可视化的智慧医疗解决方案&#xff0c;让大家知道山海鲸可视化能在医疗…

maui中实现加载更多 RefreshView跟ListView(2)

一个类似商品例表的下拉效果&#xff1a; 代码 新增个类为商品商体类 public class ProductItem{public string ImageSource { get; set; }public string ProductName { get; set; }public string Price { get; set; }}界面代码&#xff1a; <?xml version"1.0&quo…

现代化智慧档案馆八防十防建设调研样本

以下是一份完整的解决方案&#xff0c;包括方案介绍、方案优势、实施方案、预算和清单、实施时间和进度计划以及可能遇到的难点和解决方案。 方案介绍 档案库房八防十防环境一体化监控系统旨在为档案库房提供全方位的环境监控和管理&#xff0c;保障档案的安全、稳定和可靠。该…

C++前后函数的相互调用,函数的预定义,靠前的函数调用靠后的函数

好多时候我们习惯性的认为在C中函数的定义是没有顺序的关系的&#xff0c;如下所示 代码片段1 void func1() {cout << "func1" << "\n"; } void func2() {cout << "func2" << "\n"; }代码片段2 void fun…

浅析PAM市场价值

随着全球数字化蓬勃发展&#xff0c;云计算、人工智能、大数据、5G等技术的应用范围不断扩大&#xff0c;在企业运用新技术提高自身效率的同时也面临着更多由新技术诱发的网络威胁&#xff0c;全球网络威胁形势愈发严峻。网络攻击行为日趋复杂&#xff0c;构建全面的安全防护体…

端口占用命令 netstat (centos)+netstat (windows)

linux 1.使用 netstat 命令查看端口占用情况 netstat -tlnp 使用 -p 选项查看进程信息。 使用 -t 选项列出 TCP 协议的连接&#xff1a;类似&#xff08;使用 -u 选项列出 UDP 协议的连接&#xff1a;&#xff09; 2.查找占用指定端口号的应用信息 netstat -tlnp | grep 3…

基于SSM的高校疫情防控出入信息管理系统的设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本高校疫情防控出入信息管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞…

【PHP入门】1.3-数据类型、转换、判断

-数据类型- 数据类型&#xff1a;data type&#xff0c;在 PHP中指的是存储的数据本身的类型&#xff0c;而不是变量的类型。 PHP是一种弱类型语言&#xff0c;变量本身没有数据类型。 1.3.1PHP的八种数据类型 在PHP中将数据分为三大类八小类&#xff1a; 简单&#xff0…

【C语言】还不会【二维数组】!进来手把手教你,保姆级!!!

讲二维数组前&#xff0c;先讲一下sizeof()函数的用法&#xff1b; 目录 sizeof()函数 二维数组概念 二维数组创建 二维数组初始化 1&#xff0c;不完全初始化 2&#xff0c;完全初始化 二维数组下标 二维数组的输入和输出 二维数组的储存 变长数组 总结 sizeof()函数…