【UE4 C++ 基础知识】<4> 枚举 Enum、结构体 Struct
枚举
UENUM宏搭配BlueprintType可以将枚举暴露给蓝图,不使用的话,仅能在C++使用
//定义一个原生enum class
enum class EMyType
{
Type1,
Type2,
Type3,
};
UENUM(BlueprintType)
enum class ECurrentState : uint8
{
Idle UMETA(DisplayName="空闲"),
Attack UMETA(DisplayName="攻击"),
Roll UMETA(DisplayName="翻滚"),
Dead UMETA(DisplayName="死亡"),
};
UPROPERTY(EditAnywhere,BlueprintReadWrite)
ECurrentState MyCurrentState UMETA(DisplayName = "当前状态");

结构体
BlueprintType可以将枚举暴露给蓝图
//结构体
USTRUCT(BlueprintType)
struct FMyStruct
{
GENERATED_BODY()
// 暴露给蓝图
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Test Variables")
int32 MyIntegerMemberVariable;
// 不暴露给蓝图
int32 NativeOnlyMemberVariable;
// 蓝图图表无法访问此UObject指针,但是指针对UE4的反射、智能指针和垃圾回收系统可见。
UPROPERTY()
UObject* SafeObjectPointer;
};
UPROPERTY(EditAnywhere,BlueprintReadWrite)
FMyStruct MyStruct;

- 继承
FTableRowBase之后可以用于DataTable
struct FInventoryItemInfo : public FTableRowBase
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FString ItemName UMETA(DisplayName="名称");
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 index UMETA(DisplayName="编号");
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bCanStaking UMETA(DisplayName="可否叠加");
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 Count UMETA(DisplayName="数量");
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UTexture2D* Icon UMETA(DisplayName="图标");
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TSubclassOf<AActor> ItemClass;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
USkeletalMesh* SkeletalMesh;
};
UPROPERTY(EditAnywhere,BlueprintReadWrite)
FInventoryItemInfo EmptyItem;

参考
【UE4 C++ 基础知识】<4> 枚举 Enum、结构体 Struct的更多相关文章
- swift:入门知识之枚举和结构体
枚举: swift中的枚举有些类似于类这个概念,它有自己的属性,也可以有自己的方法 枚举中的成员有原始值和实际值之分,原始值用来枚举成员的排序次序,默认从0开始 枚举出来的成员值就是实际值 可以通过t ...
- C# 篇基础知识2——运算符、类型转换、流程控制、枚举、结构体和数组、函数
1.运算符.类型转换 计算某年y某月m某日d是周几的基姆拉尔森公式公式:int week = (d + 2*m + 3*(m + 1)/5 + y + y/4 - y/100 + y/400 + 1) ...
- 【UE4 C++ 基础知识】<11>资源的同步加载与异步加载
同步加载 同步加载会造成进程阻塞. FObjectFinder / FClassFinder 在构造函数加载 ConstructorHelpers::FObjectFinder Constructor ...
- 结构体struct、联合体union、枚举类型enum
1.c语言中的类型 1)内置类型——char,short,int,float,double: 2)用户自定义类型(UDT)——struct结构体,union联合体,enum枚举类型 2.内存对齐 2. ...
- Swift具体解释之六----------------枚举、结构体、类
枚举.结构体.类 注:本文为作者自己总结.过于基础的就不再赘述 ,都是亲自測试的结果.如有错误或者遗漏的地方.欢迎指正,一起学习. 1.枚举 枚举是用来定义一组通用类型的一组相关值 ,关键字enum ...
- Swift中元组(Tuples),结构体(Struct),枚举(Enums)之间的区别
Swift有许多种存储数据方式,你可以用枚举(enums),元组(tuples),结构体(structs),类(classes),在这篇文章中我们将比较枚举.元组.结构体之间区别,首先从最简单的开始- ...
- c#之枚举,结构体
1.枚举 2.结构体 例子1: using System; using System.Collections.Generic; using System.Linq; using System.Text ...
- swift学习笔记之---数组、字典、枚举、结构体
1.数组-Array let types = ["none","warning","error"] //省略类型的数组声明 let menb ...
- swift 定义枚举和结构体 及使用
//定义枚举 enum MapDirection { case North case South case East case West func simpleDescription() -> ...
- 结构体struct知识
2022-10-12 08:52:03 // 结构体知识#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<m ...
随机推荐
- ABP VNext发布遇到的坑
本地调试没有问题,发布后通过Token调用其他API时,出现返回JSON中提示:Authorization failed! Given policy has not granted. 需要修改apps ...
- python动态网站爬虫实战(requests+xpath+demjson+redis)
目录 前言 一.主要思路 1.观察网站 2.编写爬虫代码 二.爬虫实战 1.登陆获取cookie 2.请求资源列表页面,定位获得左侧目录每一章的跳转url(难点) 3.请求每个跳转url,定位右侧下载 ...
- 批大小、mini-batch、epoch的含义
每次只选取1个样本,然后根据运行结果调整参数,这就是著名的随机梯度下降(SGD),而且可称为批大小(batch size)为 1 的 SGD. 批大小,就是每次调整参数前所选取的样本(称为mini-b ...
- UVA 506 System Dependencies(模拟 烂题)
https://vjudge.net/problem/UVA-506 题目是给出了五种指令,DEPEND.INSTALL.REMOVE.LIST.END,操作的格式及功能如下: DEPEND item ...
- Android学习记录(二)——第一次hello world及遇到的gradle安装问题
开始一个简单的hello world项目,简单了解Android studio的使用方法 第一步,打开Android studio,点击Create New Project 第二步,选择需要的模板 T ...
- 使用Java操作Excel表格
目录 一.配置第三方库 二.使用Apache POI API 1. 打开Excel文件 2. 选择对应的sheet 3. Sheet接口的基本使用 3.1 获取开头行和结束行 3.2 获取Row对象 ...
- STM32,下载HAL库写的代码后J-Link识别不到芯片,必须要按住复位才能下载?
问题描述:最近在学STM32的HAL库,据说可以统一STM32江湖,前途无量.最近一段时间参照STM32CubeMX和原子的资料自己学着建了两个HAL库的工程模板,F4的还好说,F1的出现了一个玄学问 ...
- Git(2) - git安装、本地仓库与远程仓库使用详细指南
git版本控制工具 下载地址:https://www.git-scm.com/download/win选择对应版本的工具,下载后是一个exe执行文件: 常用git命令 命令 作用 git init(在 ...
- mysql 优化的相关配置:总结中...
centos 为例:mysql 怎么获取配置参数信息: /etc/my.cnf; /etc/myql/my.cnf/; 家目录:或者指定目录:作用域 客户端:全局 set global 会话 set[ ...
- win10连接mysql提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
win10中cmd连接mysql提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YE ...