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

文章目录

  • 枚举(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.mzph.cn/news/232310.shtml

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

相关文章

Rust基本语法

Rust基本语法 Hello World fn main() {println!("Hello, world!"); }Rust数据类型 Rust 是一种静态类型的语言。 Rust 中的每个值都是某种数据类型。 编译器可以根据分配给它的值自动推断变量的数据类型。 声明变量 使用关键词 let 声明变量。 直接赋值的场合R…

[C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/weixin_43197380&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 Loewen丶原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&…

解决docker alpine /bin/sh: ./main: not found

解决docker alpine /bin/sh: ./main: not found golang中编译之后的二进制文件部署在alpine镜像中出现了not found问题解决这种情况是因为动态链接库位置错误导致的&#xff0c;alpine镜像使用的是musl libc而不是gun libc。因而动态链接库的位置不一致。在基础镜像内执行&…

shell脚本报错 syntax error near unexpected token `$‘do\r‘‘

在我执行docker-compose up 的时候会去执行一个shell文件&#xff0c;如下图报错 看代码并未发现什么特别的错误 解决方案打开编辑器把分割符CRLF换成LF重新运行&#xff0c;其实是shell的换行符导致的

Elasticsearch的批量bulk 提交 写入的方式会有顺序问题吗?

Elasticsearch的分布式特性可能会导致写入操作的执行顺序与提交顺序稍有不同。在分布式环境中,Elasticsearch将数据分散到不同的节点上进行存储和处理,因此写入操作的执行顺序可能会受到网络延迟、负载均衡等因素的影响。 根源在于ES的分布式架构。如上图所示,客户端的命令首…

企业怎么选海外呼叫中心?企业在选择海外呼叫中心时需要考虑哪些关键因素呢?

在当今竞争激烈的商业环境下&#xff0c;企业需要建立一个高效可靠的海外呼叫中心来处理不同国家地区客户的需求和问题。选择合适的呼叫中心对于企业的发展至关重要。那么企业在选择海外呼叫中心时需要考虑哪些关键因素呢&#xff1f; 1.企业在选择海外呼叫中心之前应该明确自…

带大家做一个,易上手的家常辣椒炒鸡蛋

先打四五个鸡蛋 将鸡蛋搅拌均匀 绿辣椒切片 起锅烧油 倒入鸡蛋液 注意用锅铲过一会儿就动一动 别让鸡蛋粘锅了 鸡蛋定型后 用锅铲分成小块 然后 倒入绿辣椒 小半勺生抽 鸡蛋差不多了 就倒入少量盐(一点点就好) 然后 如果有条件 可以倒入一点点 孜然粉胡椒粉 然后就可以装…

问题表达式

问题表达式 目录 一&#xff0e; 概述二&#xff0e; 例题1. 例子一2. 例子二3. 例子三4. 例子四 三&#xff0e; 分析四&#xff0e; 总结 一&#xff0e; 概述 表达式的求值部分由操作符的优先级决定。但有时会由于编码的不规范&#xff0c;会导致表达式执行顺序混乱&#xf…

文件夹加密有哪些好处?电脑重要文件夹怎么加密?

对于每个使用电脑的人来说&#xff0c;文件夹是非常熟悉的数据管理工具。但文件夹并不具备安全保护功能&#xff0c;很容易导致数据泄露。因此&#xff0c;我们需要对文件夹进行加密。那么&#xff0c;电脑重要文件夹该怎么加密呢&#xff1f;下面我们就来一起了解一下。 文件夹…

【MAC】M2 安装docker 与 mysql

一、docker下载地址 下载地址 二、安装docker完成 罗列一下docker常用命令 # 查看docker版本 docker --version# 拉取镜像 docker pull 镜像名# 查看当前所有镜像 docker images# 查看运行中的容器 docker ps -a docker ps grep| 镜像名#镜像启动操作&#xff1a; sudo dock…

paddleocr 下载超时换源百度 ReadTimeOutError

pip install “paddleocr>2.0.1” -i https://mirror.baidu.com/pypi/simple

Axure中继器案例:中继器的repeater属性,中继器的Item属性

一.中继器的repeater属性 Repeater: 中继器的对象 visibleltemCount: 中继器项目列表中可见项的数量 ltemCount: 加载项数量 dataCount:获取中继器数据集中数据行的总数量 pageCount: 获取中继器分页的总数量&#xff0c;即能够获取分页后共有多少页 pagelndex: 获取中继器项目…

强大矢量图编辑器 Boxy SVG 激活最新

Boxy SVG for Mac功能介绍 1、干净&#xff0c;直观的UI深受Inkscape&#xff0c;Sketch和Adobe illustrator的启发 2、广泛支持画布上编辑对象几何&#xff0c;转换&#xff0c;绘画和其他属性 3、保存为SVG和SVGZ格式&#xff0c;导出为PNG&#xff0c;JPG&#xff0c;WebP和…

TypeScript 中的高级类型(联合、交叉、泛型、映射类型)

文章目录 一、联合类型&#xff08;Union Types&#xff09;二、交叉类型&#xff08;Intersection Types&#xff09;三、泛型3.1 泛型结合extends3.2 泛型结合 keyof3.3 extends keyof 和 in keyof 的区别 四、条件类型&#xff08;Conditional Types&#xff09; TypeScript…

音视频技术开发周刊 | 324

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 467亿参数MoE追平GPT-3.5&#xff01;爆火开源Mixtral模型细节首公开&#xff0c;中杯逼近GPT-4 今天&#xff0c;Mistral AI公布了Mixtral 8x7B的技术细节&#xff0c;不…

Apache Doris 在奇富科技的统一 OLAP 场景探索实践

导读&#xff1a;随着消费信贷规模快速增长&#xff0c;个人信贷市场呈现场景化、体验感强的特征&#xff0c;精准营销、精细化风险管理以及用户使用体验的优化愈发重要。作为中国卓越的由人工智能驱动的信贷科技服务平台&#xff0c;奇富科技选择将 Apache Doris 作为整体 OLA…

【离散数学】——期末刷题题库(树其一)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

城市智能图书柜需求说明书

1. 简介 1.1 项目概括 本项目主要实现智能图书柜对图书的借出、还回、续借、查询、上下架、盘点的功能&#xff0c;对于读者&#xff0c;可以进行读者证的办理&#xff0c;读者信息的录入和完善。 1.2 项目背景 ​ 目前大量读者距离图书馆较远&#xff0c;无法方便、快捷地…

IDEA运行JSP启动后页面中文乱码

源代码截图&#xff1a; 运行结果截图&#xff1a; 在<head>标签内加入代码 <% page contentType"text/html; charsetgb2312"%> 重启服务器&#xff0c;问题已改善 ————————————————— 该文仅供学习以及参考&#xff0c;可做笔记收藏…

泛型深入理解

泛型的概述 泛型&#xff1a;是JDK5中引入的特性&#xff0c;可以在编译阶段约束操作的数据类型&#xff0c;并进行检查。 泛型的格式&#xff1a;<数据类型>; 注意&#xff1a;泛型只能支持引用数据类型。 集合体系的全部接口和实现类都是支持泛型的使用的。 泛型的…