枚举

  • 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的更多相关文章

  1. swift:入门知识之枚举和结构体

    枚举: swift中的枚举有些类似于类这个概念,它有自己的属性,也可以有自己的方法 枚举中的成员有原始值和实际值之分,原始值用来枚举成员的排序次序,默认从0开始 枚举出来的成员值就是实际值 可以通过t ...

  2. C# 篇基础知识2——运算符、类型转换、流程控制、枚举、结构体和数组、函数

    1.运算符.类型转换 计算某年y某月m某日d是周几的基姆拉尔森公式公式:int week = (d + 2*m + 3*(m + 1)/5 + y + y/4 - y/100 + y/400 + 1) ...

  3. 【UE4 C++ 基础知识】<11>资源的同步加载与异步加载

    同步加载 同步加载会造成进程阻塞. FObjectFinder / FClassFinder 在构造函数加载 ConstructorHelpers::FObjectFinder Constructor ...

  4. 结构体struct、联合体union、枚举类型enum

    1.c语言中的类型 1)内置类型——char,short,int,float,double: 2)用户自定义类型(UDT)——struct结构体,union联合体,enum枚举类型 2.内存对齐 2. ...

  5. Swift具体解释之六----------------枚举、结构体、类

    枚举.结构体.类 注:本文为作者自己总结.过于基础的就不再赘述 ,都是亲自測试的结果.如有错误或者遗漏的地方.欢迎指正,一起学习. 1.枚举 枚举是用来定义一组通用类型的一组相关值 ,关键字enum ...

  6. Swift中元组(Tuples),结构体(Struct),枚举(Enums)之间的区别

    Swift有许多种存储数据方式,你可以用枚举(enums),元组(tuples),结构体(structs),类(classes),在这篇文章中我们将比较枚举.元组.结构体之间区别,首先从最简单的开始- ...

  7. c#之枚举,结构体

    1.枚举 2.结构体 例子1: using System; using System.Collections.Generic; using System.Linq; using System.Text ...

  8. swift学习笔记之---数组、字典、枚举、结构体

    1.数组-Array let types = ["none","warning","error"] //省略类型的数组声明 let menb ...

  9. swift 定义枚举和结构体 及使用

    //定义枚举 enum MapDirection { case North case South case East case West func simpleDescription() -> ...

  10. 结构体struct知识

    2022-10-12 08:52:03 //    结构体知识#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<m ...

随机推荐

  1. Springboot 整合通用mapper和pagehelper展示分页数据(附github源码)

    简介 springboot 设计目的就是为了加速开发,减少xml的配置.如果你不想写配置文件只需要在配置文件添加相对应的配置就能快速的启动的程序. 通用mapp 通用mapper只支持对单表的操作,对 ...

  2. SpringBoot快速集成SpringBootAdmin管控台监控服务

    SpringBootAdmin是一个针对 Spring Boot 的 Actuator 接口进行 UI 美化封装的监控工具,它可以在列表中浏览所有被监控 spring-boot 项目的基本信息.详细的 ...

  3. adb 常用命令大全(2)- 基础命令

    adb 基本语法 adb [-d|-e|-s <serialNumber>] <command> 命令行参数 -d:指定当前唯一通过 USB 连接的 Android 设备为命令 ...

  4. Linux的基础指令(二)

    目录:   一.列表显示目录内容-ls    二.设置别名-alias      三.统计目录及文件空间占用情况-du       四.创建新目录 -mkdir          五.创建空文件-to ...

  5. JavaScript进行表单提交

    表单结构,设置form表单的id属性,method="post/get","action"要跳转的页面(jsp或servlet) <form name=& ...

  6. html 表单input disabled属性提交后台无法获得数据

    在input上加入disabled属性后, 点击提交会遗漏该值, 有两个办法: 一 可以考虑readonly属性,一样的不可修改操作,但是可以提交 二 在提交时 js 代码操作去除input上的dis ...

  7. seo优化刷百度指数方法

    站长朋友们都听过"刷指数"这个概念,并且一直以来都有站长刷指数的现象.大家或为了提升网站数据,或为了满足排名的虚荣心,或为了与竞争对手抗衡,都或多或少研究过刷指数的原理和工具. 那 ...

  8. modern php enable zend opcache

    字节码缓存能存储预先编译好的php代码 * 如果是自己编译PHP ./configure --enable-opcache 编译好后 php.ini zend_extension=opcache.so ...

  9. ELK实战部署

    环境 : 一台 centos 6.7 IP地址: 192.168.88.250 软件版本 : ElasticSearch 2.1.0    Logstash 2.1.1  Kibana 4.3.1   ...

  10. JDBC封装的工具类

    1. JDBC封装的工具类 public class JDBCUtil { private static Properties p = new Properties(); private static ...