Features:

  •  Use any struct
  •  Make CSV strings
  •  Works at runtime

Code Modules:

  •  DynamicDatatable (Runtime)

Number of Blueprints: 1 (Read Me BP)

Number of C++ Classes: 2

Network Replicated: No

Supported Development Platforms: Win64

Supported Target Build Platforms: Windows

Documentation: READ_ME blueprint at DynamicDatatable Content/READ_ME

Example Project: N/A

Important/Additional Notes:

特征:

  •  使用任何结构
  •  制作CSV字符串
  •  在运行时工作

代码模块:

  •  DynamicDatatable(运行时)

蓝图数量:1(读我BP)

C++类数:2

网络复制:没有

支持的开发平台:Win64

支持的目标构建平台:Windows

文档:Read_me蓝图在DynamicDatatable内容/READ_ME

示例项目:N/A

重要/附加注意事项:




[Demo Video Link]

Discordhttps://discord.gg/E7U8BC4h4y

Dynamic Datatable is a full Data Table replacement blueprint library, allowing you to edit freely at runtime and even combine existing tables. It can Export and Import as CSV. You can simply add an existing Data Table to a dynamic one, so there's minimal change in workflow. Blueprint functions written in C++, full source included (source code is undocumented).

NEW

  • now over 60 functions in total, new ones feature math evaluation, reinterpreting structs, caching, diff'ing tables, adding all tables from a composite Data Table, a basic table editor, and async nodes. Each of these features have been tested. (written on feb 21, 2023)

Use any Struct

You can use any structure, it even tolerates 'casting' to another struct with similar parameters. All struct pins are wildcards, simply connect a "Break" or "Make" node of the structure you want to use.

Combine Tables

Combine tables simply by calling Add Rows From Data Table for each table. It will keep track of what row was added from which table, streamlining things like having 50 item type tables (swords, bows, axes, etc.) you'd be able to tell what an item is, based on which table it came from.

CSV

Make a CSV string with Convert Table To Csv String, the format is modeled after the built in Data Table CSV export. This may lose some data but should work for the great majority of variable types. This string can be used to fill a Data Table or a Dynamic Table using their respective methods, the dynamic one is Add Rows From Csv String. CSV is intended to work with Unreal, I cannot guarantee it'll work with spreadsheet software.

Dynamic Datatable is meant to be used alongside built in Data Tables especially for data entry, but it can be used entirely separate from them as well.

QUICKSTART

Show plugin content and engine content in the Content Browser

Find the DynamicDatatable Content folder and open the READ_ME file

TL;DR QUICKSTART

Use "Add Rows from Data Table" and "Get Row from Table". Simply right click on the Table pin to create a variable (Promote to Variable) All functions are in the category "Dynamic Datatable"

Support: Vyrulentstudios@gmail.com

Functions List: ( int32& are wildcards )

  • void AddRowToTable(FDynamicTable& Table, FName RowName, const int32& Row, UDataTable* Source)
  • void GetRowFromTable(FDynamicTable& Table, FName RowName, int32& Row, UDataTable*& Source)
  • void GetRowFromTable_Pure(FDynamicTable& Table, FName RowName, int32& Row)
  • void DeleteTableRow(FDynamicTable& Table, FName RowName)
  • void DeleteTableRowAtIndex(FDynamicTable& Table, int Index)
  • void ClearTable(FDynamicTable& Table)
  • bool TableRowExists(FDynamicTable& Table, FName RowName)
  • TArray<FName> GetRowNamesFromTable(FDynamicTable& Table)
  • void AddRowsFromDataTable(FDynamicTable& Table, UDataTable* Source)
  • int GetSizeOfTable(FDynamicTable& Table)
  • int GetSizeFromSourceTable(FDynamicTable& Table, UDataTable* Source)
  • TArray<FName> GetRowNamesFromSourceTable(FDynamicTable& Table, UDataTable* Source)
  • FString ConvertTableToCsvString(FDynamicTable& Table)
  • void AddRowsFromCsvString(FDynamicTable& Table,FString& Csv)
  • FDynamicTable CreateDynamicTable(int32& BaseStruct)
  • void SetTableType(FDynamicTable& Table,int32& BaseStruct)
  • bool IsTableType(FDynamicTable& Table,int32& BaseStruct)
  • bool TableHasAnyType(FDynamicTable& Table)
  • void GetRowFromTableAtIndex(FDynamicTable& Table, int Index, int32& Row, UDataTable*& Source)
  • void GetRowFromTableAtIndex_Pure(FDynamicTable& Table, int Index, int32& Row)
  • void GetAllRowsFromTable(FDynamicTable& Table, TArray<int32>& Rows)
  • void GetAllRowsFromTableRowNames(FDynamicTable& Table, TArray<int32>& Rows,TArray<FName>& RowNames)
  • TArray<FName> GetRowNamesFromSourceTableName(FDynamicTable& Table, FString SourceName)

[演示视频链接]

不和谐https://discord.gg/E7U8BC4h4y

动态Datatable是一个完整的数据表替换蓝图库,允许您在运行时自由编辑,甚至组合现有的表。 它可以导出和导入为CSV。 您可以简单地将现有数据表添加到动态数据表中,因此工作流中的更改最小。 蓝图函数用C++编写,包括完整的源代码(源代码未记录).

新的

  • 现在总共有超过60个函数,新的函数具有数学计算,重新解释结构,缓存,差异表,从复合数据表添加所有表,基本表编辑器和异步节点。 这些功能中的每一个都经过了测试。 (写于2023年2月21日)

使用任何结构

您可以使用任何结构,它甚至可以容忍”强制转换”到具有类似参数的另一个结构。 所有结构引脚都是通配符,只需连接要使用的结构的”Break”或”Make”节点即可。

组合表

只需为每个表调用从数据表添加行即可合并表。 它将跟踪从哪个表中添加的行,简化诸如50个项目类型表(剑,弓,轴等)的事情。)你可以根据它来自哪个表来判断一个项目是什么。

CSV档案源

制作一个CSV字符串,转换表为Csv字符串,格式是仿照内置的数据表CSV导出。 这可能会丢失一些数据,但应该适用于绝大多数变量类型。 这个字符串可以用来填充数据表或动态表,使用它们各自的方法,动态的是从Csv字符串中添加行。 CSV的目的是与虚幻的工作,我不能保证它会与电子表格软件的工作。

动态Datatable旨在与内置的数据表一起使用,特别是用于数据输入,但它也可以与它们完全分开使用。

快速入门

在内容浏览器中显示插件内容和引擎内容

找到DynamicDatatable内容文件夹并打开READ_ME文件

TL;快速入门博士

使用”从数据表中添加行”和”从表中获取行”。 只需右键单击表格引脚即可创建变量(提升为变量)所有函数都在”动态数据表”类别中

支持:Vyrulentstudios@gmail.com

函数列表:(int32&是通配符)

  • void AddRowToTable(FDynamicTable&Table,FName RowName,const int32&Row,UDataTable*Source)
  • void GetRowFromTable(FDynamicTable&Table,FName RowName,int32&Row,UDataTable*&Source)
  • void GetRowFromTable_Pure(FDynamicTable&Table,FName RowName,int32&Row)
  • void DeleteTableRow(FDynamicTable&Table,FName RowName)
  • void DeleteTableRowAtIndex(FDynamicTable&Table,int Index)
  • void ClearTable(FDynamicTable&Table)
  • bool TableRowExists(FDynamicTable&Table,FName RowName)
  • TArray<FName>GetRowNamesFromTable(FDynamicTable&Table)
  • void AddRowsFromDataTable(FDynamicTable&Table,UDataTable*Source)
  • int GetSizeOfTable(FDynamicTable&Table)
  • int GetSizeFromSourceTable(FDynamicTable&Table,UDataTable*Source)
  • TArray<FName>GetRowNamesFromSourceTable(FDynamicTable&Table,UDataTable*Source)
  • FString ConvertTableToCsvString(FDynamicTable&Table)
  • void AddRowsFromCsvString(FDynamicTable&Table,FString&Csv)
  • FDynamicTable CreateDynamicTable(int32&BaseStruct)
  • void SetTableType(FDynamicTable&Table,int32&BaseStruct)
  • bool IsTableType(FDynamicTable&Table,int32&BaseStruct)
  • bool TableHasAnyType(FDynamicTable&Table)
  • void GetRowFromTableAtIndex(FDynamicTable&Table,int Index,int32&Row,UDataTable*&Source)
  • void GetRowFromTableAtIndex_Pure(FDynamicTable&Table,int Index,int32&Row)
  • void GetAllRowsFromTable(FDynamicTable&Table,TArray<int32>&Rows)
  • void GetAllRowsFromTableRowNames(FDynamicTable&Table,TArray<int32>&Rows,TArray<FName>&RowNames)
  • TArray<FName>GetRowNamesFromSourceTableName(FDynamicTable&Table,FString SourceName)
声明:本站所有资源都是由站长从网络上收集而来,如若本站内容侵犯了原著者的合法权益,可联系站长删除。