ソースを参照

提交风场效果

wartheking 8 ヶ月 前
コミット
00dd3b537a
100 ファイル変更8932 行追加0 行削除
  1. BIN
      Content/BP/CameraBird2.uasset
  2. BIN
      Content/BP/FactoryController.uasset
  3. BIN
      Content/BP/HealMapUnit.uasset
  4. BIN
      Content/BP/MainUI.uasset
  5. BIN
      Plugins/FlowField2D/Binaries/Mac/UnrealEditor-FlowField2D.dylib
  6. 7 0
      Plugins/FlowField2D/Binaries/Mac/UnrealEditor.modules
  7. BIN
      Plugins/FlowField2D/Binaries/Win64/UnrealEditor-FlowField2D.dll
  8. BIN
      Plugins/FlowField2D/Binaries/Win64/UnrealEditor-FlowField2D.pdb
  9. 7 0
      Plugins/FlowField2D/Binaries/Win64/UnrealEditor.modules
  10. BIN
      Plugins/FlowField2D/Content/Example/FlowFieldExample.uasset
  11. BIN
      Plugins/FlowField2D/Content/Example/FlowFieldMap_Example.umap
  12. BIN
      Plugins/FlowField2D/Content/Example/NewMap.umap
  13. BIN
      Plugins/FlowField2D/Content/Example/UI/Arrow.uasset
  14. BIN
      Plugins/FlowField2D/Content/Example/UI/Background.uasset
  15. BIN
      Plugins/FlowField2D/Content/Example/UI/Coastline.uasset
  16. BIN
      Plugins/FlowField2D/Content/Example/UI/ExampleMarked.uasset
  17. BIN
      Plugins/FlowField2D/Content/Example/UI/FlowField2DUI_Example.uasset
  18. BIN
      Plugins/FlowField2D/Content/Example/UI/FlowField2DUI_Example1.uasset
  19. BIN
      Plugins/FlowField2D/Content/Example/UI/WorldWind.uasset
  20. BIN
      Plugins/FlowField2D/Content/Example/UI/WorldWind3D.uasset
  21. BIN
      Plugins/FlowField2D/Content/Example/UI/WorldWindMat.uasset
  22. 30 0
      Plugins/FlowField2D/FlowField2D.uplugin
  23. 6 0
      Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Development/FlowField2D/FlowField2D.precompiled
  24. 336 0
      Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp
  25. 35 0
      Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.generated.h
  26. 29 0
      Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp
  27. 10 0
      Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FlowField2DClasses.h
  28. 752 0
      Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp
  29. 86 0
      Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h
  30. 2 0
      Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/Timestamp
  31. 6 0
      Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Shipping/FlowField2D/FlowField2D.precompiled
  32. BIN
      Plugins/FlowField2D/Intermediate/Build/Android/a/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o
  33. BIN
      Plugins/FlowField2D/Intermediate/Build/Android/a/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o
  34. 6 0
      Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Development/FlowField2D/FlowField2D.precompiled
  35. 336 0
      Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp
  36. 35 0
      Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.generated.h
  37. 29 0
      Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp
  38. 10 0
      Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FlowField2DClasses.h
  39. 752 0
      Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp
  40. 86 0
      Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h
  41. 2 0
      Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/Timestamp
  42. 6 0
      Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Shipping/FlowField2D/FlowField2D.precompiled
  43. BIN
      Plugins/FlowField2D/Intermediate/Build/IOS/arm64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o
  44. BIN
      Plugins/FlowField2D/Intermediate/Build/IOS/arm64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o
  45. 336 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp
  46. 35 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FFRenderUtils.generated.h
  47. 29 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp
  48. 10 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FlowField2DClasses.h
  49. 752 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp
  50. 86 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h
  51. 2 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/Timestamp
  52. 8 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Development/FlowField2D/FlowField2D.precompiled
  53. 336 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp
  54. 35 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.generated.h
  55. 29 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp
  56. 10 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FlowField2DClasses.h
  57. 752 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp
  58. 86 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h
  59. 2 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/Timestamp
  60. 8 0
      Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Shipping/FlowField2D/FlowField2D.precompiled
  61. BIN
      Plugins/FlowField2D/Intermediate/Build/Mac/arm64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o
  62. BIN
      Plugins/FlowField2D/Intermediate/Build/Mac/arm64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o
  63. BIN
      Plugins/FlowField2D/Intermediate/Build/Mac/x64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o
  64. BIN
      Plugins/FlowField2D/Intermediate/Build/Mac/x64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o
  65. 336 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp
  66. 35 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FFRenderUtils.generated.h
  67. 29 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp
  68. 10 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FlowField2DClasses.h
  69. 752 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp
  70. 86 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h
  71. 2 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/Timestamp
  72. 5 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Development/FlowField2D/FlowField2D.precompiled
  73. 336 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp
  74. 35 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.generated.h
  75. 29 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp
  76. 10 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FlowField2DClasses.h
  77. 752 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp
  78. 86 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h
  79. 2 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/Timestamp
  80. 5 0
      Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Shipping/FlowField2D/FlowField2D.precompiled
  81. BIN
      Plugins/FlowField2D/Intermediate/Build/Win64/x64/UnrealEditor/Development/FlowField2D/UnrealEditor-FlowField2D.lib
  82. BIN
      Plugins/FlowField2D/Intermediate/Build/Win64/x64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.obj
  83. BIN
      Plugins/FlowField2D/Intermediate/Build/Win64/x64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.obj
  84. 10 0
      Plugins/FlowField2D/Resources/2016112000.json
  85. BIN
      Plugins/FlowField2D/Resources/2016112000.png
  86. 10 0
      Plugins/FlowField2D/Resources/2016112118.json
  87. BIN
      Plugins/FlowField2D/Resources/2016112118.png
  88. BIN
      Plugins/FlowField2D/Resources/Example1.png
  89. BIN
      Plugins/FlowField2D/Resources/Example2.png
  90. BIN
      Plugins/FlowField2D/Resources/Example3.png
  91. BIN
      Plugins/FlowField2D/Resources/FlowField.png
  92. BIN
      Plugins/FlowField2D/Resources/Icon128.png
  93. BIN
      Plugins/FlowField2D/Resources/Instructions.png
  94. BIN
      Plugins/FlowField2D/Resources/Vortex.png
  95. 97 0
      Plugins/FlowField2D/Shaders/FlowFieldCS.usf
  96. 138 0
      Plugins/FlowField2D/Shaders/FlowFieldPS.usf
  97. 36 0
      Plugins/FlowField2D/Shaders/FlowFieldVS.usf
  98. 67 0
      Plugins/FlowField2D/Source/FlowField2D/FlowField2D.Build.cs
  99. 958 0
      Plugins/FlowField2D/Source/FlowField2D/Private/FFRenderUtils.cpp
  100. 22 0
      Plugins/FlowField2D/Source/FlowField2D/Private/FlowField2D.cpp

BIN
Content/BP/CameraBird2.uasset


BIN
Content/BP/FactoryController.uasset


BIN
Content/BP/HealMapUnit.uasset


BIN
Content/BP/MainUI.uasset


BIN
Plugins/FlowField2D/Binaries/Mac/UnrealEditor-FlowField2D.dylib


+ 7 - 0
Plugins/FlowField2D/Binaries/Mac/UnrealEditor.modules

@@ -0,0 +1,7 @@
+{
+	"BuildId": "27405482",
+	"Modules": 
+	{
+		"FlowField2D": "UnrealEditor-FlowField2D.dylib"
+	}
+}

BIN
Plugins/FlowField2D/Binaries/Win64/UnrealEditor-FlowField2D.dll


BIN
Plugins/FlowField2D/Binaries/Win64/UnrealEditor-FlowField2D.pdb


+ 7 - 0
Plugins/FlowField2D/Binaries/Win64/UnrealEditor.modules

@@ -0,0 +1,7 @@
+{
+	"BuildId": "27405482",
+	"Modules": 
+	{
+		"FlowField2D": "UnrealEditor-FlowField2D.dll"
+	}
+}

BIN
Plugins/FlowField2D/Content/Example/FlowFieldExample.uasset


BIN
Plugins/FlowField2D/Content/Example/FlowFieldMap_Example.umap


BIN
Plugins/FlowField2D/Content/Example/NewMap.umap


BIN
Plugins/FlowField2D/Content/Example/UI/Arrow.uasset


BIN
Plugins/FlowField2D/Content/Example/UI/Background.uasset


BIN
Plugins/FlowField2D/Content/Example/UI/Coastline.uasset


BIN
Plugins/FlowField2D/Content/Example/UI/ExampleMarked.uasset


BIN
Plugins/FlowField2D/Content/Example/UI/FlowField2DUI_Example.uasset


BIN
Plugins/FlowField2D/Content/Example/UI/FlowField2DUI_Example1.uasset


BIN
Plugins/FlowField2D/Content/Example/UI/WorldWind.uasset


BIN
Plugins/FlowField2D/Content/Example/UI/WorldWind3D.uasset


BIN
Plugins/FlowField2D/Content/Example/UI/WorldWindMat.uasset


+ 30 - 0
Plugins/FlowField2D/FlowField2D.uplugin

@@ -0,0 +1,30 @@
+{
+	"FileVersion": 3,
+	"Version": 1,
+	"VersionName": "1.0",
+	"FriendlyName": "FlowField2D",
+	"Description": "A fully GPU-powered flow field visualization that can render a million particles at 60fps.",
+	"Category": "Runtime",
+	"CreatedBy": "Zsttt",
+	"CreatedByURL": "https://youtube.com/@St0316",
+	"DocsURL": "https://youtube.com/@St0316",
+	"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/product/ab69f29ef8494432af36d36bcc1ccf2c",
+	"SupportURL": "https://youtube.com/@St0316",
+	"EngineVersion": "5.3.0",
+	"CanContainContent": true,
+	"Installed": true,
+	"Modules": [
+		{
+			"Name": "FlowField2D",
+			"Type": "Runtime",
+			"LoadingPhase": "PostConfigInit",
+			"PlatformAllowList": [
+				"Android",
+				"IOS",
+				"Mac",
+				"Win64",
+				"Linux"
+			]
+		}
+	]
+}

+ 6 - 0
Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Development/FlowField2D/FlowField2D.precompiled

@@ -0,0 +1,6 @@
+{
+	"OutputFiles": [
+		"..\\..\\..\\a\\UnrealGame\\Development\\FlowField2D\\Module.FlowField2D.cpp.o",
+		"..\\..\\..\\a\\UnrealGame\\Development\\FlowField2D\\Module.FlowField2D.cpp.o"
+	]
+}

+ 336 - 0
Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp

@@ -0,0 +1,336 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFFRenderUtils() {}
+// Cross Module References
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector2D();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector4();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowFieldMap2D;
+class UScriptStruct* FFlowFieldMap2D::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowFieldMap2D, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowFieldMap2D"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowFieldMap2D>()
+{
+	return FFlowFieldMap2D::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Values_Inner;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Values_MetaData[];
+#endif
+		static const UECodeGen_Private::FArrayPropertyParams NewProp_Values;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ValueRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ValueRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bClampValues_MetaData[];
+#endif
+		static void NewProp_bClampValues_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bClampValues;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowFieldMap2D>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner = { "Values", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, Z_Construct_UScriptStruct_FVector2D, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)" },
+	};
+#endif
+	const UECodeGen_Private::FArrayPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values = { "Values", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Values), EArrayPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange = { "ValueRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, ValueRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Clamp the values from value range or not, if false, out of value range area will not generate particles\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "Clamp the values from value range or not, if false, out of value range area will not generate particles" },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit(void* Obj)
+	{
+		((FFlowFieldMap2D*)Obj)->bClampValues = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues = { "bClampValues", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowFieldMap2D), &Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowFieldMap2D",
+		Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers),
+		sizeof(FFlowFieldMap2D),
+		alignof(FFlowFieldMap2D),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton;
+	}
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowField2DSettings;
+class UScriptStruct* FFlowField2DSettings::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowField2DSettings, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowField2DSettings"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowField2DSettings>()
+{
+	return FFlowField2DSettings::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NumParticles_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_NumParticles;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ParticleSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_ParticleSize;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_SpeedRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedFactor_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_SpeedFactor;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOutOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOutOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_RandomRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_RandomRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_DropRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_DropRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bSphericalDomain_MetaData[];
+#endif
+		static void NewProp_bSphericalDomain_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bSphericalDomain;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowField2DSettings>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how many particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how many particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles = { "NumParticles", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, NumParticles), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//pixel size of particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "pixel size of particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize = { "ParticleSize", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, ParticleSize), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange = { "SpeedRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particles move.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particles move." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor = { "SpeedFactor", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedFactor), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particle trails fade on each frame.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particle trails fade on each frame." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity = { "FadeOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//when the opacity is less than, particles fade out.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "when the opacity is less than, particles fade out." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity = { "FadeOutOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOutOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how often the particles move to a random place.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how often the particles move to a random place." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate = { "RandomRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, RandomRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//drop rate increase relative to individual particle speed.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "drop rate increase relative to individual particle speed." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate = { "DropRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, DropRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//if true, near the poles, particles should move much faster along the X-axis than particles on the equator.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "if true, near the poles, particles should move much faster along the X-axis than particles on the equator." },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit(void* Obj)
+	{
+		((FFlowField2DSettings*)Obj)->bSphericalDomain = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain = { "bSphericalDomain", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowField2DSettings), &Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowField2DSettings",
+		Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers),
+		sizeof(FFlowField2DSettings),
+		alignof(FFlowField2DSettings),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton;
+	}
+	struct Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics
+	{
+		static const FStructRegisterCompiledInInfo ScriptStructInfo[];
+	};
+	const FStructRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo[] = {
+		{ FFlowFieldMap2D::StaticStruct, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps, TEXT("FlowFieldMap2D"), &Z_Registration_Info_UScriptStruct_FlowFieldMap2D, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowFieldMap2D), 4011033976U) },
+		{ FFlowField2DSettings::StaticStruct, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps, TEXT("FlowField2DSettings"), &Z_Registration_Info_UScriptStruct_FlowField2DSettings, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowField2DSettings), 1901615096U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_597696417(TEXT("/Script/FlowField2D"),
+		nullptr, 0,
+		Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo),
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 35 - 0
Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.generated.h

@@ -0,0 +1,35 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FFRenderUtils.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+#ifdef FLOWFIELD2D_FFRenderUtils_generated_h
+#error "FFRenderUtils.generated.h already included, missing '#pragma once' in FFRenderUtils.h"
+#endif
+#define FLOWFIELD2D_FFRenderUtils_generated_h
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_172_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowFieldMap2D>();
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_204_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowField2DSettings>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 29 - 0
Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp

@@ -0,0 +1,29 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowField2D_init() {}
+	static FPackageRegistrationInfo Z_Registration_Info_UPackage__Script_FlowField2D;
+	FORCENOINLINE UPackage* Z_Construct_UPackage__Script_FlowField2D()
+	{
+		if (!Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton)
+		{
+			static const UECodeGen_Private::FPackageParams PackageParams = {
+				"/Script/FlowField2D",
+				nullptr,
+				0,
+				PKG_CompiledIn | 0x00000000,
+				0xF03CC7F9,
+				0x31DB798F,
+				METADATA_PARAMS(0, nullptr)
+			};
+			UECodeGen_Private::ConstructUPackage(Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton, PackageParams);
+		}
+		return Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton;
+	}
+	static FRegisterCompiledInInfo Z_CompiledInDeferPackage_UPackage__Script_FlowField2D(Z_Construct_UPackage__Script_FlowField2D, TEXT("/Script/FlowField2D"), Z_Registration_Info_UPackage__Script_FlowField2D, CONSTRUCT_RELOAD_VERSION_INFO(FPackageReloadVersionInfo, 0xF03CC7F9, 0x31DB798F));
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 10 - 0
Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FlowField2DClasses.h

@@ -0,0 +1,10 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#pragma once
+
+
+

+ 752 - 0
Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp

@@ -0,0 +1,752 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FlowFieldProxy.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowFieldProxy() {}
+// Cross Module References
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject();
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject_NoRegister();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FColor();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	ENGINE_API UClass* Z_Construct_UClass_UTexture2D_NoRegister();
+	ENGINE_API UClass* Z_Construct_UClass_UTextureRenderTarget2D_NoRegister();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	DEFINE_FUNCTION(UFlowFieldProxy::execResizeFlowField2D)
+	{
+		P_GET_STRUCT(FIntPoint,Z_Param_NewSize);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->ResizeFlowField2D(Z_Param_NewSize);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorMap)
+	{
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_New);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorMap(Z_Param_Out_New,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorTexture)
+	{
+		P_GET_OBJECT(UTexture2D,Z_Param_Color);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorTexture(Z_Param_Color);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetNumberOfParticles)
+	{
+		P_GET_PROPERTY(FIntProperty,Z_Param_Num);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetNumberOfParticles(Z_Param_Num);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execLoadFlowField2D)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_File);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->LoadFlowField2D(Z_Param_File);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execRenderFlowField2D)
+	{
+		P_GET_STRUCT_REF(FFlowFieldMap2D,Z_Param_Out_Data);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->RenderFlowField2D(Z_Param_Out_Data);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetHexColor)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_Hex);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(FColor*)Z_Param__Result=UFlowFieldProxy::GetHexColor(Z_Param_Hex);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateFlowField2D)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_STRUCT(FIntPoint,Z_Param_Resolution);
+		P_GET_STRUCT_REF(FFlowField2DSettings,Z_Param_Out_Settings);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UFlowFieldProxy**)Z_Param__Result=UFlowFieldProxy::GenerateFlowField2D(Z_Param_WorldContextObject,Z_Param_Resolution,Z_Param_Out_Settings);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateColorMap)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_ColorMap);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UTexture2D**)Z_Param__Result=UFlowFieldProxy::GenerateColorMap(Z_Param_WorldContextObject,Z_Param_Out_ColorMap,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetDefaultColorMap)
+	{
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(TMap<float,FColor>*)Z_Param__Result=UFlowFieldProxy::GetDefaultColorMap();
+		P_NATIVE_END;
+	}
+	void UFlowFieldProxy::StaticRegisterNativesUFlowFieldProxy()
+	{
+		UClass* Class = UFlowFieldProxy::StaticClass();
+		static const FNameNativePtrPair Funcs[] = {
+			{ "GenerateColorMap", &UFlowFieldProxy::execGenerateColorMap },
+			{ "GenerateFlowField2D", &UFlowFieldProxy::execGenerateFlowField2D },
+			{ "GetDefaultColorMap", &UFlowFieldProxy::execGetDefaultColorMap },
+			{ "GetHexColor", &UFlowFieldProxy::execGetHexColor },
+			{ "LoadFlowField2D", &UFlowFieldProxy::execLoadFlowField2D },
+			{ "RenderFlowField2D", &UFlowFieldProxy::execRenderFlowField2D },
+			{ "ResizeFlowField2D", &UFlowFieldProxy::execResizeFlowField2D },
+			{ "SetColorMap", &UFlowFieldProxy::execSetColorMap },
+			{ "SetColorTexture", &UFlowFieldProxy::execSetColorTexture },
+			{ "SetNumberOfParticles", &UFlowFieldProxy::execSetNumberOfParticles },
+		};
+		FNativeFunctionRegistrar::RegisterFunctions(Class, Funcs, UE_ARRAY_COUNT(Funcs));
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGenerateColorMap_Parms
+		{
+			UObject* WorldContextObject;
+			TMap<float,FColor> ColorMap;
+			bool bAllowInterpolation;
+			UTexture2D* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ColorMap_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ColorMap_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ColorMap;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp = { "ColorMap", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp = { "ColorMap_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ColorMap), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventGenerateColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventGenerateColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ReturnValue), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04422401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventGenerateFlowField2D_Parms
+		{
+			UObject* WorldContextObject;
+			FIntPoint Resolution;
+			FFlowField2DSettings Settings;
+			UFlowFieldProxy* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Settings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Settings;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings = { "Settings", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Settings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, ReturnValue), Z_Construct_UClass_UFlowFieldProxy_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04C22401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGetDefaultColorMap_Parms
+		{
+			TMap<float,FColor> ReturnValue;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ReturnValue_Key_KeyProp;
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp = { "ReturnValue", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp = { "ReturnValue_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetDefaultColorMap_Parms, ReturnValue), EMapPropertyFlags::None, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetDefaultColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14022401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics
+	{
+		struct FlowFieldProxy_eventGetHexColor_Parms
+		{
+			FString Hex;
+			FColor ReturnValue;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Hex_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_Hex;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex = { "Hex", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, Hex), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, ReturnValue), Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetHexColor", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14822401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetHexColor()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventLoadFlowField2D_Parms
+		{
+			FString File;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_File_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_File;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File = { "File", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventLoadFlowField2D_Parms, File), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed\n" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "ToolTip", "Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "LoadFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventRenderFlowField2D_Parms
+		{
+			FFlowFieldMap2D Data;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Data_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Data;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data = { "Data", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventRenderFlowField2D_Parms, Data), Z_Construct_UScriptStruct_FFlowFieldMap2D, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData) }; // 4011033976
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "RenderFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventResizeFlowField2D_Parms
+		{
+			FIntPoint NewSize;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NewSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_NewSize;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize = { "NewSize", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventResizeFlowField2D_Parms, NewSize), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "ResizeFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04820401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics
+	{
+		struct FlowFieldProxy_eventSetColorMap_Parms
+		{
+			TMap<float,FColor> New;
+			bool bAllowInterpolation;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_New_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_New_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_New_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_New;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp = { "New", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp = { "New_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New = { "New", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorMap_Parms, New), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventSetColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventSetColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics
+	{
+		struct FlowFieldProxy_eventSetColorTexture_Parms
+		{
+			UTexture2D* Color;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Color;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color = { "Color", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorTexture_Parms, Color), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorTexture", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics
+	{
+		struct FlowFieldProxy_eventSetNumberOfParticles_Parms
+		{
+			int32 Num;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Num_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_Num;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num = { "Num", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetNumberOfParticles_Parms, Num), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetNumberOfParticles", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	IMPLEMENT_CLASS_NO_AUTO_REGISTRATION(UFlowFieldProxy);
+	UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	struct Z_Construct_UClass_UFlowFieldProxy_Statics
+	{
+		static UObject* (*const DependentSingletons[])();
+		static const FClassFunctionLinkInfo FuncInfo[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Class_MetaDataParams[];
+#endif
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Output_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Output;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ColorMap;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowFieldMap2D_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_FlowFieldMap2D;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowField2DSettings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_FlowField2DSettings;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const FCppClassTypeInfoStatic StaticCppClassTypeInfo;
+		static const UECodeGen_Private::FClassParams ClassParams;
+	};
+	UObject* (*const Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons[])() = {
+		(UObject* (*)())Z_Construct_UClass_UObject,
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons) < 16);
+	const FClassFunctionLinkInfo Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo[] = {
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap, "GenerateColorMap" }, // 3219977250
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D, "GenerateFlowField2D" }, // 3657207053
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap, "GetDefaultColorMap" }, // 453918986
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetHexColor, "GetHexColor" }, // 1084807866
+		{ &Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D, "LoadFlowField2D" }, // 1314391012
+		{ &Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D, "RenderFlowField2D" }, // 3450095394
+		{ &Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D, "ResizeFlowField2D" }, // 3862345753
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap, "SetColorMap" }, // 658203024
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture, "SetColorTexture" }, // 2004619420
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles, "SetNumberOfParticles" }, // 1904688400
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo) < 2048);
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "Comment", "/**\n * \n */" },
+		{ "IncludePath", "FlowFieldProxy.h" },
+		{ "IsBlueprintBase", "true" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output = { "Output", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, Output), Z_Construct_UClass_UTextureRenderTarget2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, ColorMap), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D = { "FlowFieldMap2D", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowFieldMap2D), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings = { "FlowField2DSettings", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowField2DSettings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings,
+	};
+	const FCppClassTypeInfoStatic Z_Construct_UClass_UFlowFieldProxy_Statics::StaticCppClassTypeInfo = {
+		TCppClassTypeTraits<UFlowFieldProxy>::IsAbstract,
+	};
+	const UECodeGen_Private::FClassParams Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams = {
+		&UFlowFieldProxy::StaticClass,
+		nullptr,
+		&StaticCppClassTypeInfo,
+		DependentSingletons,
+		FuncInfo,
+		Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers,
+		nullptr,
+		UE_ARRAY_COUNT(DependentSingletons),
+		UE_ARRAY_COUNT(FuncInfo),
+		UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers),
+		0,
+		0x001000A0u,
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams), Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers) < 2048);
+	UClass* Z_Construct_UClass_UFlowFieldProxy()
+	{
+		if (!Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton)
+		{
+			UECodeGen_Private::ConstructUClass(Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton, Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams);
+		}
+		return Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton;
+	}
+	template<> FLOWFIELD2D_API UClass* StaticClass<UFlowFieldProxy>()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	UFlowFieldProxy::UFlowFieldProxy(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) {}
+	DEFINE_VTABLE_PTR_HELPER_CTOR(UFlowFieldProxy);
+	UFlowFieldProxy::~UFlowFieldProxy() {}
+	struct Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics
+	{
+		static const FClassRegisterCompiledInInfo ClassInfo[];
+	};
+	const FClassRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo[] = {
+		{ Z_Construct_UClass_UFlowFieldProxy, UFlowFieldProxy::StaticClass, TEXT("UFlowFieldProxy"), &Z_Registration_Info_UClass_UFlowFieldProxy, CONSTRUCT_RELOAD_VERSION_INFO(FClassReloadVersionInfo, sizeof(UFlowFieldProxy), 99538610U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_10452843(TEXT("/Script/FlowField2D"),
+		Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo),
+		nullptr, 0,
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 86 - 0
Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h

@@ -0,0 +1,86 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FlowFieldProxy.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+ struct FColor;
+class UFlowFieldProxy;
+class UObject;
+class UTexture2D;
+struct FColor;
+struct FFlowField2DSettings;
+struct FFlowFieldMap2D;
+#ifdef FLOWFIELD2D_FlowFieldProxy_generated_h
+#error "FlowFieldProxy.generated.h already included, missing '#pragma once' in FlowFieldProxy.h"
+#endif
+#define FLOWFIELD2D_FlowFieldProxy_generated_h
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+ \
+	DECLARE_FUNCTION(execResizeFlowField2D); \
+	DECLARE_FUNCTION(execSetColorMap); \
+	DECLARE_FUNCTION(execSetColorTexture); \
+	DECLARE_FUNCTION(execSetNumberOfParticles); \
+	DECLARE_FUNCTION(execLoadFlowField2D); \
+	DECLARE_FUNCTION(execRenderFlowField2D); \
+	DECLARE_FUNCTION(execGetHexColor); \
+	DECLARE_FUNCTION(execGenerateFlowField2D); \
+	DECLARE_FUNCTION(execGenerateColorMap); \
+	DECLARE_FUNCTION(execGetDefaultColorMap);
+
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+private: \
+	static void StaticRegisterNativesUFlowFieldProxy(); \
+	friend struct Z_Construct_UClass_UFlowFieldProxy_Statics; \
+public: \
+	DECLARE_CLASS(UFlowFieldProxy, UObject, COMPILED_IN_FLAGS(0), CASTCLASS_None, TEXT("/Script/FlowField2D"), NO_API) \
+	DECLARE_SERIALIZER(UFlowFieldProxy)
+
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+	/** Standard constructor, called after all reflected properties have been initialized */ \
+	NO_API UFlowFieldProxy(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); \
+private: \
+	/** Private move- and copy-constructors, should never be used */ \
+	NO_API UFlowFieldProxy(UFlowFieldProxy&&); \
+	NO_API UFlowFieldProxy(const UFlowFieldProxy&); \
+public: \
+	DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UFlowFieldProxy); \
+	DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UFlowFieldProxy); \
+	DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UFlowFieldProxy) \
+	NO_API virtual ~UFlowFieldProxy();
+
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_19_PROLOG
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_GENERATED_BODY \
+PRAGMA_DISABLE_DEPRECATION_WARNINGS \
+public: \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+private: \
+PRAGMA_ENABLE_DEPRECATION_WARNINGS
+
+
+template<> FLOWFIELD2D_API UClass* StaticClass<class UFlowFieldProxy>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 2 - 0
Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Inc/FlowField2D/UHT/Timestamp

@@ -0,0 +1,2 @@
+D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\FlowField2D\Source\FlowField2D\Public\FFRenderUtils.h
+D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\FlowField2D\Source\FlowField2D\Public\FlowFieldProxy.h

+ 6 - 0
Plugins/FlowField2D/Intermediate/Build/Android/UnrealGame/Shipping/FlowField2D/FlowField2D.precompiled

@@ -0,0 +1,6 @@
+{
+	"OutputFiles": [
+		"..\\..\\..\\a\\UnrealGame\\Shipping\\FlowField2D\\Module.FlowField2D.cpp.o",
+		"..\\..\\..\\a\\UnrealGame\\Shipping\\FlowField2D\\Module.FlowField2D.cpp.o"
+	]
+}

BIN
Plugins/FlowField2D/Intermediate/Build/Android/a/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o


BIN
Plugins/FlowField2D/Intermediate/Build/Android/a/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o


+ 6 - 0
Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Development/FlowField2D/FlowField2D.precompiled

@@ -0,0 +1,6 @@
+{
+	"OutputFiles": [
+		"../../../arm64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o",
+		"../../../arm64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o"
+	]
+}

+ 336 - 0
Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp

@@ -0,0 +1,336 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFFRenderUtils() {}
+// Cross Module References
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector2D();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector4();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowFieldMap2D;
+class UScriptStruct* FFlowFieldMap2D::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowFieldMap2D, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowFieldMap2D"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowFieldMap2D>()
+{
+	return FFlowFieldMap2D::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Values_Inner;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Values_MetaData[];
+#endif
+		static const UECodeGen_Private::FArrayPropertyParams NewProp_Values;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ValueRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ValueRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bClampValues_MetaData[];
+#endif
+		static void NewProp_bClampValues_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bClampValues;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowFieldMap2D>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner = { "Values", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, Z_Construct_UScriptStruct_FVector2D, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)" },
+	};
+#endif
+	const UECodeGen_Private::FArrayPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values = { "Values", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Values), EArrayPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange = { "ValueRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, ValueRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Clamp the values from value range or not, if false, out of value range area will not generate particles\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "Clamp the values from value range or not, if false, out of value range area will not generate particles" },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit(void* Obj)
+	{
+		((FFlowFieldMap2D*)Obj)->bClampValues = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues = { "bClampValues", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowFieldMap2D), &Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowFieldMap2D",
+		Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers),
+		sizeof(FFlowFieldMap2D),
+		alignof(FFlowFieldMap2D),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton;
+	}
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowField2DSettings;
+class UScriptStruct* FFlowField2DSettings::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowField2DSettings, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowField2DSettings"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowField2DSettings>()
+{
+	return FFlowField2DSettings::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NumParticles_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_NumParticles;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ParticleSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_ParticleSize;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_SpeedRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedFactor_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_SpeedFactor;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOutOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOutOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_RandomRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_RandomRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_DropRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_DropRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bSphericalDomain_MetaData[];
+#endif
+		static void NewProp_bSphericalDomain_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bSphericalDomain;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowField2DSettings>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how many particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how many particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles = { "NumParticles", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, NumParticles), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//pixel size of particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "pixel size of particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize = { "ParticleSize", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, ParticleSize), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange = { "SpeedRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particles move.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particles move." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor = { "SpeedFactor", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedFactor), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particle trails fade on each frame.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particle trails fade on each frame." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity = { "FadeOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//when the opacity is less than, particles fade out.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "when the opacity is less than, particles fade out." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity = { "FadeOutOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOutOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how often the particles move to a random place.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how often the particles move to a random place." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate = { "RandomRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, RandomRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//drop rate increase relative to individual particle speed.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "drop rate increase relative to individual particle speed." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate = { "DropRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, DropRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//if true, near the poles, particles should move much faster along the X-axis than particles on the equator.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "if true, near the poles, particles should move much faster along the X-axis than particles on the equator." },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit(void* Obj)
+	{
+		((FFlowField2DSettings*)Obj)->bSphericalDomain = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain = { "bSphericalDomain", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowField2DSettings), &Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowField2DSettings",
+		Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers),
+		sizeof(FFlowField2DSettings),
+		alignof(FFlowField2DSettings),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton;
+	}
+	struct Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics
+	{
+		static const FStructRegisterCompiledInInfo ScriptStructInfo[];
+	};
+	const FStructRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo[] = {
+		{ FFlowFieldMap2D::StaticStruct, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps, TEXT("FlowFieldMap2D"), &Z_Registration_Info_UScriptStruct_FlowFieldMap2D, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowFieldMap2D), 4011033976U) },
+		{ FFlowField2DSettings::StaticStruct, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps, TEXT("FlowField2DSettings"), &Z_Registration_Info_UScriptStruct_FlowField2DSettings, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowField2DSettings), 1901615096U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_597696417(TEXT("/Script/FlowField2D"),
+		nullptr, 0,
+		Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo),
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 35 - 0
Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.generated.h

@@ -0,0 +1,35 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FFRenderUtils.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+#ifdef FLOWFIELD2D_FFRenderUtils_generated_h
+#error "FFRenderUtils.generated.h already included, missing '#pragma once' in FFRenderUtils.h"
+#endif
+#define FLOWFIELD2D_FFRenderUtils_generated_h
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_172_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowFieldMap2D>();
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_204_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowField2DSettings>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 29 - 0
Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp

@@ -0,0 +1,29 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowField2D_init() {}
+	static FPackageRegistrationInfo Z_Registration_Info_UPackage__Script_FlowField2D;
+	FORCENOINLINE UPackage* Z_Construct_UPackage__Script_FlowField2D()
+	{
+		if (!Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton)
+		{
+			static const UECodeGen_Private::FPackageParams PackageParams = {
+				"/Script/FlowField2D",
+				nullptr,
+				0,
+				PKG_CompiledIn | 0x00000000,
+				0xC195BE61,
+				0x31DB798F,
+				METADATA_PARAMS(0, nullptr)
+			};
+			UECodeGen_Private::ConstructUPackage(Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton, PackageParams);
+		}
+		return Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton;
+	}
+	static FRegisterCompiledInInfo Z_CompiledInDeferPackage_UPackage__Script_FlowField2D(Z_Construct_UPackage__Script_FlowField2D, TEXT("/Script/FlowField2D"), Z_Registration_Info_UPackage__Script_FlowField2D, CONSTRUCT_RELOAD_VERSION_INFO(FPackageReloadVersionInfo, 0xC195BE61, 0x31DB798F));
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 10 - 0
Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FlowField2DClasses.h

@@ -0,0 +1,10 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#pragma once
+
+
+

+ 752 - 0
Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp

@@ -0,0 +1,752 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FlowFieldProxy.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowFieldProxy() {}
+// Cross Module References
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject();
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject_NoRegister();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FColor();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	ENGINE_API UClass* Z_Construct_UClass_UTexture2D_NoRegister();
+	ENGINE_API UClass* Z_Construct_UClass_UTextureRenderTarget2D_NoRegister();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	DEFINE_FUNCTION(UFlowFieldProxy::execResizeFlowField2D)
+	{
+		P_GET_STRUCT(FIntPoint,Z_Param_NewSize);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->ResizeFlowField2D(Z_Param_NewSize);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorMap)
+	{
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_New);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorMap(Z_Param_Out_New,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorTexture)
+	{
+		P_GET_OBJECT(UTexture2D,Z_Param_Color);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorTexture(Z_Param_Color);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetNumberOfParticles)
+	{
+		P_GET_PROPERTY(FIntProperty,Z_Param_Num);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetNumberOfParticles(Z_Param_Num);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execLoadFlowField2D)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_File);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->LoadFlowField2D(Z_Param_File);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execRenderFlowField2D)
+	{
+		P_GET_STRUCT_REF(FFlowFieldMap2D,Z_Param_Out_Data);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->RenderFlowField2D(Z_Param_Out_Data);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetHexColor)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_Hex);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(FColor*)Z_Param__Result=UFlowFieldProxy::GetHexColor(Z_Param_Hex);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateFlowField2D)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_STRUCT(FIntPoint,Z_Param_Resolution);
+		P_GET_STRUCT_REF(FFlowField2DSettings,Z_Param_Out_Settings);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UFlowFieldProxy**)Z_Param__Result=UFlowFieldProxy::GenerateFlowField2D(Z_Param_WorldContextObject,Z_Param_Resolution,Z_Param_Out_Settings);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateColorMap)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_ColorMap);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UTexture2D**)Z_Param__Result=UFlowFieldProxy::GenerateColorMap(Z_Param_WorldContextObject,Z_Param_Out_ColorMap,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetDefaultColorMap)
+	{
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(TMap<float,FColor>*)Z_Param__Result=UFlowFieldProxy::GetDefaultColorMap();
+		P_NATIVE_END;
+	}
+	void UFlowFieldProxy::StaticRegisterNativesUFlowFieldProxy()
+	{
+		UClass* Class = UFlowFieldProxy::StaticClass();
+		static const FNameNativePtrPair Funcs[] = {
+			{ "GenerateColorMap", &UFlowFieldProxy::execGenerateColorMap },
+			{ "GenerateFlowField2D", &UFlowFieldProxy::execGenerateFlowField2D },
+			{ "GetDefaultColorMap", &UFlowFieldProxy::execGetDefaultColorMap },
+			{ "GetHexColor", &UFlowFieldProxy::execGetHexColor },
+			{ "LoadFlowField2D", &UFlowFieldProxy::execLoadFlowField2D },
+			{ "RenderFlowField2D", &UFlowFieldProxy::execRenderFlowField2D },
+			{ "ResizeFlowField2D", &UFlowFieldProxy::execResizeFlowField2D },
+			{ "SetColorMap", &UFlowFieldProxy::execSetColorMap },
+			{ "SetColorTexture", &UFlowFieldProxy::execSetColorTexture },
+			{ "SetNumberOfParticles", &UFlowFieldProxy::execSetNumberOfParticles },
+		};
+		FNativeFunctionRegistrar::RegisterFunctions(Class, Funcs, UE_ARRAY_COUNT(Funcs));
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGenerateColorMap_Parms
+		{
+			UObject* WorldContextObject;
+			TMap<float,FColor> ColorMap;
+			bool bAllowInterpolation;
+			UTexture2D* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ColorMap_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ColorMap_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ColorMap;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp = { "ColorMap", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp = { "ColorMap_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ColorMap), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventGenerateColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventGenerateColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ReturnValue), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04422401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventGenerateFlowField2D_Parms
+		{
+			UObject* WorldContextObject;
+			FIntPoint Resolution;
+			FFlowField2DSettings Settings;
+			UFlowFieldProxy* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Settings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Settings;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings = { "Settings", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Settings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, ReturnValue), Z_Construct_UClass_UFlowFieldProxy_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04C22401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGetDefaultColorMap_Parms
+		{
+			TMap<float,FColor> ReturnValue;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ReturnValue_Key_KeyProp;
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp = { "ReturnValue", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp = { "ReturnValue_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetDefaultColorMap_Parms, ReturnValue), EMapPropertyFlags::None, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetDefaultColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14022401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics
+	{
+		struct FlowFieldProxy_eventGetHexColor_Parms
+		{
+			FString Hex;
+			FColor ReturnValue;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Hex_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_Hex;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex = { "Hex", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, Hex), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, ReturnValue), Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetHexColor", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14822401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetHexColor()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventLoadFlowField2D_Parms
+		{
+			FString File;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_File_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_File;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File = { "File", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventLoadFlowField2D_Parms, File), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed\n" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "ToolTip", "Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "LoadFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventRenderFlowField2D_Parms
+		{
+			FFlowFieldMap2D Data;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Data_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Data;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data = { "Data", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventRenderFlowField2D_Parms, Data), Z_Construct_UScriptStruct_FFlowFieldMap2D, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData) }; // 4011033976
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "RenderFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventResizeFlowField2D_Parms
+		{
+			FIntPoint NewSize;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NewSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_NewSize;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize = { "NewSize", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventResizeFlowField2D_Parms, NewSize), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "ResizeFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04820401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics
+	{
+		struct FlowFieldProxy_eventSetColorMap_Parms
+		{
+			TMap<float,FColor> New;
+			bool bAllowInterpolation;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_New_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_New_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_New_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_New;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp = { "New", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp = { "New_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New = { "New", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorMap_Parms, New), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventSetColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventSetColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics
+	{
+		struct FlowFieldProxy_eventSetColorTexture_Parms
+		{
+			UTexture2D* Color;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Color;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color = { "Color", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorTexture_Parms, Color), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorTexture", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics
+	{
+		struct FlowFieldProxy_eventSetNumberOfParticles_Parms
+		{
+			int32 Num;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Num_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_Num;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num = { "Num", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetNumberOfParticles_Parms, Num), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetNumberOfParticles", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	IMPLEMENT_CLASS_NO_AUTO_REGISTRATION(UFlowFieldProxy);
+	UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	struct Z_Construct_UClass_UFlowFieldProxy_Statics
+	{
+		static UObject* (*const DependentSingletons[])();
+		static const FClassFunctionLinkInfo FuncInfo[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Class_MetaDataParams[];
+#endif
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Output_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Output;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ColorMap;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowFieldMap2D_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_FlowFieldMap2D;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowField2DSettings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_FlowField2DSettings;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const FCppClassTypeInfoStatic StaticCppClassTypeInfo;
+		static const UECodeGen_Private::FClassParams ClassParams;
+	};
+	UObject* (*const Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons[])() = {
+		(UObject* (*)())Z_Construct_UClass_UObject,
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons) < 16);
+	const FClassFunctionLinkInfo Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo[] = {
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap, "GenerateColorMap" }, // 3219977250
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D, "GenerateFlowField2D" }, // 3657207053
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap, "GetDefaultColorMap" }, // 453918986
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetHexColor, "GetHexColor" }, // 1084807866
+		{ &Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D, "LoadFlowField2D" }, // 1314391012
+		{ &Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D, "RenderFlowField2D" }, // 3450095394
+		{ &Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D, "ResizeFlowField2D" }, // 3862345753
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap, "SetColorMap" }, // 658203024
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture, "SetColorTexture" }, // 2004619420
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles, "SetNumberOfParticles" }, // 1904688400
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo) < 2048);
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "Comment", "/**\n * \n */" },
+		{ "IncludePath", "FlowFieldProxy.h" },
+		{ "IsBlueprintBase", "true" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output = { "Output", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, Output), Z_Construct_UClass_UTextureRenderTarget2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, ColorMap), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D = { "FlowFieldMap2D", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowFieldMap2D), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings = { "FlowField2DSettings", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowField2DSettings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings,
+	};
+	const FCppClassTypeInfoStatic Z_Construct_UClass_UFlowFieldProxy_Statics::StaticCppClassTypeInfo = {
+		TCppClassTypeTraits<UFlowFieldProxy>::IsAbstract,
+	};
+	const UECodeGen_Private::FClassParams Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams = {
+		&UFlowFieldProxy::StaticClass,
+		nullptr,
+		&StaticCppClassTypeInfo,
+		DependentSingletons,
+		FuncInfo,
+		Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers,
+		nullptr,
+		UE_ARRAY_COUNT(DependentSingletons),
+		UE_ARRAY_COUNT(FuncInfo),
+		UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers),
+		0,
+		0x001000A0u,
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams), Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers) < 2048);
+	UClass* Z_Construct_UClass_UFlowFieldProxy()
+	{
+		if (!Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton)
+		{
+			UECodeGen_Private::ConstructUClass(Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton, Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams);
+		}
+		return Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton;
+	}
+	template<> FLOWFIELD2D_API UClass* StaticClass<UFlowFieldProxy>()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	UFlowFieldProxy::UFlowFieldProxy(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) {}
+	DEFINE_VTABLE_PTR_HELPER_CTOR(UFlowFieldProxy);
+	UFlowFieldProxy::~UFlowFieldProxy() {}
+	struct Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics
+	{
+		static const FClassRegisterCompiledInInfo ClassInfo[];
+	};
+	const FClassRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo[] = {
+		{ Z_Construct_UClass_UFlowFieldProxy, UFlowFieldProxy::StaticClass, TEXT("UFlowFieldProxy"), &Z_Registration_Info_UClass_UFlowFieldProxy, CONSTRUCT_RELOAD_VERSION_INFO(FClassReloadVersionInfo, sizeof(UFlowFieldProxy), 99538610U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_10452843(TEXT("/Script/FlowField2D"),
+		Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo),
+		nullptr, 0,
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 86 - 0
Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h

@@ -0,0 +1,86 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FlowFieldProxy.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+ struct FColor;
+class UFlowFieldProxy;
+class UObject;
+class UTexture2D;
+struct FColor;
+struct FFlowField2DSettings;
+struct FFlowFieldMap2D;
+#ifdef FLOWFIELD2D_FlowFieldProxy_generated_h
+#error "FlowFieldProxy.generated.h already included, missing '#pragma once' in FlowFieldProxy.h"
+#endif
+#define FLOWFIELD2D_FlowFieldProxy_generated_h
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+ \
+	DECLARE_FUNCTION(execResizeFlowField2D); \
+	DECLARE_FUNCTION(execSetColorMap); \
+	DECLARE_FUNCTION(execSetColorTexture); \
+	DECLARE_FUNCTION(execSetNumberOfParticles); \
+	DECLARE_FUNCTION(execLoadFlowField2D); \
+	DECLARE_FUNCTION(execRenderFlowField2D); \
+	DECLARE_FUNCTION(execGetHexColor); \
+	DECLARE_FUNCTION(execGenerateFlowField2D); \
+	DECLARE_FUNCTION(execGenerateColorMap); \
+	DECLARE_FUNCTION(execGetDefaultColorMap);
+
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+private: \
+	static void StaticRegisterNativesUFlowFieldProxy(); \
+	friend struct Z_Construct_UClass_UFlowFieldProxy_Statics; \
+public: \
+	DECLARE_CLASS(UFlowFieldProxy, UObject, COMPILED_IN_FLAGS(0), CASTCLASS_None, TEXT("/Script/FlowField2D"), NO_API) \
+	DECLARE_SERIALIZER(UFlowFieldProxy)
+
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+	/** Standard constructor, called after all reflected properties have been initialized */ \
+	NO_API UFlowFieldProxy(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); \
+private: \
+	/** Private move- and copy-constructors, should never be used */ \
+	NO_API UFlowFieldProxy(UFlowFieldProxy&&); \
+	NO_API UFlowFieldProxy(const UFlowFieldProxy&); \
+public: \
+	DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UFlowFieldProxy); \
+	DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UFlowFieldProxy); \
+	DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UFlowFieldProxy) \
+	NO_API virtual ~UFlowFieldProxy();
+
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_19_PROLOG
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_GENERATED_BODY \
+PRAGMA_DISABLE_DEPRECATION_WARNINGS \
+public: \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+private: \
+PRAGMA_ENABLE_DEPRECATION_WARNINGS
+
+
+template<> FLOWFIELD2D_API UClass* StaticClass<class UFlowFieldProxy>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 2 - 0
Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Inc/FlowField2D/UHT/Timestamp

@@ -0,0 +1,2 @@
+/Users/build/Build/U5M-Marketplace-Mac/Sync/LocalBuilds/PluginTemp/HostProject/Plugins/FlowField2D/Source/FlowField2D/Public/FFRenderUtils.h
+/Users/build/Build/U5M-Marketplace-Mac/Sync/LocalBuilds/PluginTemp/HostProject/Plugins/FlowField2D/Source/FlowField2D/Public/FlowFieldProxy.h

+ 6 - 0
Plugins/FlowField2D/Intermediate/Build/IOS/UnrealGame/Shipping/FlowField2D/FlowField2D.precompiled

@@ -0,0 +1,6 @@
+{
+	"OutputFiles": [
+		"../../../arm64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o",
+		"../../../arm64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o"
+	]
+}

BIN
Plugins/FlowField2D/Intermediate/Build/IOS/arm64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o


BIN
Plugins/FlowField2D/Intermediate/Build/IOS/arm64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o


+ 336 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp

@@ -0,0 +1,336 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFFRenderUtils() {}
+// Cross Module References
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector2D();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector4();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowFieldMap2D;
+class UScriptStruct* FFlowFieldMap2D::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowFieldMap2D, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowFieldMap2D"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowFieldMap2D>()
+{
+	return FFlowFieldMap2D::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Values_Inner;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Values_MetaData[];
+#endif
+		static const UECodeGen_Private::FArrayPropertyParams NewProp_Values;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ValueRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ValueRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bClampValues_MetaData[];
+#endif
+		static void NewProp_bClampValues_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bClampValues;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowFieldMap2D>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner = { "Values", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, Z_Construct_UScriptStruct_FVector2D, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)" },
+	};
+#endif
+	const UECodeGen_Private::FArrayPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values = { "Values", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Values), EArrayPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange = { "ValueRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, ValueRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Clamp the values from value range or not, if false, out of value range area will not generate particles\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "Clamp the values from value range or not, if false, out of value range area will not generate particles" },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit(void* Obj)
+	{
+		((FFlowFieldMap2D*)Obj)->bClampValues = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues = { "bClampValues", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowFieldMap2D), &Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowFieldMap2D",
+		Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers),
+		sizeof(FFlowFieldMap2D),
+		alignof(FFlowFieldMap2D),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton;
+	}
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowField2DSettings;
+class UScriptStruct* FFlowField2DSettings::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowField2DSettings, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowField2DSettings"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowField2DSettings>()
+{
+	return FFlowField2DSettings::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NumParticles_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_NumParticles;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ParticleSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_ParticleSize;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_SpeedRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedFactor_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_SpeedFactor;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOutOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOutOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_RandomRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_RandomRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_DropRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_DropRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bSphericalDomain_MetaData[];
+#endif
+		static void NewProp_bSphericalDomain_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bSphericalDomain;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowField2DSettings>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how many particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how many particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles = { "NumParticles", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, NumParticles), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//pixel size of particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "pixel size of particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize = { "ParticleSize", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, ParticleSize), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange = { "SpeedRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particles move.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particles move." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor = { "SpeedFactor", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedFactor), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particle trails fade on each frame.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particle trails fade on each frame." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity = { "FadeOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//when the opacity is less than, particles fade out.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "when the opacity is less than, particles fade out." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity = { "FadeOutOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOutOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how often the particles move to a random place.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how often the particles move to a random place." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate = { "RandomRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, RandomRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//drop rate increase relative to individual particle speed.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "drop rate increase relative to individual particle speed." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate = { "DropRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, DropRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//if true, near the poles, particles should move much faster along the X-axis than particles on the equator.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "if true, near the poles, particles should move much faster along the X-axis than particles on the equator." },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit(void* Obj)
+	{
+		((FFlowField2DSettings*)Obj)->bSphericalDomain = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain = { "bSphericalDomain", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowField2DSettings), &Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowField2DSettings",
+		Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers),
+		sizeof(FFlowField2DSettings),
+		alignof(FFlowField2DSettings),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton;
+	}
+	struct Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics
+	{
+		static const FStructRegisterCompiledInInfo ScriptStructInfo[];
+	};
+	const FStructRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo[] = {
+		{ FFlowFieldMap2D::StaticStruct, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps, TEXT("FlowFieldMap2D"), &Z_Registration_Info_UScriptStruct_FlowFieldMap2D, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowFieldMap2D), 4011033976U) },
+		{ FFlowField2DSettings::StaticStruct, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps, TEXT("FlowField2DSettings"), &Z_Registration_Info_UScriptStruct_FlowField2DSettings, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowField2DSettings), 1901615096U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_597696417(TEXT("/Script/FlowField2D"),
+		nullptr, 0,
+		Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo),
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 35 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FFRenderUtils.generated.h

@@ -0,0 +1,35 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FFRenderUtils.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+#ifdef FLOWFIELD2D_FFRenderUtils_generated_h
+#error "FFRenderUtils.generated.h already included, missing '#pragma once' in FFRenderUtils.h"
+#endif
+#define FLOWFIELD2D_FFRenderUtils_generated_h
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_172_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowFieldMap2D>();
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_204_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowField2DSettings>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 29 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp

@@ -0,0 +1,29 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowField2D_init() {}
+	static FPackageRegistrationInfo Z_Registration_Info_UPackage__Script_FlowField2D;
+	FORCENOINLINE UPackage* Z_Construct_UPackage__Script_FlowField2D()
+	{
+		if (!Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton)
+		{
+			static const UECodeGen_Private::FPackageParams PackageParams = {
+				"/Script/FlowField2D",
+				nullptr,
+				0,
+				PKG_CompiledIn | 0x00000000,
+				0xC195BE61,
+				0x31DB798F,
+				METADATA_PARAMS(0, nullptr)
+			};
+			UECodeGen_Private::ConstructUPackage(Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton, PackageParams);
+		}
+		return Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton;
+	}
+	static FRegisterCompiledInInfo Z_CompiledInDeferPackage_UPackage__Script_FlowField2D(Z_Construct_UPackage__Script_FlowField2D, TEXT("/Script/FlowField2D"), Z_Registration_Info_UPackage__Script_FlowField2D, CONSTRUCT_RELOAD_VERSION_INFO(FPackageReloadVersionInfo, 0xC195BE61, 0x31DB798F));
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 10 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FlowField2DClasses.h

@@ -0,0 +1,10 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#pragma once
+
+
+

+ 752 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp

@@ -0,0 +1,752 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FlowFieldProxy.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowFieldProxy() {}
+// Cross Module References
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject();
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject_NoRegister();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FColor();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	ENGINE_API UClass* Z_Construct_UClass_UTexture2D_NoRegister();
+	ENGINE_API UClass* Z_Construct_UClass_UTextureRenderTarget2D_NoRegister();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	DEFINE_FUNCTION(UFlowFieldProxy::execResizeFlowField2D)
+	{
+		P_GET_STRUCT(FIntPoint,Z_Param_NewSize);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->ResizeFlowField2D(Z_Param_NewSize);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorMap)
+	{
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_New);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorMap(Z_Param_Out_New,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorTexture)
+	{
+		P_GET_OBJECT(UTexture2D,Z_Param_Color);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorTexture(Z_Param_Color);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetNumberOfParticles)
+	{
+		P_GET_PROPERTY(FIntProperty,Z_Param_Num);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetNumberOfParticles(Z_Param_Num);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execLoadFlowField2D)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_File);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->LoadFlowField2D(Z_Param_File);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execRenderFlowField2D)
+	{
+		P_GET_STRUCT_REF(FFlowFieldMap2D,Z_Param_Out_Data);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->RenderFlowField2D(Z_Param_Out_Data);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetHexColor)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_Hex);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(FColor*)Z_Param__Result=UFlowFieldProxy::GetHexColor(Z_Param_Hex);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateFlowField2D)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_STRUCT(FIntPoint,Z_Param_Resolution);
+		P_GET_STRUCT_REF(FFlowField2DSettings,Z_Param_Out_Settings);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UFlowFieldProxy**)Z_Param__Result=UFlowFieldProxy::GenerateFlowField2D(Z_Param_WorldContextObject,Z_Param_Resolution,Z_Param_Out_Settings);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateColorMap)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_ColorMap);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UTexture2D**)Z_Param__Result=UFlowFieldProxy::GenerateColorMap(Z_Param_WorldContextObject,Z_Param_Out_ColorMap,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetDefaultColorMap)
+	{
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(TMap<float,FColor>*)Z_Param__Result=UFlowFieldProxy::GetDefaultColorMap();
+		P_NATIVE_END;
+	}
+	void UFlowFieldProxy::StaticRegisterNativesUFlowFieldProxy()
+	{
+		UClass* Class = UFlowFieldProxy::StaticClass();
+		static const FNameNativePtrPair Funcs[] = {
+			{ "GenerateColorMap", &UFlowFieldProxy::execGenerateColorMap },
+			{ "GenerateFlowField2D", &UFlowFieldProxy::execGenerateFlowField2D },
+			{ "GetDefaultColorMap", &UFlowFieldProxy::execGetDefaultColorMap },
+			{ "GetHexColor", &UFlowFieldProxy::execGetHexColor },
+			{ "LoadFlowField2D", &UFlowFieldProxy::execLoadFlowField2D },
+			{ "RenderFlowField2D", &UFlowFieldProxy::execRenderFlowField2D },
+			{ "ResizeFlowField2D", &UFlowFieldProxy::execResizeFlowField2D },
+			{ "SetColorMap", &UFlowFieldProxy::execSetColorMap },
+			{ "SetColorTexture", &UFlowFieldProxy::execSetColorTexture },
+			{ "SetNumberOfParticles", &UFlowFieldProxy::execSetNumberOfParticles },
+		};
+		FNativeFunctionRegistrar::RegisterFunctions(Class, Funcs, UE_ARRAY_COUNT(Funcs));
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGenerateColorMap_Parms
+		{
+			UObject* WorldContextObject;
+			TMap<float,FColor> ColorMap;
+			bool bAllowInterpolation;
+			UTexture2D* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ColorMap_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ColorMap_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ColorMap;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp = { "ColorMap", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp = { "ColorMap_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ColorMap), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventGenerateColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventGenerateColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ReturnValue), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04422401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventGenerateFlowField2D_Parms
+		{
+			UObject* WorldContextObject;
+			FIntPoint Resolution;
+			FFlowField2DSettings Settings;
+			UFlowFieldProxy* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Settings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Settings;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings = { "Settings", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Settings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, ReturnValue), Z_Construct_UClass_UFlowFieldProxy_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04C22401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGetDefaultColorMap_Parms
+		{
+			TMap<float,FColor> ReturnValue;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ReturnValue_Key_KeyProp;
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp = { "ReturnValue", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp = { "ReturnValue_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetDefaultColorMap_Parms, ReturnValue), EMapPropertyFlags::None, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetDefaultColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14022401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics
+	{
+		struct FlowFieldProxy_eventGetHexColor_Parms
+		{
+			FString Hex;
+			FColor ReturnValue;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Hex_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_Hex;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex = { "Hex", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, Hex), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, ReturnValue), Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetHexColor", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14822401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetHexColor()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventLoadFlowField2D_Parms
+		{
+			FString File;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_File_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_File;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File = { "File", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventLoadFlowField2D_Parms, File), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed\n" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "ToolTip", "Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "LoadFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventRenderFlowField2D_Parms
+		{
+			FFlowFieldMap2D Data;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Data_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Data;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data = { "Data", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventRenderFlowField2D_Parms, Data), Z_Construct_UScriptStruct_FFlowFieldMap2D, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData) }; // 4011033976
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "RenderFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventResizeFlowField2D_Parms
+		{
+			FIntPoint NewSize;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NewSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_NewSize;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize = { "NewSize", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventResizeFlowField2D_Parms, NewSize), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "ResizeFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04820401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics
+	{
+		struct FlowFieldProxy_eventSetColorMap_Parms
+		{
+			TMap<float,FColor> New;
+			bool bAllowInterpolation;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_New_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_New_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_New_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_New;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp = { "New", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp = { "New_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New = { "New", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorMap_Parms, New), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventSetColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventSetColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics
+	{
+		struct FlowFieldProxy_eventSetColorTexture_Parms
+		{
+			UTexture2D* Color;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Color;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color = { "Color", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorTexture_Parms, Color), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorTexture", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics
+	{
+		struct FlowFieldProxy_eventSetNumberOfParticles_Parms
+		{
+			int32 Num;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Num_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_Num;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num = { "Num", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetNumberOfParticles_Parms, Num), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetNumberOfParticles", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	IMPLEMENT_CLASS_NO_AUTO_REGISTRATION(UFlowFieldProxy);
+	UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	struct Z_Construct_UClass_UFlowFieldProxy_Statics
+	{
+		static UObject* (*const DependentSingletons[])();
+		static const FClassFunctionLinkInfo FuncInfo[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Class_MetaDataParams[];
+#endif
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Output_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Output;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ColorMap;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowFieldMap2D_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_FlowFieldMap2D;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowField2DSettings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_FlowField2DSettings;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const FCppClassTypeInfoStatic StaticCppClassTypeInfo;
+		static const UECodeGen_Private::FClassParams ClassParams;
+	};
+	UObject* (*const Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons[])() = {
+		(UObject* (*)())Z_Construct_UClass_UObject,
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons) < 16);
+	const FClassFunctionLinkInfo Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo[] = {
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap, "GenerateColorMap" }, // 3219977250
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D, "GenerateFlowField2D" }, // 3657207053
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap, "GetDefaultColorMap" }, // 453918986
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetHexColor, "GetHexColor" }, // 1084807866
+		{ &Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D, "LoadFlowField2D" }, // 1314391012
+		{ &Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D, "RenderFlowField2D" }, // 3450095394
+		{ &Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D, "ResizeFlowField2D" }, // 3862345753
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap, "SetColorMap" }, // 658203024
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture, "SetColorTexture" }, // 2004619420
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles, "SetNumberOfParticles" }, // 1904688400
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo) < 2048);
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "Comment", "/**\n * \n */" },
+		{ "IncludePath", "FlowFieldProxy.h" },
+		{ "IsBlueprintBase", "true" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output = { "Output", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, Output), Z_Construct_UClass_UTextureRenderTarget2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, ColorMap), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D = { "FlowFieldMap2D", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowFieldMap2D), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings = { "FlowField2DSettings", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowField2DSettings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings,
+	};
+	const FCppClassTypeInfoStatic Z_Construct_UClass_UFlowFieldProxy_Statics::StaticCppClassTypeInfo = {
+		TCppClassTypeTraits<UFlowFieldProxy>::IsAbstract,
+	};
+	const UECodeGen_Private::FClassParams Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams = {
+		&UFlowFieldProxy::StaticClass,
+		nullptr,
+		&StaticCppClassTypeInfo,
+		DependentSingletons,
+		FuncInfo,
+		Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers,
+		nullptr,
+		UE_ARRAY_COUNT(DependentSingletons),
+		UE_ARRAY_COUNT(FuncInfo),
+		UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers),
+		0,
+		0x001000A0u,
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams), Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers) < 2048);
+	UClass* Z_Construct_UClass_UFlowFieldProxy()
+	{
+		if (!Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton)
+		{
+			UECodeGen_Private::ConstructUClass(Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton, Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams);
+		}
+		return Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton;
+	}
+	template<> FLOWFIELD2D_API UClass* StaticClass<UFlowFieldProxy>()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	UFlowFieldProxy::UFlowFieldProxy(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) {}
+	DEFINE_VTABLE_PTR_HELPER_CTOR(UFlowFieldProxy);
+	UFlowFieldProxy::~UFlowFieldProxy() {}
+	struct Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics
+	{
+		static const FClassRegisterCompiledInInfo ClassInfo[];
+	};
+	const FClassRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo[] = {
+		{ Z_Construct_UClass_UFlowFieldProxy, UFlowFieldProxy::StaticClass, TEXT("UFlowFieldProxy"), &Z_Registration_Info_UClass_UFlowFieldProxy, CONSTRUCT_RELOAD_VERSION_INFO(FClassReloadVersionInfo, sizeof(UFlowFieldProxy), 99538610U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_10452843(TEXT("/Script/FlowField2D"),
+		Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo),
+		nullptr, 0,
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 86 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h

@@ -0,0 +1,86 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FlowFieldProxy.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+ struct FColor;
+class UFlowFieldProxy;
+class UObject;
+class UTexture2D;
+struct FColor;
+struct FFlowField2DSettings;
+struct FFlowFieldMap2D;
+#ifdef FLOWFIELD2D_FlowFieldProxy_generated_h
+#error "FlowFieldProxy.generated.h already included, missing '#pragma once' in FlowFieldProxy.h"
+#endif
+#define FLOWFIELD2D_FlowFieldProxy_generated_h
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+ \
+	DECLARE_FUNCTION(execResizeFlowField2D); \
+	DECLARE_FUNCTION(execSetColorMap); \
+	DECLARE_FUNCTION(execSetColorTexture); \
+	DECLARE_FUNCTION(execSetNumberOfParticles); \
+	DECLARE_FUNCTION(execLoadFlowField2D); \
+	DECLARE_FUNCTION(execRenderFlowField2D); \
+	DECLARE_FUNCTION(execGetHexColor); \
+	DECLARE_FUNCTION(execGenerateFlowField2D); \
+	DECLARE_FUNCTION(execGenerateColorMap); \
+	DECLARE_FUNCTION(execGetDefaultColorMap);
+
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+private: \
+	static void StaticRegisterNativesUFlowFieldProxy(); \
+	friend struct Z_Construct_UClass_UFlowFieldProxy_Statics; \
+public: \
+	DECLARE_CLASS(UFlowFieldProxy, UObject, COMPILED_IN_FLAGS(0), CASTCLASS_None, TEXT("/Script/FlowField2D"), NO_API) \
+	DECLARE_SERIALIZER(UFlowFieldProxy)
+
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+	/** Standard constructor, called after all reflected properties have been initialized */ \
+	NO_API UFlowFieldProxy(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); \
+private: \
+	/** Private move- and copy-constructors, should never be used */ \
+	NO_API UFlowFieldProxy(UFlowFieldProxy&&); \
+	NO_API UFlowFieldProxy(const UFlowFieldProxy&); \
+public: \
+	DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UFlowFieldProxy); \
+	DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UFlowFieldProxy); \
+	DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UFlowFieldProxy) \
+	NO_API virtual ~UFlowFieldProxy();
+
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_19_PROLOG
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_GENERATED_BODY \
+PRAGMA_DISABLE_DEPRECATION_WARNINGS \
+public: \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+private: \
+PRAGMA_ENABLE_DEPRECATION_WARNINGS
+
+
+template<> FLOWFIELD2D_API UClass* StaticClass<class UFlowFieldProxy>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 2 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealEditor/Inc/FlowField2D/UHT/Timestamp

@@ -0,0 +1,2 @@
+/Users/build/Build/U5M-Marketplace-Mac/Sync/LocalBuilds/PluginTemp/HostProject/Plugins/FlowField2D/Source/FlowField2D/Public/FlowFieldProxy.h
+/Users/build/Build/U5M-Marketplace-Mac/Sync/LocalBuilds/PluginTemp/HostProject/Plugins/FlowField2D/Source/FlowField2D/Public/FFRenderUtils.h

+ 8 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Development/FlowField2D/FlowField2D.precompiled

@@ -0,0 +1,8 @@
+{
+	"OutputFiles": [
+		"../../../arm64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o",
+		"../../../arm64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o",
+		"../../../x64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o",
+		"../../../x64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o"
+	]
+}

+ 336 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp

@@ -0,0 +1,336 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFFRenderUtils() {}
+// Cross Module References
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector2D();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector4();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowFieldMap2D;
+class UScriptStruct* FFlowFieldMap2D::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowFieldMap2D, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowFieldMap2D"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowFieldMap2D>()
+{
+	return FFlowFieldMap2D::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Values_Inner;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Values_MetaData[];
+#endif
+		static const UECodeGen_Private::FArrayPropertyParams NewProp_Values;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ValueRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ValueRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bClampValues_MetaData[];
+#endif
+		static void NewProp_bClampValues_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bClampValues;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowFieldMap2D>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner = { "Values", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, Z_Construct_UScriptStruct_FVector2D, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)" },
+	};
+#endif
+	const UECodeGen_Private::FArrayPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values = { "Values", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Values), EArrayPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange = { "ValueRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, ValueRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Clamp the values from value range or not, if false, out of value range area will not generate particles\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "Clamp the values from value range or not, if false, out of value range area will not generate particles" },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit(void* Obj)
+	{
+		((FFlowFieldMap2D*)Obj)->bClampValues = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues = { "bClampValues", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowFieldMap2D), &Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowFieldMap2D",
+		Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers),
+		sizeof(FFlowFieldMap2D),
+		alignof(FFlowFieldMap2D),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton;
+	}
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowField2DSettings;
+class UScriptStruct* FFlowField2DSettings::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowField2DSettings, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowField2DSettings"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowField2DSettings>()
+{
+	return FFlowField2DSettings::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NumParticles_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_NumParticles;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ParticleSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_ParticleSize;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_SpeedRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedFactor_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_SpeedFactor;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOutOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOutOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_RandomRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_RandomRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_DropRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_DropRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bSphericalDomain_MetaData[];
+#endif
+		static void NewProp_bSphericalDomain_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bSphericalDomain;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowField2DSettings>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how many particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how many particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles = { "NumParticles", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, NumParticles), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//pixel size of particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "pixel size of particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize = { "ParticleSize", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, ParticleSize), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange = { "SpeedRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particles move.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particles move." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor = { "SpeedFactor", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedFactor), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particle trails fade on each frame.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particle trails fade on each frame." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity = { "FadeOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//when the opacity is less than, particles fade out.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "when the opacity is less than, particles fade out." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity = { "FadeOutOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOutOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how often the particles move to a random place.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how often the particles move to a random place." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate = { "RandomRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, RandomRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//drop rate increase relative to individual particle speed.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "drop rate increase relative to individual particle speed." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate = { "DropRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, DropRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//if true, near the poles, particles should move much faster along the X-axis than particles on the equator.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "if true, near the poles, particles should move much faster along the X-axis than particles on the equator." },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit(void* Obj)
+	{
+		((FFlowField2DSettings*)Obj)->bSphericalDomain = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain = { "bSphericalDomain", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowField2DSettings), &Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowField2DSettings",
+		Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers),
+		sizeof(FFlowField2DSettings),
+		alignof(FFlowField2DSettings),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton;
+	}
+	struct Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics
+	{
+		static const FStructRegisterCompiledInInfo ScriptStructInfo[];
+	};
+	const FStructRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo[] = {
+		{ FFlowFieldMap2D::StaticStruct, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps, TEXT("FlowFieldMap2D"), &Z_Registration_Info_UScriptStruct_FlowFieldMap2D, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowFieldMap2D), 4011033976U) },
+		{ FFlowField2DSettings::StaticStruct, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps, TEXT("FlowField2DSettings"), &Z_Registration_Info_UScriptStruct_FlowField2DSettings, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowField2DSettings), 1901615096U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_597696417(TEXT("/Script/FlowField2D"),
+		nullptr, 0,
+		Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo),
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 35 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.generated.h

@@ -0,0 +1,35 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FFRenderUtils.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+#ifdef FLOWFIELD2D_FFRenderUtils_generated_h
+#error "FFRenderUtils.generated.h already included, missing '#pragma once' in FFRenderUtils.h"
+#endif
+#define FLOWFIELD2D_FFRenderUtils_generated_h
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_172_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowFieldMap2D>();
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_204_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowField2DSettings>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 29 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp

@@ -0,0 +1,29 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowField2D_init() {}
+	static FPackageRegistrationInfo Z_Registration_Info_UPackage__Script_FlowField2D;
+	FORCENOINLINE UPackage* Z_Construct_UPackage__Script_FlowField2D()
+	{
+		if (!Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton)
+		{
+			static const UECodeGen_Private::FPackageParams PackageParams = {
+				"/Script/FlowField2D",
+				nullptr,
+				0,
+				PKG_CompiledIn | 0x00000000,
+				0xC195BE61,
+				0x31DB798F,
+				METADATA_PARAMS(0, nullptr)
+			};
+			UECodeGen_Private::ConstructUPackage(Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton, PackageParams);
+		}
+		return Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton;
+	}
+	static FRegisterCompiledInInfo Z_CompiledInDeferPackage_UPackage__Script_FlowField2D(Z_Construct_UPackage__Script_FlowField2D, TEXT("/Script/FlowField2D"), Z_Registration_Info_UPackage__Script_FlowField2D, CONSTRUCT_RELOAD_VERSION_INFO(FPackageReloadVersionInfo, 0xC195BE61, 0x31DB798F));
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 10 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FlowField2DClasses.h

@@ -0,0 +1,10 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#pragma once
+
+
+

+ 752 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp

@@ -0,0 +1,752 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FlowFieldProxy.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowFieldProxy() {}
+// Cross Module References
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject();
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject_NoRegister();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FColor();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	ENGINE_API UClass* Z_Construct_UClass_UTexture2D_NoRegister();
+	ENGINE_API UClass* Z_Construct_UClass_UTextureRenderTarget2D_NoRegister();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	DEFINE_FUNCTION(UFlowFieldProxy::execResizeFlowField2D)
+	{
+		P_GET_STRUCT(FIntPoint,Z_Param_NewSize);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->ResizeFlowField2D(Z_Param_NewSize);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorMap)
+	{
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_New);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorMap(Z_Param_Out_New,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorTexture)
+	{
+		P_GET_OBJECT(UTexture2D,Z_Param_Color);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorTexture(Z_Param_Color);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetNumberOfParticles)
+	{
+		P_GET_PROPERTY(FIntProperty,Z_Param_Num);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetNumberOfParticles(Z_Param_Num);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execLoadFlowField2D)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_File);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->LoadFlowField2D(Z_Param_File);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execRenderFlowField2D)
+	{
+		P_GET_STRUCT_REF(FFlowFieldMap2D,Z_Param_Out_Data);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->RenderFlowField2D(Z_Param_Out_Data);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetHexColor)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_Hex);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(FColor*)Z_Param__Result=UFlowFieldProxy::GetHexColor(Z_Param_Hex);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateFlowField2D)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_STRUCT(FIntPoint,Z_Param_Resolution);
+		P_GET_STRUCT_REF(FFlowField2DSettings,Z_Param_Out_Settings);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UFlowFieldProxy**)Z_Param__Result=UFlowFieldProxy::GenerateFlowField2D(Z_Param_WorldContextObject,Z_Param_Resolution,Z_Param_Out_Settings);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateColorMap)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_ColorMap);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UTexture2D**)Z_Param__Result=UFlowFieldProxy::GenerateColorMap(Z_Param_WorldContextObject,Z_Param_Out_ColorMap,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetDefaultColorMap)
+	{
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(TMap<float,FColor>*)Z_Param__Result=UFlowFieldProxy::GetDefaultColorMap();
+		P_NATIVE_END;
+	}
+	void UFlowFieldProxy::StaticRegisterNativesUFlowFieldProxy()
+	{
+		UClass* Class = UFlowFieldProxy::StaticClass();
+		static const FNameNativePtrPair Funcs[] = {
+			{ "GenerateColorMap", &UFlowFieldProxy::execGenerateColorMap },
+			{ "GenerateFlowField2D", &UFlowFieldProxy::execGenerateFlowField2D },
+			{ "GetDefaultColorMap", &UFlowFieldProxy::execGetDefaultColorMap },
+			{ "GetHexColor", &UFlowFieldProxy::execGetHexColor },
+			{ "LoadFlowField2D", &UFlowFieldProxy::execLoadFlowField2D },
+			{ "RenderFlowField2D", &UFlowFieldProxy::execRenderFlowField2D },
+			{ "ResizeFlowField2D", &UFlowFieldProxy::execResizeFlowField2D },
+			{ "SetColorMap", &UFlowFieldProxy::execSetColorMap },
+			{ "SetColorTexture", &UFlowFieldProxy::execSetColorTexture },
+			{ "SetNumberOfParticles", &UFlowFieldProxy::execSetNumberOfParticles },
+		};
+		FNativeFunctionRegistrar::RegisterFunctions(Class, Funcs, UE_ARRAY_COUNT(Funcs));
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGenerateColorMap_Parms
+		{
+			UObject* WorldContextObject;
+			TMap<float,FColor> ColorMap;
+			bool bAllowInterpolation;
+			UTexture2D* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ColorMap_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ColorMap_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ColorMap;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp = { "ColorMap", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp = { "ColorMap_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ColorMap), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventGenerateColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventGenerateColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ReturnValue), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04422401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventGenerateFlowField2D_Parms
+		{
+			UObject* WorldContextObject;
+			FIntPoint Resolution;
+			FFlowField2DSettings Settings;
+			UFlowFieldProxy* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Settings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Settings;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings = { "Settings", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Settings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, ReturnValue), Z_Construct_UClass_UFlowFieldProxy_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04C22401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGetDefaultColorMap_Parms
+		{
+			TMap<float,FColor> ReturnValue;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ReturnValue_Key_KeyProp;
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp = { "ReturnValue", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp = { "ReturnValue_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetDefaultColorMap_Parms, ReturnValue), EMapPropertyFlags::None, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetDefaultColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14022401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics
+	{
+		struct FlowFieldProxy_eventGetHexColor_Parms
+		{
+			FString Hex;
+			FColor ReturnValue;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Hex_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_Hex;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex = { "Hex", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, Hex), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, ReturnValue), Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetHexColor", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14822401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetHexColor()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventLoadFlowField2D_Parms
+		{
+			FString File;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_File_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_File;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File = { "File", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventLoadFlowField2D_Parms, File), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed\n" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "ToolTip", "Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "LoadFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventRenderFlowField2D_Parms
+		{
+			FFlowFieldMap2D Data;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Data_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Data;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data = { "Data", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventRenderFlowField2D_Parms, Data), Z_Construct_UScriptStruct_FFlowFieldMap2D, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData) }; // 4011033976
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "RenderFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventResizeFlowField2D_Parms
+		{
+			FIntPoint NewSize;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NewSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_NewSize;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize = { "NewSize", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventResizeFlowField2D_Parms, NewSize), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "ResizeFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04820401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics
+	{
+		struct FlowFieldProxy_eventSetColorMap_Parms
+		{
+			TMap<float,FColor> New;
+			bool bAllowInterpolation;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_New_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_New_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_New_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_New;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp = { "New", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp = { "New_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New = { "New", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorMap_Parms, New), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventSetColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventSetColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics
+	{
+		struct FlowFieldProxy_eventSetColorTexture_Parms
+		{
+			UTexture2D* Color;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Color;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color = { "Color", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorTexture_Parms, Color), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorTexture", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics
+	{
+		struct FlowFieldProxy_eventSetNumberOfParticles_Parms
+		{
+			int32 Num;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Num_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_Num;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num = { "Num", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetNumberOfParticles_Parms, Num), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetNumberOfParticles", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	IMPLEMENT_CLASS_NO_AUTO_REGISTRATION(UFlowFieldProxy);
+	UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	struct Z_Construct_UClass_UFlowFieldProxy_Statics
+	{
+		static UObject* (*const DependentSingletons[])();
+		static const FClassFunctionLinkInfo FuncInfo[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Class_MetaDataParams[];
+#endif
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Output_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Output;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ColorMap;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowFieldMap2D_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_FlowFieldMap2D;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowField2DSettings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_FlowField2DSettings;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const FCppClassTypeInfoStatic StaticCppClassTypeInfo;
+		static const UECodeGen_Private::FClassParams ClassParams;
+	};
+	UObject* (*const Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons[])() = {
+		(UObject* (*)())Z_Construct_UClass_UObject,
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons) < 16);
+	const FClassFunctionLinkInfo Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo[] = {
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap, "GenerateColorMap" }, // 3219977250
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D, "GenerateFlowField2D" }, // 3657207053
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap, "GetDefaultColorMap" }, // 453918986
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetHexColor, "GetHexColor" }, // 1084807866
+		{ &Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D, "LoadFlowField2D" }, // 1314391012
+		{ &Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D, "RenderFlowField2D" }, // 3450095394
+		{ &Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D, "ResizeFlowField2D" }, // 3862345753
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap, "SetColorMap" }, // 658203024
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture, "SetColorTexture" }, // 2004619420
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles, "SetNumberOfParticles" }, // 1904688400
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo) < 2048);
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "Comment", "/**\n * \n */" },
+		{ "IncludePath", "FlowFieldProxy.h" },
+		{ "IsBlueprintBase", "true" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output = { "Output", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, Output), Z_Construct_UClass_UTextureRenderTarget2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, ColorMap), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D = { "FlowFieldMap2D", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowFieldMap2D), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings = { "FlowField2DSettings", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowField2DSettings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings,
+	};
+	const FCppClassTypeInfoStatic Z_Construct_UClass_UFlowFieldProxy_Statics::StaticCppClassTypeInfo = {
+		TCppClassTypeTraits<UFlowFieldProxy>::IsAbstract,
+	};
+	const UECodeGen_Private::FClassParams Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams = {
+		&UFlowFieldProxy::StaticClass,
+		nullptr,
+		&StaticCppClassTypeInfo,
+		DependentSingletons,
+		FuncInfo,
+		Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers,
+		nullptr,
+		UE_ARRAY_COUNT(DependentSingletons),
+		UE_ARRAY_COUNT(FuncInfo),
+		UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers),
+		0,
+		0x001000A0u,
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams), Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers) < 2048);
+	UClass* Z_Construct_UClass_UFlowFieldProxy()
+	{
+		if (!Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton)
+		{
+			UECodeGen_Private::ConstructUClass(Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton, Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams);
+		}
+		return Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton;
+	}
+	template<> FLOWFIELD2D_API UClass* StaticClass<UFlowFieldProxy>()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	UFlowFieldProxy::UFlowFieldProxy(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) {}
+	DEFINE_VTABLE_PTR_HELPER_CTOR(UFlowFieldProxy);
+	UFlowFieldProxy::~UFlowFieldProxy() {}
+	struct Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics
+	{
+		static const FClassRegisterCompiledInInfo ClassInfo[];
+	};
+	const FClassRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo[] = {
+		{ Z_Construct_UClass_UFlowFieldProxy, UFlowFieldProxy::StaticClass, TEXT("UFlowFieldProxy"), &Z_Registration_Info_UClass_UFlowFieldProxy, CONSTRUCT_RELOAD_VERSION_INFO(FClassReloadVersionInfo, sizeof(UFlowFieldProxy), 99538610U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_10452843(TEXT("/Script/FlowField2D"),
+		Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo),
+		nullptr, 0,
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 86 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h

@@ -0,0 +1,86 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FlowFieldProxy.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+ struct FColor;
+class UFlowFieldProxy;
+class UObject;
+class UTexture2D;
+struct FColor;
+struct FFlowField2DSettings;
+struct FFlowFieldMap2D;
+#ifdef FLOWFIELD2D_FlowFieldProxy_generated_h
+#error "FlowFieldProxy.generated.h already included, missing '#pragma once' in FlowFieldProxy.h"
+#endif
+#define FLOWFIELD2D_FlowFieldProxy_generated_h
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+ \
+	DECLARE_FUNCTION(execResizeFlowField2D); \
+	DECLARE_FUNCTION(execSetColorMap); \
+	DECLARE_FUNCTION(execSetColorTexture); \
+	DECLARE_FUNCTION(execSetNumberOfParticles); \
+	DECLARE_FUNCTION(execLoadFlowField2D); \
+	DECLARE_FUNCTION(execRenderFlowField2D); \
+	DECLARE_FUNCTION(execGetHexColor); \
+	DECLARE_FUNCTION(execGenerateFlowField2D); \
+	DECLARE_FUNCTION(execGenerateColorMap); \
+	DECLARE_FUNCTION(execGetDefaultColorMap);
+
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+private: \
+	static void StaticRegisterNativesUFlowFieldProxy(); \
+	friend struct Z_Construct_UClass_UFlowFieldProxy_Statics; \
+public: \
+	DECLARE_CLASS(UFlowFieldProxy, UObject, COMPILED_IN_FLAGS(0), CASTCLASS_None, TEXT("/Script/FlowField2D"), NO_API) \
+	DECLARE_SERIALIZER(UFlowFieldProxy)
+
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+	/** Standard constructor, called after all reflected properties have been initialized */ \
+	NO_API UFlowFieldProxy(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); \
+private: \
+	/** Private move- and copy-constructors, should never be used */ \
+	NO_API UFlowFieldProxy(UFlowFieldProxy&&); \
+	NO_API UFlowFieldProxy(const UFlowFieldProxy&); \
+public: \
+	DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UFlowFieldProxy); \
+	DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UFlowFieldProxy); \
+	DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UFlowFieldProxy) \
+	NO_API virtual ~UFlowFieldProxy();
+
+
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_19_PROLOG
+#define FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_GENERATED_BODY \
+PRAGMA_DISABLE_DEPRECATION_WARNINGS \
+public: \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+	FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+private: \
+PRAGMA_ENABLE_DEPRECATION_WARNINGS
+
+
+template<> FLOWFIELD2D_API UClass* StaticClass<class UFlowFieldProxy>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_Build_U5M_Marketplace_Mac_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 2 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Inc/FlowField2D/UHT/Timestamp

@@ -0,0 +1,2 @@
+/Users/build/Build/U5M-Marketplace-Mac/Sync/LocalBuilds/PluginTemp/HostProject/Plugins/FlowField2D/Source/FlowField2D/Public/FFRenderUtils.h
+/Users/build/Build/U5M-Marketplace-Mac/Sync/LocalBuilds/PluginTemp/HostProject/Plugins/FlowField2D/Source/FlowField2D/Public/FlowFieldProxy.h

+ 8 - 0
Plugins/FlowField2D/Intermediate/Build/Mac/UnrealGame/Shipping/FlowField2D/FlowField2D.precompiled

@@ -0,0 +1,8 @@
+{
+	"OutputFiles": [
+		"../../../arm64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o",
+		"../../../arm64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o",
+		"../../../x64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o",
+		"../../../x64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o"
+	]
+}

BIN
Plugins/FlowField2D/Intermediate/Build/Mac/arm64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o


BIN
Plugins/FlowField2D/Intermediate/Build/Mac/arm64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o


BIN
Plugins/FlowField2D/Intermediate/Build/Mac/x64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.o


BIN
Plugins/FlowField2D/Intermediate/Build/Mac/x64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.o


+ 336 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp

@@ -0,0 +1,336 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFFRenderUtils() {}
+// Cross Module References
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector2D();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector4();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowFieldMap2D;
+class UScriptStruct* FFlowFieldMap2D::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowFieldMap2D, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowFieldMap2D"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowFieldMap2D>()
+{
+	return FFlowFieldMap2D::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Values_Inner;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Values_MetaData[];
+#endif
+		static const UECodeGen_Private::FArrayPropertyParams NewProp_Values;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ValueRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ValueRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bClampValues_MetaData[];
+#endif
+		static void NewProp_bClampValues_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bClampValues;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowFieldMap2D>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner = { "Values", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, Z_Construct_UScriptStruct_FVector2D, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)" },
+	};
+#endif
+	const UECodeGen_Private::FArrayPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values = { "Values", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Values), EArrayPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange = { "ValueRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, ValueRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Clamp the values from value range or not, if false, out of value range area will not generate particles\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "Clamp the values from value range or not, if false, out of value range area will not generate particles" },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit(void* Obj)
+	{
+		((FFlowFieldMap2D*)Obj)->bClampValues = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues = { "bClampValues", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowFieldMap2D), &Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowFieldMap2D",
+		Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers),
+		sizeof(FFlowFieldMap2D),
+		alignof(FFlowFieldMap2D),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton;
+	}
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowField2DSettings;
+class UScriptStruct* FFlowField2DSettings::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowField2DSettings, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowField2DSettings"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowField2DSettings>()
+{
+	return FFlowField2DSettings::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NumParticles_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_NumParticles;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ParticleSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_ParticleSize;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_SpeedRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedFactor_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_SpeedFactor;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOutOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOutOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_RandomRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_RandomRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_DropRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_DropRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bSphericalDomain_MetaData[];
+#endif
+		static void NewProp_bSphericalDomain_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bSphericalDomain;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowField2DSettings>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how many particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how many particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles = { "NumParticles", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, NumParticles), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//pixel size of particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "pixel size of particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize = { "ParticleSize", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, ParticleSize), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange = { "SpeedRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particles move.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particles move." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor = { "SpeedFactor", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedFactor), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particle trails fade on each frame.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particle trails fade on each frame." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity = { "FadeOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//when the opacity is less than, particles fade out.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "when the opacity is less than, particles fade out." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity = { "FadeOutOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOutOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how often the particles move to a random place.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how often the particles move to a random place." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate = { "RandomRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, RandomRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//drop rate increase relative to individual particle speed.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "drop rate increase relative to individual particle speed." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate = { "DropRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, DropRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//if true, near the poles, particles should move much faster along the X-axis than particles on the equator.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "if true, near the poles, particles should move much faster along the X-axis than particles on the equator." },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit(void* Obj)
+	{
+		((FFlowField2DSettings*)Obj)->bSphericalDomain = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain = { "bSphericalDomain", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowField2DSettings), &Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowField2DSettings",
+		Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers),
+		sizeof(FFlowField2DSettings),
+		alignof(FFlowField2DSettings),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton;
+	}
+	struct Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics
+	{
+		static const FStructRegisterCompiledInInfo ScriptStructInfo[];
+	};
+	const FStructRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo[] = {
+		{ FFlowFieldMap2D::StaticStruct, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps, TEXT("FlowFieldMap2D"), &Z_Registration_Info_UScriptStruct_FlowFieldMap2D, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowFieldMap2D), 4011033976U) },
+		{ FFlowField2DSettings::StaticStruct, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps, TEXT("FlowField2DSettings"), &Z_Registration_Info_UScriptStruct_FlowField2DSettings, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowField2DSettings), 1901615096U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_597696417(TEXT("/Script/FlowField2D"),
+		nullptr, 0,
+		Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo),
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 35 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FFRenderUtils.generated.h

@@ -0,0 +1,35 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FFRenderUtils.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+#ifdef FLOWFIELD2D_FFRenderUtils_generated_h
+#error "FFRenderUtils.generated.h already included, missing '#pragma once' in FFRenderUtils.h"
+#endif
+#define FLOWFIELD2D_FFRenderUtils_generated_h
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_172_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowFieldMap2D>();
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_204_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowField2DSettings>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 29 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp

@@ -0,0 +1,29 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowField2D_init() {}
+	static FPackageRegistrationInfo Z_Registration_Info_UPackage__Script_FlowField2D;
+	FORCENOINLINE UPackage* Z_Construct_UPackage__Script_FlowField2D()
+	{
+		if (!Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton)
+		{
+			static const UECodeGen_Private::FPackageParams PackageParams = {
+				"/Script/FlowField2D",
+				nullptr,
+				0,
+				PKG_CompiledIn | 0x00000000,
+				0xF03CC7F9,
+				0x31DB798F,
+				METADATA_PARAMS(0, nullptr)
+			};
+			UECodeGen_Private::ConstructUPackage(Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton, PackageParams);
+		}
+		return Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton;
+	}
+	static FRegisterCompiledInInfo Z_CompiledInDeferPackage_UPackage__Script_FlowField2D(Z_Construct_UPackage__Script_FlowField2D, TEXT("/Script/FlowField2D"), Z_Registration_Info_UPackage__Script_FlowField2D, CONSTRUCT_RELOAD_VERSION_INFO(FPackageReloadVersionInfo, 0xF03CC7F9, 0x31DB798F));
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 10 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FlowField2DClasses.h

@@ -0,0 +1,10 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#pragma once
+
+
+

+ 752 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp

@@ -0,0 +1,752 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FlowFieldProxy.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowFieldProxy() {}
+// Cross Module References
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject();
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject_NoRegister();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FColor();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	ENGINE_API UClass* Z_Construct_UClass_UTexture2D_NoRegister();
+	ENGINE_API UClass* Z_Construct_UClass_UTextureRenderTarget2D_NoRegister();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	DEFINE_FUNCTION(UFlowFieldProxy::execResizeFlowField2D)
+	{
+		P_GET_STRUCT(FIntPoint,Z_Param_NewSize);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->ResizeFlowField2D(Z_Param_NewSize);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorMap)
+	{
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_New);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorMap(Z_Param_Out_New,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorTexture)
+	{
+		P_GET_OBJECT(UTexture2D,Z_Param_Color);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorTexture(Z_Param_Color);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetNumberOfParticles)
+	{
+		P_GET_PROPERTY(FIntProperty,Z_Param_Num);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetNumberOfParticles(Z_Param_Num);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execLoadFlowField2D)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_File);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->LoadFlowField2D(Z_Param_File);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execRenderFlowField2D)
+	{
+		P_GET_STRUCT_REF(FFlowFieldMap2D,Z_Param_Out_Data);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->RenderFlowField2D(Z_Param_Out_Data);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetHexColor)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_Hex);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(FColor*)Z_Param__Result=UFlowFieldProxy::GetHexColor(Z_Param_Hex);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateFlowField2D)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_STRUCT(FIntPoint,Z_Param_Resolution);
+		P_GET_STRUCT_REF(FFlowField2DSettings,Z_Param_Out_Settings);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UFlowFieldProxy**)Z_Param__Result=UFlowFieldProxy::GenerateFlowField2D(Z_Param_WorldContextObject,Z_Param_Resolution,Z_Param_Out_Settings);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateColorMap)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_ColorMap);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UTexture2D**)Z_Param__Result=UFlowFieldProxy::GenerateColorMap(Z_Param_WorldContextObject,Z_Param_Out_ColorMap,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetDefaultColorMap)
+	{
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(TMap<float,FColor>*)Z_Param__Result=UFlowFieldProxy::GetDefaultColorMap();
+		P_NATIVE_END;
+	}
+	void UFlowFieldProxy::StaticRegisterNativesUFlowFieldProxy()
+	{
+		UClass* Class = UFlowFieldProxy::StaticClass();
+		static const FNameNativePtrPair Funcs[] = {
+			{ "GenerateColorMap", &UFlowFieldProxy::execGenerateColorMap },
+			{ "GenerateFlowField2D", &UFlowFieldProxy::execGenerateFlowField2D },
+			{ "GetDefaultColorMap", &UFlowFieldProxy::execGetDefaultColorMap },
+			{ "GetHexColor", &UFlowFieldProxy::execGetHexColor },
+			{ "LoadFlowField2D", &UFlowFieldProxy::execLoadFlowField2D },
+			{ "RenderFlowField2D", &UFlowFieldProxy::execRenderFlowField2D },
+			{ "ResizeFlowField2D", &UFlowFieldProxy::execResizeFlowField2D },
+			{ "SetColorMap", &UFlowFieldProxy::execSetColorMap },
+			{ "SetColorTexture", &UFlowFieldProxy::execSetColorTexture },
+			{ "SetNumberOfParticles", &UFlowFieldProxy::execSetNumberOfParticles },
+		};
+		FNativeFunctionRegistrar::RegisterFunctions(Class, Funcs, UE_ARRAY_COUNT(Funcs));
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGenerateColorMap_Parms
+		{
+			UObject* WorldContextObject;
+			TMap<float,FColor> ColorMap;
+			bool bAllowInterpolation;
+			UTexture2D* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ColorMap_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ColorMap_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ColorMap;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp = { "ColorMap", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp = { "ColorMap_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ColorMap), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventGenerateColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventGenerateColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ReturnValue), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04422401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventGenerateFlowField2D_Parms
+		{
+			UObject* WorldContextObject;
+			FIntPoint Resolution;
+			FFlowField2DSettings Settings;
+			UFlowFieldProxy* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Settings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Settings;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings = { "Settings", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Settings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, ReturnValue), Z_Construct_UClass_UFlowFieldProxy_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04C22401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGetDefaultColorMap_Parms
+		{
+			TMap<float,FColor> ReturnValue;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ReturnValue_Key_KeyProp;
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp = { "ReturnValue", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp = { "ReturnValue_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetDefaultColorMap_Parms, ReturnValue), EMapPropertyFlags::None, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetDefaultColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14022401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics
+	{
+		struct FlowFieldProxy_eventGetHexColor_Parms
+		{
+			FString Hex;
+			FColor ReturnValue;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Hex_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_Hex;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex = { "Hex", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, Hex), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, ReturnValue), Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetHexColor", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14822401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetHexColor()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventLoadFlowField2D_Parms
+		{
+			FString File;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_File_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_File;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File = { "File", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventLoadFlowField2D_Parms, File), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed\n" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "ToolTip", "Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "LoadFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventRenderFlowField2D_Parms
+		{
+			FFlowFieldMap2D Data;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Data_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Data;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data = { "Data", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventRenderFlowField2D_Parms, Data), Z_Construct_UScriptStruct_FFlowFieldMap2D, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData) }; // 4011033976
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "RenderFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventResizeFlowField2D_Parms
+		{
+			FIntPoint NewSize;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NewSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_NewSize;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize = { "NewSize", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventResizeFlowField2D_Parms, NewSize), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "ResizeFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04820401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics
+	{
+		struct FlowFieldProxy_eventSetColorMap_Parms
+		{
+			TMap<float,FColor> New;
+			bool bAllowInterpolation;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_New_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_New_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_New_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_New;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp = { "New", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp = { "New_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New = { "New", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorMap_Parms, New), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventSetColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventSetColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics
+	{
+		struct FlowFieldProxy_eventSetColorTexture_Parms
+		{
+			UTexture2D* Color;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Color;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color = { "Color", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorTexture_Parms, Color), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorTexture", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics
+	{
+		struct FlowFieldProxy_eventSetNumberOfParticles_Parms
+		{
+			int32 Num;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Num_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_Num;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num = { "Num", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetNumberOfParticles_Parms, Num), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetNumberOfParticles", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	IMPLEMENT_CLASS_NO_AUTO_REGISTRATION(UFlowFieldProxy);
+	UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	struct Z_Construct_UClass_UFlowFieldProxy_Statics
+	{
+		static UObject* (*const DependentSingletons[])();
+		static const FClassFunctionLinkInfo FuncInfo[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Class_MetaDataParams[];
+#endif
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Output_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Output;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ColorMap;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowFieldMap2D_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_FlowFieldMap2D;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowField2DSettings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_FlowField2DSettings;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const FCppClassTypeInfoStatic StaticCppClassTypeInfo;
+		static const UECodeGen_Private::FClassParams ClassParams;
+	};
+	UObject* (*const Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons[])() = {
+		(UObject* (*)())Z_Construct_UClass_UObject,
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons) < 16);
+	const FClassFunctionLinkInfo Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo[] = {
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap, "GenerateColorMap" }, // 3219977250
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D, "GenerateFlowField2D" }, // 3657207053
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap, "GetDefaultColorMap" }, // 453918986
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetHexColor, "GetHexColor" }, // 1084807866
+		{ &Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D, "LoadFlowField2D" }, // 1314391012
+		{ &Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D, "RenderFlowField2D" }, // 3450095394
+		{ &Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D, "ResizeFlowField2D" }, // 3862345753
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap, "SetColorMap" }, // 658203024
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture, "SetColorTexture" }, // 2004619420
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles, "SetNumberOfParticles" }, // 1904688400
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo) < 2048);
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "Comment", "/**\n * \n */" },
+		{ "IncludePath", "FlowFieldProxy.h" },
+		{ "IsBlueprintBase", "true" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output = { "Output", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, Output), Z_Construct_UClass_UTextureRenderTarget2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, ColorMap), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D = { "FlowFieldMap2D", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowFieldMap2D), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings = { "FlowField2DSettings", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowField2DSettings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings,
+	};
+	const FCppClassTypeInfoStatic Z_Construct_UClass_UFlowFieldProxy_Statics::StaticCppClassTypeInfo = {
+		TCppClassTypeTraits<UFlowFieldProxy>::IsAbstract,
+	};
+	const UECodeGen_Private::FClassParams Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams = {
+		&UFlowFieldProxy::StaticClass,
+		nullptr,
+		&StaticCppClassTypeInfo,
+		DependentSingletons,
+		FuncInfo,
+		Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers,
+		nullptr,
+		UE_ARRAY_COUNT(DependentSingletons),
+		UE_ARRAY_COUNT(FuncInfo),
+		UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers),
+		0,
+		0x001000A0u,
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams), Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers) < 2048);
+	UClass* Z_Construct_UClass_UFlowFieldProxy()
+	{
+		if (!Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton)
+		{
+			UECodeGen_Private::ConstructUClass(Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton, Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams);
+		}
+		return Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton;
+	}
+	template<> FLOWFIELD2D_API UClass* StaticClass<UFlowFieldProxy>()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	UFlowFieldProxy::UFlowFieldProxy(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) {}
+	DEFINE_VTABLE_PTR_HELPER_CTOR(UFlowFieldProxy);
+	UFlowFieldProxy::~UFlowFieldProxy() {}
+	struct Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics
+	{
+		static const FClassRegisterCompiledInInfo ClassInfo[];
+	};
+	const FClassRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo[] = {
+		{ Z_Construct_UClass_UFlowFieldProxy, UFlowFieldProxy::StaticClass, TEXT("UFlowFieldProxy"), &Z_Registration_Info_UClass_UFlowFieldProxy, CONSTRUCT_RELOAD_VERSION_INFO(FClassReloadVersionInfo, sizeof(UFlowFieldProxy), 99538610U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_10452843(TEXT("/Script/FlowField2D"),
+		Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo),
+		nullptr, 0,
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 86 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h

@@ -0,0 +1,86 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FlowFieldProxy.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+ struct FColor;
+class UFlowFieldProxy;
+class UObject;
+class UTexture2D;
+struct FColor;
+struct FFlowField2DSettings;
+struct FFlowFieldMap2D;
+#ifdef FLOWFIELD2D_FlowFieldProxy_generated_h
+#error "FlowFieldProxy.generated.h already included, missing '#pragma once' in FlowFieldProxy.h"
+#endif
+#define FLOWFIELD2D_FlowFieldProxy_generated_h
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+ \
+	DECLARE_FUNCTION(execResizeFlowField2D); \
+	DECLARE_FUNCTION(execSetColorMap); \
+	DECLARE_FUNCTION(execSetColorTexture); \
+	DECLARE_FUNCTION(execSetNumberOfParticles); \
+	DECLARE_FUNCTION(execLoadFlowField2D); \
+	DECLARE_FUNCTION(execRenderFlowField2D); \
+	DECLARE_FUNCTION(execGetHexColor); \
+	DECLARE_FUNCTION(execGenerateFlowField2D); \
+	DECLARE_FUNCTION(execGenerateColorMap); \
+	DECLARE_FUNCTION(execGetDefaultColorMap);
+
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+private: \
+	static void StaticRegisterNativesUFlowFieldProxy(); \
+	friend struct Z_Construct_UClass_UFlowFieldProxy_Statics; \
+public: \
+	DECLARE_CLASS(UFlowFieldProxy, UObject, COMPILED_IN_FLAGS(0), CASTCLASS_None, TEXT("/Script/FlowField2D"), NO_API) \
+	DECLARE_SERIALIZER(UFlowFieldProxy)
+
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+	/** Standard constructor, called after all reflected properties have been initialized */ \
+	NO_API UFlowFieldProxy(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); \
+private: \
+	/** Private move- and copy-constructors, should never be used */ \
+	NO_API UFlowFieldProxy(UFlowFieldProxy&&); \
+	NO_API UFlowFieldProxy(const UFlowFieldProxy&); \
+public: \
+	DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UFlowFieldProxy); \
+	DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UFlowFieldProxy); \
+	DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UFlowFieldProxy) \
+	NO_API virtual ~UFlowFieldProxy();
+
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_19_PROLOG
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_GENERATED_BODY \
+PRAGMA_DISABLE_DEPRECATION_WARNINGS \
+public: \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+private: \
+PRAGMA_ENABLE_DEPRECATION_WARNINGS
+
+
+template<> FLOWFIELD2D_API UClass* StaticClass<class UFlowFieldProxy>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 2 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealEditor/Inc/FlowField2D/UHT/Timestamp

@@ -0,0 +1,2 @@
+D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\FlowField2D\Source\FlowField2D\Public\FFRenderUtils.h
+D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\FlowField2D\Source\FlowField2D\Public\FlowFieldProxy.h

+ 5 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Development/FlowField2D/FlowField2D.precompiled

@@ -0,0 +1,5 @@
+{
+	"OutputFiles": [
+		"..\\..\\..\\x64\\UnrealGame\\Development\\FlowField2D\\Module.FlowField2D.cpp.obj"
+	]
+}

+ 336 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.gen.cpp

@@ -0,0 +1,336 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFFRenderUtils() {}
+// Cross Module References
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector2D();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector4();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowFieldMap2D;
+class UScriptStruct* FFlowFieldMap2D::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowFieldMap2D, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowFieldMap2D"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowFieldMap2D>()
+{
+	return FFlowFieldMap2D::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Values_Inner;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Values_MetaData[];
+#endif
+		static const UECodeGen_Private::FArrayPropertyParams NewProp_Values;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ValueRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ValueRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bClampValues_MetaData[];
+#endif
+		static void NewProp_bClampValues_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bClampValues;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowFieldMap2D>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner = { "Values", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, Z_Construct_UScriptStruct_FVector2D, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "The number of speed values must be equal with Resolution.X * Resolution.Y,and value must be normailized(0.0~1.0)" },
+	};
+#endif
+	const UECodeGen_Private::FArrayPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values = { "Values", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, Values), EArrayPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange = { "ValueRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowFieldMap2D, ValueRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Clamp the values from value range or not, if false, out of value range area will not generate particles\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "Clamp the values from value range or not, if false, out of value range area will not generate particles" },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit(void* Obj)
+	{
+		((FFlowFieldMap2D*)Obj)->bClampValues = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues = { "bClampValues", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowFieldMap2D), &Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values_Inner,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_Values,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_ValueRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewProp_bClampValues,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowFieldMap2D",
+		Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers),
+		sizeof(FFlowFieldMap2D),
+		alignof(FFlowFieldMap2D),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowFieldMap2D.InnerSingleton;
+	}
+	static FStructRegistrationInfo Z_Registration_Info_UScriptStruct_FlowField2DSettings;
+class UScriptStruct* FFlowField2DSettings::StaticStruct()
+{
+	if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton)
+	{
+		Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton = GetStaticStruct(Z_Construct_UScriptStruct_FFlowField2DSettings, (UObject*)Z_Construct_UPackage__Script_FlowField2D(), TEXT("FlowField2DSettings"));
+	}
+	return Z_Registration_Info_UScriptStruct_FlowField2DSettings.OuterSingleton;
+}
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<FFlowField2DSettings>()
+{
+	return FFlowField2DSettings::StaticStruct();
+}
+	struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics
+	{
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Struct_MetaDataParams[];
+#endif
+		static void* NewStructOps();
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NumParticles_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_NumParticles;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ParticleSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_ParticleSize;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedRange_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_SpeedRange;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_SpeedFactor_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_SpeedFactor;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FadeOutOpacity_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_FadeOutOpacity;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_RandomRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_RandomRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_DropRate_MetaData[];
+#endif
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_DropRate;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_bSphericalDomain_MetaData[];
+#endif
+		static void NewProp_bSphericalDomain_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bSphericalDomain;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const UECodeGen_Private::FStructParams ReturnStructParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+	};
+#endif
+	void* Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps()
+	{
+		return (UScriptStruct::ICppStructOps*)new UScriptStruct::TCppStructOps<FFlowField2DSettings>();
+	}
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how many particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how many particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles = { "NumParticles", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, NumParticles), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//pixel size of particles.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "pixel size of particles." },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize = { "ParticleSize", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, ParticleSize), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "/*\n\x09x : u-min(Horizontal min speed)\n\x09y : v - min(Vertical min speed)\n\x09z : u - max(Horizontal max speed)\n\x09w : v - max(Vertical max speed)\n\x09*/" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "x : u-min(Horizontal min speed)\ny : v - min(Vertical min speed)\nz : u - max(Horizontal max speed)\nw : v - max(Vertical max speed)" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange = { "SpeedRange", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedRange), Z_Construct_UScriptStruct_FVector4, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particles move.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particles move." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor = { "SpeedFactor", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, SpeedFactor), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "// how fast the particle trails fade on each frame.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how fast the particle trails fade on each frame." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity = { "FadeOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//when the opacity is less than, particles fade out.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "when the opacity is less than, particles fade out." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity = { "FadeOutOpacity", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, FadeOutOpacity), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//how often the particles move to a random place.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "how often the particles move to a random place." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate = { "RandomRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, RandomRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//drop rate increase relative to individual particle speed.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "drop rate increase relative to individual particle speed." },
+	};
+#endif
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate = { "DropRate", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FFlowField2DSettings, DropRate), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//if true, near the poles, particles should move much faster along the X-axis than particles on the equator.\n" },
+		{ "ModuleRelativePath", "Public/FFRenderUtils.h" },
+		{ "ToolTip", "if true, near the poles, particles should move much faster along the X-axis than particles on the equator." },
+	};
+#endif
+	void Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit(void* Obj)
+	{
+		((FFlowField2DSettings*)Obj)->bSphericalDomain = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain = { "bSphericalDomain", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FFlowField2DSettings), &Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_NumParticles,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_ParticleSize,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedRange,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_SpeedFactor,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_FadeOutOpacity,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_RandomRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_DropRate,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewProp_bSphericalDomain,
+	};
+	const UECodeGen_Private::FStructParams Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams = {
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+		nullptr,
+		&NewStructOps,
+		"FlowField2DSettings",
+		Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers,
+		UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers),
+		sizeof(FFlowField2DSettings),
+		alignof(FFlowField2DSettings),
+		RF_Public|RF_Transient|RF_MarkAsNative,
+		EStructFlags(0x00000001),
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams), Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::Struct_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::PropPointers) < 2048);
+	UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings()
+	{
+		if (!Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton)
+		{
+			UECodeGen_Private::ConstructUScriptStruct(Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::ReturnStructParams);
+		}
+		return Z_Registration_Info_UScriptStruct_FlowField2DSettings.InnerSingleton;
+	}
+	struct Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics
+	{
+		static const FStructRegisterCompiledInInfo ScriptStructInfo[];
+	};
+	const FStructRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo[] = {
+		{ FFlowFieldMap2D::StaticStruct, Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics::NewStructOps, TEXT("FlowFieldMap2D"), &Z_Registration_Info_UScriptStruct_FlowFieldMap2D, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowFieldMap2D), 4011033976U) },
+		{ FFlowField2DSettings::StaticStruct, Z_Construct_UScriptStruct_FFlowField2DSettings_Statics::NewStructOps, TEXT("FlowField2DSettings"), &Z_Registration_Info_UScriptStruct_FlowField2DSettings, CONSTRUCT_RELOAD_VERSION_INFO(FStructReloadVersionInfo, sizeof(FFlowField2DSettings), 1901615096U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_597696417(TEXT("/Script/FlowField2D"),
+		nullptr, 0,
+		Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_Statics::ScriptStructInfo),
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 35 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FFRenderUtils.generated.h

@@ -0,0 +1,35 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FFRenderUtils.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+#ifdef FLOWFIELD2D_FFRenderUtils_generated_h
+#error "FFRenderUtils.generated.h already included, missing '#pragma once' in FFRenderUtils.h"
+#endif
+#define FLOWFIELD2D_FFRenderUtils_generated_h
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_172_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowFieldMap2D_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowFieldMap2D>();
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h_204_GENERATED_BODY \
+	friend struct Z_Construct_UScriptStruct_FFlowField2DSettings_Statics; \
+	FLOWFIELD2D_API static class UScriptStruct* StaticStruct();
+
+
+template<> FLOWFIELD2D_API UScriptStruct* StaticStruct<struct FFlowField2DSettings>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FFRenderUtils_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 29 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FlowField2D.init.gen.cpp

@@ -0,0 +1,29 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowField2D_init() {}
+	static FPackageRegistrationInfo Z_Registration_Info_UPackage__Script_FlowField2D;
+	FORCENOINLINE UPackage* Z_Construct_UPackage__Script_FlowField2D()
+	{
+		if (!Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton)
+		{
+			static const UECodeGen_Private::FPackageParams PackageParams = {
+				"/Script/FlowField2D",
+				nullptr,
+				0,
+				PKG_CompiledIn | 0x00000000,
+				0xF03CC7F9,
+				0x31DB798F,
+				METADATA_PARAMS(0, nullptr)
+			};
+			UECodeGen_Private::ConstructUPackage(Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton, PackageParams);
+		}
+		return Z_Registration_Info_UPackage__Script_FlowField2D.OuterSingleton;
+	}
+	static FRegisterCompiledInInfo Z_CompiledInDeferPackage_UPackage__Script_FlowField2D(Z_Construct_UPackage__Script_FlowField2D, TEXT("/Script/FlowField2D"), Z_Registration_Info_UPackage__Script_FlowField2D, CONSTRUCT_RELOAD_VERSION_INFO(FPackageReloadVersionInfo, 0xF03CC7F9, 0x31DB798F));
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 10 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FlowField2DClasses.h

@@ -0,0 +1,10 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#pragma once
+
+
+

+ 752 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.gen.cpp

@@ -0,0 +1,752 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+#include "UObject/GeneratedCppIncludes.h"
+#include "FlowField2D/Public/FlowFieldProxy.h"
+#include "FlowField2D/Public/FFRenderUtils.h"
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+void EmptyLinkFunctionForGeneratedCodeFlowFieldProxy() {}
+// Cross Module References
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject();
+	COREUOBJECT_API UClass* Z_Construct_UClass_UObject_NoRegister();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FColor();
+	COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FIntPoint();
+	ENGINE_API UClass* Z_Construct_UClass_UTexture2D_NoRegister();
+	ENGINE_API UClass* Z_Construct_UClass_UTextureRenderTarget2D_NoRegister();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy();
+	FLOWFIELD2D_API UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowField2DSettings();
+	FLOWFIELD2D_API UScriptStruct* Z_Construct_UScriptStruct_FFlowFieldMap2D();
+	UPackage* Z_Construct_UPackage__Script_FlowField2D();
+// End Cross Module References
+	DEFINE_FUNCTION(UFlowFieldProxy::execResizeFlowField2D)
+	{
+		P_GET_STRUCT(FIntPoint,Z_Param_NewSize);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->ResizeFlowField2D(Z_Param_NewSize);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorMap)
+	{
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_New);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorMap(Z_Param_Out_New,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetColorTexture)
+	{
+		P_GET_OBJECT(UTexture2D,Z_Param_Color);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetColorTexture(Z_Param_Color);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execSetNumberOfParticles)
+	{
+		P_GET_PROPERTY(FIntProperty,Z_Param_Num);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->SetNumberOfParticles(Z_Param_Num);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execLoadFlowField2D)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_File);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->LoadFlowField2D(Z_Param_File);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execRenderFlowField2D)
+	{
+		P_GET_STRUCT_REF(FFlowFieldMap2D,Z_Param_Out_Data);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		P_THIS->RenderFlowField2D(Z_Param_Out_Data);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetHexColor)
+	{
+		P_GET_PROPERTY(FStrProperty,Z_Param_Hex);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(FColor*)Z_Param__Result=UFlowFieldProxy::GetHexColor(Z_Param_Hex);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateFlowField2D)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_STRUCT(FIntPoint,Z_Param_Resolution);
+		P_GET_STRUCT_REF(FFlowField2DSettings,Z_Param_Out_Settings);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UFlowFieldProxy**)Z_Param__Result=UFlowFieldProxy::GenerateFlowField2D(Z_Param_WorldContextObject,Z_Param_Resolution,Z_Param_Out_Settings);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGenerateColorMap)
+	{
+		P_GET_OBJECT(UObject,Z_Param_WorldContextObject);
+		P_GET_TMAP_REF(float,FColor,Z_Param_Out_ColorMap);
+		P_GET_UBOOL(Z_Param_bAllowInterpolation);
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(UTexture2D**)Z_Param__Result=UFlowFieldProxy::GenerateColorMap(Z_Param_WorldContextObject,Z_Param_Out_ColorMap,Z_Param_bAllowInterpolation);
+		P_NATIVE_END;
+	}
+	DEFINE_FUNCTION(UFlowFieldProxy::execGetDefaultColorMap)
+	{
+		P_FINISH;
+		P_NATIVE_BEGIN;
+		*(TMap<float,FColor>*)Z_Param__Result=UFlowFieldProxy::GetDefaultColorMap();
+		P_NATIVE_END;
+	}
+	void UFlowFieldProxy::StaticRegisterNativesUFlowFieldProxy()
+	{
+		UClass* Class = UFlowFieldProxy::StaticClass();
+		static const FNameNativePtrPair Funcs[] = {
+			{ "GenerateColorMap", &UFlowFieldProxy::execGenerateColorMap },
+			{ "GenerateFlowField2D", &UFlowFieldProxy::execGenerateFlowField2D },
+			{ "GetDefaultColorMap", &UFlowFieldProxy::execGetDefaultColorMap },
+			{ "GetHexColor", &UFlowFieldProxy::execGetHexColor },
+			{ "LoadFlowField2D", &UFlowFieldProxy::execLoadFlowField2D },
+			{ "RenderFlowField2D", &UFlowFieldProxy::execRenderFlowField2D },
+			{ "ResizeFlowField2D", &UFlowFieldProxy::execResizeFlowField2D },
+			{ "SetColorMap", &UFlowFieldProxy::execSetColorMap },
+			{ "SetColorTexture", &UFlowFieldProxy::execSetColorTexture },
+			{ "SetNumberOfParticles", &UFlowFieldProxy::execSetNumberOfParticles },
+		};
+		FNativeFunctionRegistrar::RegisterFunctions(Class, Funcs, UE_ARRAY_COUNT(Funcs));
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGenerateColorMap_Parms
+		{
+			UObject* WorldContextObject;
+			TMap<float,FColor> ColorMap;
+			bool bAllowInterpolation;
+			UTexture2D* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ColorMap_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ColorMap_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ColorMap;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp = { "ColorMap", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp = { "ColorMap_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ColorMap), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventGenerateColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventGenerateColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateColorMap_Parms, ReturnValue), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_bAllowInterpolation,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04422401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FlowFieldProxy_eventGenerateColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventGenerateFlowField2D_Parms
+		{
+			UObject* WorldContextObject;
+			FIntPoint Resolution;
+			FFlowField2DSettings Settings;
+			UFlowFieldProxy* ReturnValue;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_WorldContextObject;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Resolution_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Resolution;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Settings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Settings;
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject = { "WorldContextObject", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, WorldContextObject), Z_Construct_UClass_UObject_NoRegister, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution = { "Resolution", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Resolution), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings = { "Settings", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, Settings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGenerateFlowField2D_Parms, ReturnValue), Z_Construct_UClass_UFlowFieldProxy_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_WorldContextObject,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Resolution,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_Settings,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GenerateFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04C22401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FlowFieldProxy_eventGenerateFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics
+	{
+		struct FlowFieldProxy_eventGetDefaultColorMap_Parms
+		{
+			TMap<float,FColor> ReturnValue;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_ReturnValue_Key_KeyProp;
+		static const UECodeGen_Private::FMapPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp = { "ReturnValue", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp = { "ReturnValue_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetDefaultColorMap_Parms, ReturnValue), EMapPropertyFlags::None, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetDefaultColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14022401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FlowFieldProxy_eventGetDefaultColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics
+	{
+		struct FlowFieldProxy_eventGetHexColor_Parms
+		{
+			FString Hex;
+			FColor ReturnValue;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Hex_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_Hex;
+		static const UECodeGen_Private::FStructPropertyParams NewProp_ReturnValue;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex = { "Hex", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, Hex), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex_MetaData) };
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventGetHexColor_Parms, ReturnValue), Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_Hex,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::NewProp_ReturnValue,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "WorldContext", "WorldContextObject" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "GetHexColor", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14822401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FlowFieldProxy_eventGetHexColor_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_GetHexColor()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_GetHexColor_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventLoadFlowField2D_Parms
+		{
+			FString File;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_File_MetaData[];
+#endif
+		static const UECodeGen_Private::FStrPropertyParams NewProp_File;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File = { "File", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventLoadFlowField2D_Parms, File), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::NewProp_File,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "Comment", "//Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed\n" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+		{ "ToolTip", "Input a png file, the chanel R is horizontal speed and the chanel G is vertical speed" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "LoadFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FlowFieldProxy_eventLoadFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventRenderFlowField2D_Parms
+		{
+			FFlowFieldMap2D Data;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Data_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_Data;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data = { "Data", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventRenderFlowField2D_Parms, Data), Z_Construct_UScriptStruct_FFlowFieldMap2D, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data_MetaData) }; // 4011033976
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::NewProp_Data,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "RenderFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FlowFieldProxy_eventRenderFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics
+	{
+		struct FlowFieldProxy_eventResizeFlowField2D_Parms
+		{
+			FIntPoint NewSize;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_NewSize_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_NewSize;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize = { "NewSize", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventResizeFlowField2D_Parms, NewSize), Z_Construct_UScriptStruct_FIntPoint, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::NewProp_NewSize,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "ResizeFlowField2D", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04820401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FlowFieldProxy_eventResizeFlowField2D_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics
+	{
+		struct FlowFieldProxy_eventSetColorMap_Parms
+		{
+			TMap<float,FColor> New;
+			bool bAllowInterpolation;
+		};
+		static const UECodeGen_Private::FStructPropertyParams NewProp_New_ValueProp;
+		static const UECodeGen_Private::FFloatPropertyParams NewProp_New_Key_KeyProp;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_New_MetaData[];
+#endif
+		static const UECodeGen_Private::FMapPropertyParams NewProp_New;
+		static void NewProp_bAllowInterpolation_SetBit(void* Obj);
+		static const UECodeGen_Private::FBoolPropertyParams NewProp_bAllowInterpolation;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp = { "New", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 1, Z_Construct_UScriptStruct_FColor, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FFloatPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp = { "New_Key", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FMapPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New = { "New", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Map, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorMap_Parms, New), EMapPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_MetaData) };
+	void Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit(void* Obj)
+	{
+		((FlowFieldProxy_eventSetColorMap_Parms*)Obj)->bAllowInterpolation = 1;
+	}
+	const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation = { "bAllowInterpolation", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(FlowFieldProxy_eventSetColorMap_Parms), &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation_SetBit, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_ValueProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New_Key_KeyProp,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_New,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::NewProp_bAllowInterpolation,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorMap", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FlowFieldProxy_eventSetColorMap_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorMap()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorMap_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics
+	{
+		struct FlowFieldProxy_eventSetColorTexture_Parms
+		{
+			UTexture2D* Color;
+		};
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Color;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color = { "Color", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetColorTexture_Parms, Color), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(0, nullptr) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::NewProp_Color,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetColorTexture", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FlowFieldProxy_eventSetColorTexture_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	struct Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics
+	{
+		struct FlowFieldProxy_eventSetNumberOfParticles_Parms
+		{
+			int32 Num;
+		};
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Num_MetaData[];
+#endif
+		static const UECodeGen_Private::FIntPropertyParams NewProp_Num;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
+#endif
+		static const UECodeGen_Private::FFunctionParams FuncParams;
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData[] = {
+		{ "NativeConst", "" },
+	};
+#endif
+	const UECodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num = { "Num", nullptr, (EPropertyFlags)0x0010000000000082, UECodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(FlowFieldProxy_eventSetNumberOfParticles_Parms, Num), METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num_MetaData) };
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::NewProp_Num,
+	};
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UFlowFieldProxy, nullptr, "SetNumberOfParticles", nullptr, nullptr, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers), sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams), Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::Function_MetaDataParams) };
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::PropPointers) < 2048);
+	static_assert(sizeof(Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FlowFieldProxy_eventSetNumberOfParticles_Parms) < MAX_uint16);
+	UFunction* Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles()
+	{
+		static UFunction* ReturnFunction = nullptr;
+		if (!ReturnFunction)
+		{
+			UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles_Statics::FuncParams);
+		}
+		return ReturnFunction;
+	}
+	IMPLEMENT_CLASS_NO_AUTO_REGISTRATION(UFlowFieldProxy);
+	UClass* Z_Construct_UClass_UFlowFieldProxy_NoRegister()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	struct Z_Construct_UClass_UFlowFieldProxy_Statics
+	{
+		static UObject* (*const DependentSingletons[])();
+		static const FClassFunctionLinkInfo FuncInfo[];
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam Class_MetaDataParams[];
+#endif
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_Output_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_Output;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_ColorMap_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_ColorMap;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowFieldMap2D_MetaData[];
+#endif
+		static const UECodeGen_Private::FObjectPropertyParams NewProp_FlowFieldMap2D;
+#if WITH_METADATA
+		static const UECodeGen_Private::FMetaDataPairParam NewProp_FlowField2DSettings_MetaData[];
+#endif
+		static const UECodeGen_Private::FStructPropertyParams NewProp_FlowField2DSettings;
+		static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
+		static const FCppClassTypeInfoStatic StaticCppClassTypeInfo;
+		static const UECodeGen_Private::FClassParams ClassParams;
+	};
+	UObject* (*const Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons[])() = {
+		(UObject* (*)())Z_Construct_UClass_UObject,
+		(UObject* (*)())Z_Construct_UPackage__Script_FlowField2D,
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::DependentSingletons) < 16);
+	const FClassFunctionLinkInfo Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo[] = {
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateColorMap, "GenerateColorMap" }, // 3219977250
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GenerateFlowField2D, "GenerateFlowField2D" }, // 3657207053
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetDefaultColorMap, "GetDefaultColorMap" }, // 453918986
+		{ &Z_Construct_UFunction_UFlowFieldProxy_GetHexColor, "GetHexColor" }, // 1084807866
+		{ &Z_Construct_UFunction_UFlowFieldProxy_LoadFlowField2D, "LoadFlowField2D" }, // 1314391012
+		{ &Z_Construct_UFunction_UFlowFieldProxy_RenderFlowField2D, "RenderFlowField2D" }, // 3450095394
+		{ &Z_Construct_UFunction_UFlowFieldProxy_ResizeFlowField2D, "ResizeFlowField2D" }, // 3862345753
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorMap, "SetColorMap" }, // 658203024
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetColorTexture, "SetColorTexture" }, // 2004619420
+		{ &Z_Construct_UFunction_UFlowFieldProxy_SetNumberOfParticles, "SetNumberOfParticles" }, // 1904688400
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::FuncInfo) < 2048);
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams[] = {
+		{ "BlueprintType", "true" },
+		{ "Comment", "/**\n * \n */" },
+		{ "IncludePath", "FlowFieldProxy.h" },
+		{ "IsBlueprintBase", "true" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output = { "Output", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, Output), Z_Construct_UClass_UTextureRenderTarget2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap = { "ColorMap", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, ColorMap), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D = { "FlowFieldMap2D", nullptr, (EPropertyFlags)0x0010000000020015, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowFieldMap2D), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D_MetaData) };
+#if WITH_METADATA
+	const UECodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData[] = {
+		{ "Category", "Flow Field 2D" },
+		{ "ModuleRelativePath", "Public/FlowFieldProxy.h" },
+	};
+#endif
+	const UECodeGen_Private::FStructPropertyParams Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings = { "FlowField2DSettings", nullptr, (EPropertyFlags)0x0010000000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(UFlowFieldProxy, FlowField2DSettings), Z_Construct_UScriptStruct_FFlowField2DSettings, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData), Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings_MetaData) }; // 1901615096
+	const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers[] = {
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_Output,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_ColorMap,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowFieldMap2D,
+		(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_UFlowFieldProxy_Statics::NewProp_FlowField2DSettings,
+	};
+	const FCppClassTypeInfoStatic Z_Construct_UClass_UFlowFieldProxy_Statics::StaticCppClassTypeInfo = {
+		TCppClassTypeTraits<UFlowFieldProxy>::IsAbstract,
+	};
+	const UECodeGen_Private::FClassParams Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams = {
+		&UFlowFieldProxy::StaticClass,
+		nullptr,
+		&StaticCppClassTypeInfo,
+		DependentSingletons,
+		FuncInfo,
+		Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers,
+		nullptr,
+		UE_ARRAY_COUNT(DependentSingletons),
+		UE_ARRAY_COUNT(FuncInfo),
+		UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers),
+		0,
+		0x001000A0u,
+		METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams), Z_Construct_UClass_UFlowFieldProxy_Statics::Class_MetaDataParams)
+	};
+	static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_UFlowFieldProxy_Statics::PropPointers) < 2048);
+	UClass* Z_Construct_UClass_UFlowFieldProxy()
+	{
+		if (!Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton)
+		{
+			UECodeGen_Private::ConstructUClass(Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton, Z_Construct_UClass_UFlowFieldProxy_Statics::ClassParams);
+		}
+		return Z_Registration_Info_UClass_UFlowFieldProxy.OuterSingleton;
+	}
+	template<> FLOWFIELD2D_API UClass* StaticClass<UFlowFieldProxy>()
+	{
+		return UFlowFieldProxy::StaticClass();
+	}
+	UFlowFieldProxy::UFlowFieldProxy(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) {}
+	DEFINE_VTABLE_PTR_HELPER_CTOR(UFlowFieldProxy);
+	UFlowFieldProxy::~UFlowFieldProxy() {}
+	struct Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics
+	{
+		static const FClassRegisterCompiledInInfo ClassInfo[];
+	};
+	const FClassRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo[] = {
+		{ Z_Construct_UClass_UFlowFieldProxy, UFlowFieldProxy::StaticClass, TEXT("UFlowFieldProxy"), &Z_Registration_Info_UClass_UFlowFieldProxy, CONSTRUCT_RELOAD_VERSION_INFO(FClassReloadVersionInfo, sizeof(UFlowFieldProxy), 99538610U) },
+	};
+	static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_10452843(TEXT("/Script/FlowField2D"),
+		Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_Statics::ClassInfo),
+		nullptr, 0,
+		nullptr, 0);
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 86 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/FlowFieldProxy.generated.h

@@ -0,0 +1,86 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+/*===========================================================================
+	Generated code exported from UnrealHeaderTool.
+	DO NOT modify this manually! Edit the corresponding .h files instead!
+===========================================================================*/
+
+// IWYU pragma: private, include "FlowFieldProxy.h"
+#include "UObject/ObjectMacros.h"
+#include "UObject/ScriptMacros.h"
+
+PRAGMA_DISABLE_DEPRECATION_WARNINGS
+ struct FColor;
+class UFlowFieldProxy;
+class UObject;
+class UTexture2D;
+struct FColor;
+struct FFlowField2DSettings;
+struct FFlowFieldMap2D;
+#ifdef FLOWFIELD2D_FlowFieldProxy_generated_h
+#error "FlowFieldProxy.generated.h already included, missing '#pragma once' in FlowFieldProxy.h"
+#endif
+#define FLOWFIELD2D_FlowFieldProxy_generated_h
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+ \
+	DECLARE_FUNCTION(execResizeFlowField2D); \
+	DECLARE_FUNCTION(execSetColorMap); \
+	DECLARE_FUNCTION(execSetColorTexture); \
+	DECLARE_FUNCTION(execSetNumberOfParticles); \
+	DECLARE_FUNCTION(execLoadFlowField2D); \
+	DECLARE_FUNCTION(execRenderFlowField2D); \
+	DECLARE_FUNCTION(execGetHexColor); \
+	DECLARE_FUNCTION(execGenerateFlowField2D); \
+	DECLARE_FUNCTION(execGenerateColorMap); \
+	DECLARE_FUNCTION(execGetDefaultColorMap);
+
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+private: \
+	static void StaticRegisterNativesUFlowFieldProxy(); \
+	friend struct Z_Construct_UClass_UFlowFieldProxy_Statics; \
+public: \
+	DECLARE_CLASS(UFlowFieldProxy, UObject, COMPILED_IN_FLAGS(0), CASTCLASS_None, TEXT("/Script/FlowField2D"), NO_API) \
+	DECLARE_SERIALIZER(UFlowFieldProxy)
+
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+	/** Standard constructor, called after all reflected properties have been initialized */ \
+	NO_API UFlowFieldProxy(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); \
+private: \
+	/** Private move- and copy-constructors, should never be used */ \
+	NO_API UFlowFieldProxy(UFlowFieldProxy&&); \
+	NO_API UFlowFieldProxy(const UFlowFieldProxy&); \
+public: \
+	DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UFlowFieldProxy); \
+	DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UFlowFieldProxy); \
+	DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UFlowFieldProxy) \
+	NO_API virtual ~UFlowFieldProxy();
+
+
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_19_PROLOG
+#define FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_GENERATED_BODY \
+PRAGMA_DISABLE_DEPRECATION_WARNINGS \
+public: \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_EDITOR_ONLY_SPARSE_DATA_PROPERTY_ACCESSORS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_RPC_WRAPPERS_NO_PURE_DECLS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ACCESSORS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_INCLASS_NO_PURE_DECLS \
+	FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h_22_ENHANCED_CONSTRUCTORS \
+private: \
+PRAGMA_ENABLE_DEPRECATION_WARNINGS
+
+
+template<> FLOWFIELD2D_API UClass* StaticClass<class UFlowFieldProxy>();
+
+#undef CURRENT_FILE_ID
+#define CURRENT_FILE_ID FID_build_U5M_Marketplace_Sync_LocalBuilds_PluginTemp_HostProject_Plugins_FlowField2D_Source_FlowField2D_Public_FlowFieldProxy_h
+
+
+PRAGMA_ENABLE_DEPRECATION_WARNINGS

+ 2 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Inc/FlowField2D/UHT/Timestamp

@@ -0,0 +1,2 @@
+D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\FlowField2D\Source\FlowField2D\Public\FFRenderUtils.h
+D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\FlowField2D\Source\FlowField2D\Public\FlowFieldProxy.h

+ 5 - 0
Plugins/FlowField2D/Intermediate/Build/Win64/UnrealGame/Shipping/FlowField2D/FlowField2D.precompiled

@@ -0,0 +1,5 @@
+{
+	"OutputFiles": [
+		"..\\..\\..\\x64\\UnrealGame\\Shipping\\FlowField2D\\Module.FlowField2D.cpp.obj"
+	]
+}

BIN
Plugins/FlowField2D/Intermediate/Build/Win64/x64/UnrealEditor/Development/FlowField2D/UnrealEditor-FlowField2D.lib


BIN
Plugins/FlowField2D/Intermediate/Build/Win64/x64/UnrealGame/Development/FlowField2D/Module.FlowField2D.cpp.obj


BIN
Plugins/FlowField2D/Intermediate/Build/Win64/x64/UnrealGame/Shipping/FlowField2D/Module.FlowField2D.cpp.obj


+ 10 - 0
Plugins/FlowField2D/Resources/2016112000.json

@@ -0,0 +1,10 @@
+{
+  "source": "https://nomads.ncep.noaa.gov",
+  "date": "2016-11-20T00:00Z",
+  "width": 360,
+  "height": 180,
+  "uMin": -21.32,
+  "uMax": 26.8,
+  "vMin": -21.57,
+  "vMax": 21.42
+}

BIN
Plugins/FlowField2D/Resources/2016112000.png


+ 10 - 0
Plugins/FlowField2D/Resources/2016112118.json

@@ -0,0 +1,10 @@
+{
+  "source": "http://nomads.ncep.noaa.gov",
+  "date": "2016-11-21T1800:00Z",
+  "width": 360,
+  "height": 180,
+  "uMin": -24.02,
+  "uMax": 26.31,
+  "vMin": -20.91,
+  "vMax": 21.22
+}

BIN
Plugins/FlowField2D/Resources/2016112118.png


BIN
Plugins/FlowField2D/Resources/Example1.png


BIN
Plugins/FlowField2D/Resources/Example2.png


BIN
Plugins/FlowField2D/Resources/Example3.png


BIN
Plugins/FlowField2D/Resources/FlowField.png


BIN
Plugins/FlowField2D/Resources/Icon128.png


BIN
Plugins/FlowField2D/Resources/Instructions.png


BIN
Plugins/FlowField2D/Resources/Vortex.png


+ 97 - 0
Plugins/FlowField2D/Shaders/FlowFieldCS.usf

@@ -0,0 +1,97 @@
+// Copyright 2023 ZSttt, Inc. All Rights Reserved.
+
+#include "/Engine/Public/Platform.ush"
+#include "/Engine/Private/Common.ush"
+
+RWStructuredBuffer<float2> RWParticles;
+Texture2D FlowFieldMap;
+SamplerState FlowFieldMapSampler;
+uint2 FlowFieldMapResolution;
+uint NumParticles;
+float RandomSeed;
+uint NumParticlesSqrt;
+float4 SpeedRange;
+float SpeedFactor;
+float RandomRate;
+float DropRate;
+float Spherical;
+
+static const float3 rand_constants = float3(12.9898, 78.233, 4375.85453);
+float rand(float2 uv) 
+{
+    float t = dot(rand_constants.xy, uv);
+    return frac(sin(t) * (rand_constants.z + t));
+}
+
+float4 GetFlowFieldValue(float2 UV)
+{
+	//UE Transform
+    float2 pos = float2(UV.x,1.0 - UV.y);
+
+    return Texture2DSample(FlowFieldMap, FlowFieldMapSampler, pos);
+}
+
+float2 lookup(float2 uv)
+{
+    float2 px = 1.0 / (float) FlowFieldMapResolution;
+    float2 vc = (floor(uv * (float) FlowFieldMapResolution)) * px;
+    float2 f = frac(uv * (float) FlowFieldMapResolution);
+    float2 tl = GetFlowFieldValue(vc).xy;
+    float2 tr = GetFlowFieldValue(vc + float2(px.x, 0)).xy;
+    float2 bl = GetFlowFieldValue(vc + float2(0, px.y)).xy;
+    float2 br = GetFlowFieldValue(vc + px).xy;
+    return lerp(lerp(tl, tr, f.x), lerp(bl, br, f.x), f.y);
+}
+
+[numthreads(256, 1, 1)]
+void UpdateParticles
+(
+	uint3 GroupID : SV_GroupID,
+	uint3 ThreadId : SV_DispatchThreadID,
+	uint3 GroupThreadID : SV_GroupThreadID
+)
+{
+    uint Index = ThreadId.x + ThreadId.y * 256;
+    if (Index < NumParticles)
+    {
+        float2 particle = RWParticles[Index];
+        float4 color = GetFlowFieldValue(particle);
+        if (color.a == 0.0)
+        {
+            particle = frac(1.0 + particle + (RandomSeed * particle));
+            float Row = Index / NumParticlesSqrt;
+            float Column = Index % NumParticlesSqrt;
+            float2 seed = (particle + (float2(Column, Row) / (float) NumParticlesSqrt)) * RandomSeed;
+            particle = float2(rand(seed + 1.3), rand(seed + 2.1));
+        }
+        else
+        {
+            float2 velocity = lerp(SpeedRange.xy, SpeedRange.zw, lookup(particle));
+            float speed = length(velocity) / length(SpeedRange.ba);
+		
+            float2 offset = 0.f;
+            if (Spherical > 0.f)
+            {
+                float distortion = cos(radians(particle.y * 180.0 - 90.0));
+                offset = float2(velocity.x / distortion, velocity.y) * 0.0001 * SpeedFactor;
+            }
+            else
+            {
+                offset = float2(velocity.x, velocity.y) * 0.0001 * SpeedFactor;
+            }
+
+            particle = frac(1.0 + particle + offset);
+		
+            float Row = Index / NumParticlesSqrt;
+            float Column = Index % NumParticlesSqrt;
+            float2 seed = (particle + (float2(Column, Row) / (float) NumParticlesSqrt)) * RandomSeed;
+		
+            float drop_rate = RandomRate + speed * DropRate;
+            float drop = step(1.0 - drop_rate, rand(seed));
+		
+            float2 random_pos = float2(rand(seed + 1.3), rand(seed + 2.1));
+            particle = lerp(particle, random_pos, drop);
+        }
+        RWParticles[Index].xy = particle;
+    }
+}

+ 138 - 0
Plugins/FlowField2D/Shaders/FlowFieldPS.usf

@@ -0,0 +1,138 @@
+// Copyright 2023 ZSttt, Inc. All Rights Reserved.
+
+#include "/Engine/Public/Platform.ush"
+#include "/Engine/Private/Common.ush"
+
+Texture2D FlowFieldMap;
+SamplerState FlowFieldMapSampler;
+
+Texture2D ColorMap;
+SamplerState ColorMapSampler;
+
+float4 SpeedRange;
+
+void DrawParticles
+(
+	in float2 Particle : TEXCOORD0,
+	out float4 OutColor : SV_Target0
+)
+{
+    float2 pos = Particle.xy;
+    
+    //UE Transform
+    pos.y = 1.0 - pos.y;
+    
+    float4 value = Texture2DSample(FlowFieldMap, FlowFieldMapSampler, pos);
+    if (value.a == 0.0)
+    {
+        OutColor = float4(0,0,0,0);
+    }
+    else
+    {
+        float2 velocity = lerp(SpeedRange.xy, SpeedRange.ba, value.xy);
+        float speed = length(velocity) / length(SpeedRange.zw);
+        OutColor = Texture2DSample(ColorMap, ColorMapSampler, float2(speed, 0.5));
+    }
+}
+
+Texture2D<float4> Texture;
+float FadeOpacity;
+float FadeOutOpacity;
+void DrawScreen
+(
+	in FScreenVertexOutput Input,
+	out float4 OutColor : SV_Target0
+)
+{
+    float4 Color = Texture.Load(uint3(Input.Position.xy, 0));
+    
+    if (Color.a < FadeOutOpacity)
+        OutColor = float4(0,0,0,0);
+    else
+    {
+        OutColor = Color;
+        OutColor.a = floor(255.0 * Color.a * FadeOpacity) / 255.0;
+    }
+    //OutColor = floor(255.0 * Color * FadeOpacity) / 255.0;
+}
+
+Texture2D<float4> Particles;
+uint2 FlowFieldMapResolution;
+float RandomSeed;
+uint2 ParticlesResolution;
+float SpeedFactor;
+float RandomRate;
+float DropRate;
+float Spherical;
+
+static const float3 rand_constants = float3(12.9898, 78.233, 4375.85453);
+float rand(float2 uv)
+{
+    float t = dot(rand_constants.xy, uv);
+    return frac(sin(t) * (rand_constants.z + t));
+}
+
+float4 GetFlowFieldValue(float2 UV)
+{
+	//UE Transform
+    float2 pos = float2(UV.x, 1.0 - UV.y);
+
+    return Texture2DSample(FlowFieldMap, FlowFieldMapSampler, pos);
+}
+
+float2 lookup(float2 uv)
+{
+    float2 px = 1.0 / (float) FlowFieldMapResolution;
+    float2 vc = (floor(uv * (float) FlowFieldMapResolution)) * px;
+    float2 f = frac(uv * (float) FlowFieldMapResolution);
+    float2 tl = GetFlowFieldValue(vc).xy;
+    float2 tr = GetFlowFieldValue(vc + float2(px.x, 0)).xy;
+    float2 bl = GetFlowFieldValue(vc + float2(0, px.y)).xy;
+    float2 br = GetFlowFieldValue(vc + px).xy;
+    return lerp(lerp(tl, tr, f.x), lerp(bl, br, f.x), f.y);
+}
+
+void UpdateParticles
+(
+	in FScreenVertexOutput Input,
+	out float4 OutColor : SV_Target0
+)
+{
+    float4 particle = Particles.Load(uint3(Input.Position.xy, 0));
+    float2 pos = float2(particle.r / 255.0 + particle.b, particle.g / 255.0 + particle.a);
+    float4 color = GetFlowFieldValue(pos);
+    if (color.a == 0.0)
+    {
+        pos = frac(1.0 + pos + (RandomSeed * pos));
+        float2 seed = (pos + Input.UV) * RandomSeed;
+        pos = float2(rand(seed + 1.3), rand(seed + 2.1));
+    }
+    else
+    {
+        float2 velocity = lerp(SpeedRange.xy, SpeedRange.zw, lookup(pos));
+        float speed = length(velocity) / length(SpeedRange.ba);
+		
+        float2 offset = 0.f;
+        if (Spherical > 0.f)
+        {
+            float distortion = cos(radians(pos.y * 180.0 - 90.0));
+            offset = float2(velocity.x / distortion, velocity.y) * 0.0001 * SpeedFactor;
+        }
+        else
+        {
+            offset = float2(velocity.x, velocity.y) * 0.0001 * SpeedFactor;
+        }
+
+        pos = frac(1.0 + pos + offset);
+
+        float2 seed = (pos + Input.UV) * RandomSeed;
+		
+        float drop_rate = RandomRate + speed * DropRate;
+        float drop = step(1.0 - drop_rate, rand(seed));
+		
+        float2 random_pos = float2(rand(seed + 1.3), rand(seed + 2.1));
+        pos = lerp(pos, random_pos, drop);
+    }
+		
+    OutColor = float4(frac(pos * 255.0), floor(pos * 255.0) / 255.0);
+}

+ 36 - 0
Plugins/FlowField2D/Shaders/FlowFieldVS.usf

@@ -0,0 +1,36 @@
+// Copyright 2023 ZSttt, Inc. All Rights Reserved.
+
+#include "/Engine/Public/Platform.ush"
+#include "/Engine/Private/Common.ush"
+
+#ifndef FLOWFIELD2D_USE_COMPUTE
+	#define FLOWFIELD2D_USE_COMPUTE true
+#endif
+
+float2 QuadSize;
+#if FLOWFIELD2D_USE_COMPUTE
+StructuredBuffer<float2> Particles;
+#else
+Texture2D<float4> Particles;
+uint2 ParticlesResolution;
+#endif
+
+void DrawParticles
+(
+	in float4 Vertex : ATTRIBUTE0,
+	uint IId : SV_InstanceID,
+	out float2 OutParticle : TEXCOORD0,
+	out float4 Output : SV_POSITION
+)
+{
+ #if FLOWFIELD2D_USE_COMPUTE
+    OutParticle = Particles[IId];
+ #else
+    uint2 Pos = uint2(IId / ParticlesResolution.x, IId % ParticlesResolution.x);
+    float4 color = Particles.Load(uint3(Pos, 0));
+    OutParticle = float2(color.r / 255.0 + color.b, color.g / 255.0 + color.a);
+#endif
+    float2 UV = OutParticle.xy + (QuadSize * Vertex.xy);
+    UV = 2.0 * UV - 1.0;
+    Output = float4(UV.r, UV.g, 0.0, 1.0);
+}

+ 67 - 0
Plugins/FlowField2D/Source/FlowField2D/FlowField2D.Build.cs

@@ -0,0 +1,67 @@
+// Copyright 2023 ZSttt, Inc. All Rights Reserved.
+
+using UnrealBuildTool;
+
+public class FlowField2D : ModuleRules
+{
+	public FlowField2D(ReadOnlyTargetRules Target) : base(Target)
+	{
+		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
+
+        //if (Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.Mac)
+        //{
+        //    PublicDefinitions.Add("FF2D_USE_COMPUTE = true");
+        //}
+        //else
+        //{
+        //    PublicDefinitions.Add("FF2D_USE_COMPUTE = false");
+        //}
+
+        PublicDefinitions.Add("FF2D_USE_COMPUTE = false");
+
+        PublicIncludePaths.AddRange(
+			new string[] {
+				// ... add public include paths required here ...
+			}
+			);
+				
+		
+		PrivateIncludePaths.AddRange(
+			new string[] {
+				// ... add other private include paths required here ...
+			}
+			);
+			
+		
+		PublicDependencyModuleNames.AddRange(
+			new string[]
+			{
+				"Core",
+				// ... add other public dependencies that you statically link with here ...
+			}
+			);
+			
+		
+		PrivateDependencyModuleNames.AddRange(
+			new string[]
+			{
+				"CoreUObject",
+				"Engine",
+				"Slate",
+				"SlateCore",
+                "Projects",
+                "RenderCore",
+                "RHI"
+				// ... add private dependencies that you statically link with here ...	
+			}
+			);
+		
+		
+		DynamicallyLoadedModuleNames.AddRange(
+			new string[]
+			{
+				// ... add any modules that your module loads dynamically here ...
+			}
+			);
+	}
+}

+ 958 - 0
Plugins/FlowField2D/Source/FlowField2D/Private/FFRenderUtils.cpp

@@ -0,0 +1,958 @@
+// Copyright 2023 ZSttt, Inc. All Rights Reserved.
+
+
+#include "FFRenderUtils.h"
+#include "RenderingThread.h"
+#include "RHICommandList.h"
+#include "RHI.h"
+#include "Kismet/KismetRenderingLibrary.h"
+#include "HAL/UnrealMemory.h"
+#include "CoreGlobals.h"
+#include "Async/ParallelFor.h"
+#include "ClearQuad.h"
+#include "ScreenRendering.h"
+#include "CommonRenderResources.h"
+#include "Misc/FileHelper.h"
+#include "IImageWrapperModule.h"
+#include "IImageWrapper.h"
+#include "TextureResource.h"
+#include "Async/Async.h"
+#include "Containers/DynamicRHIResourceArray.h"
+#include "RHIStaticStates.h"
+#if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION > 1
+#include "GlobalRenderResources.h"
+#else
+#include "RenderUtils.h"
+#endif
+
+#if !FF2D_USE_COMPUTE
+void FFlowField2DResources::SwapParticles()
+{
+	FTexture2DRHIRef Temp = Particles[1];
+	FShaderResourceViewRHIRef SRV_Temp = SRV_Particles[1];
+	Particles[1] = Particles[0];
+	SRV_Particles[1] = SRV_Particles[0];
+	Particles[0] = Temp;
+	SRV_Particles[0] = SRV_Temp;
+}
+#endif
+
+bool FFlowField2DResources::IsValid()
+{
+#if FF2D_USE_COMPUTE
+	return Output.IsValid() && FlowFieldMap.IsValid() && Particles.IsValid() && VertexBuffer.IsValid() && IndexBuffer.IsValid();
+#else
+	return Output.IsValid() && FlowFieldMap.IsValid() && Particles[0].IsValid() && VertexBuffer.IsValid() && IndexBuffer.IsValid();
+#endif
+}
+
+void FFlowField2DResources::SetRenderTarget(TWeakObjectPtr<UTextureRenderTarget2D> RT)
+{
+	ENQUEUE_RENDER_COMMAND(FlowFieldInitializeCommand)([this, RT](FRHICommandListImmediate& RHICmdList)
+	{
+		if (RT.IsValid() && RT->GetRenderTargetResource())
+		{
+			this->Output = RT->GetRenderTargetResource()->GetRenderTargetTexture();
+
+#if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1
+			FRHITextureCreateDesc Desc =
+			FRHITextureCreateDesc::Create2D(TEXT("FF2DRT"), this->Output->GetSizeXY(), this->Output->GetFormat())
+			.SetFlags(ETextureCreateFlags::RenderTargetable | ETextureCreateFlags::ShaderResource | ETextureCreateFlags::SRGB);
+
+			for (int32 Index = 0; Index < 2; Index++)
+			{
+				Desc.DebugName = *(Desc.DebugName + FString::FromInt(Index));
+				this->RenderTarget[Index] = RHICreateTexture(Desc);
+	#if ENGINE_MINOR_VERSION > 2
+				this->SRV_RenderTarget[Index] = RHICmdList.CreateShaderResourceView(this->RenderTarget[Index], 0u);
+	#else
+				this->SRV_RenderTarget[Index] = RHICreateShaderResourceView(this->RenderTarget[Index], 0u);
+	#endif
+			}
+#else
+#if ENGINE_MAJOR_VERSION == 5
+			FRHIResourceCreateInfo TexCreateInfo(TEXT("FF2DRT"));
+#else
+			FRHIResourceCreateInfo TexCreateInfo;
+#endif
+			for (int32 Index = 0; Index < 2; Index++)
+			{
+				this->RenderTarget[Index] =
+				RHICreateTexture2D
+				(
+					this->Output->GetSizeX(),
+					this->Output->GetSizeY(),
+					this->Output->GetFormat(),
+					1, 1, TexCreate_RenderTargetable | TexCreate_ShaderResource | TexCreate_SRGB, TexCreateInfo
+				);
+				this->SRV_RenderTarget[Index] = RHICreateShaderResourceView(this->RenderTarget[Index], 0u);
+			}
+#endif
+
+			FF2DRender::ClearTexture(RHICmdList, Output, FLinearColor(0, 0, 0, 0));
+			FF2DRender::ClearTexture(RHICmdList, RenderTarget[0], FLinearColor(0, 0, 0, 0));
+			FF2DRender::ClearTexture(RHICmdList, RenderTarget[1], FLinearColor(0, 0, 0, 0));
+		}
+	});
+}
+
+void FFlowField2DResources::SetColorMap(TWeakObjectPtr<UTexture2D> InColorMap)
+{
+	ENQUEUE_RENDER_COMMAND(FlowFieldInitializeCommand)([this, InColorMap](FRHICommandListImmediate& RHICmdList)
+	{
+#if ENGINE_MAJOR_VERSION == 5 
+		if (InColorMap.IsValid() && InColorMap->GetResource())
+		{
+			this->ColorMap = InColorMap->GetResource()->GetTexture2DRHI();
+		}
+#else
+		if (InColorMap.IsValid() && InColorMap->Resource)
+		{
+			this->ColorMap = InColorMap->Resource->GetTexture2DRHI();
+		}
+#endif
+	});
+}
+
+void FFlowField2DResources::SwapRenderTarget()
+{
+	FTexture2DRHIRef Temp = RenderTarget[1];
+	FShaderResourceViewRHIRef SRV_Temp = SRV_RenderTarget[1];
+	RenderTarget[1] = RenderTarget[0];
+	SRV_RenderTarget[1] = SRV_RenderTarget[0];
+	RenderTarget[0] = Temp;
+	SRV_RenderTarget[0] = SRV_Temp;
+}
+
+
+
+
+
+
+
+
+
+template<typename ValueType>
+class FColorGradient_ColorStops
+{
+public:
+	struct FValue
+	{
+		FValue(const float InKey, const ValueType InValue) : Key(InKey), Value(InValue) {}
+		float Key;
+		ValueType Value;
+	};
+
+	FColorGradient_ColorStops(const TMap<float, ValueType>& Stops)
+	{
+		TArray<float> Values;
+		Stops.GenerateKeyArray(Values);
+		Values.Sort([](const float A, const float B) {return A < B; });
+
+		for (int32 Index = 0; Index < Values.Num(); Index++)
+		{
+			ColorStops.Add(FValue(Values[Index], *(Stops.Find(Values[Index]))));
+		}
+
+		double Offset = ColorStops[0].Key < 0 ? FMath::Abs(ColorStops[0].Key) : -(ColorStops[0].Key);
+		for (FValue& Value : ColorStops)
+		{
+			Value.Key += Offset;
+		}
+
+		double MaxValue = ColorStops.Last().Key;
+		for (FValue& Value : ColorStops)
+		{
+			Value.Key /= MaxValue;
+		}
+	}
+
+	FValue operator[](int32 Index) const
+	{
+		return ColorStops[Index];
+	}
+
+	int32 Num() const { return ColorStops.Num(); };
+public:
+	FColor MakeGradientColor(const FColor& Start, const FColor& End, float Alpha)
+	{
+		FColor Gradient = Start;
+		Gradient.R = ((1.f - Alpha) * Start.R) + (Alpha * End.R);
+		Gradient.G = ((1.f - Alpha) * Start.G) + (Alpha * End.G);
+		Gradient.B = ((1.f - Alpha) * Start.B) + (Alpha * End.B);
+		Gradient.A = ((1.f - Alpha) * Start.A) + (Alpha * End.A);
+		return Gradient;
+	}
+
+	void AssignLinearGradient(ValueType* Colors, int32 NumColors, uint8 ColorByte, bool bGradient)
+	{
+		if (Num() == 0)
+		{
+			FMemory::Memset(Colors, 0, sizeof(FColor) * NumColors);
+		}
+		else if (Num() == 1)
+		{
+			int32 Index = 0;
+			while (Index < NumColors)
+			{
+				*(Colors + Index) = ColorStops[0].Value;
+				Index++;
+			}
+		}
+		else
+		{
+			if (bGradient)
+			{
+				auto GetGradientValue = [&](float IndexValue)
+				{
+					int32 MinIndex = Num();
+					int32 MaxIndex = MinIndex;
+
+					float Value = FMath::Min(IndexValue / (float)NumColors, 1.f);
+					for (int32 Step = 0; Step < Num(); Step++)
+					{
+						if (Value < ColorStops[Step].Key)
+						{
+							MinIndex = FMath::Max(0, Step - 1);
+							MaxIndex = Step;
+							float Range = ColorStops[MaxIndex].Key - ColorStops[MinIndex].Key;
+							Value = (Value - ColorStops[MinIndex].Key) / ((Range == 0.f) ? 1.f : Range);
+							break;
+						}
+					}
+
+					MinIndex = FMath::Min(MinIndex, Num() - 1);
+					MaxIndex = FMath::Min(MaxIndex, Num() - 1);
+
+					return MakeGradientColor(ColorStops[MinIndex].Value, ColorStops[MaxIndex].Value, Value);
+				};
+
+				for (int32 Index = 0; Index < NumColors; Index++)
+				{
+					ValueType& pVal = Colors[Index];
+					pVal = GetGradientValue(Index);
+				}
+			}
+			else
+			{
+				for (int32 Index = 0; Index < NumColors; Index++)
+				{
+					ValueType& pVal = Colors[Index];
+					float Value = Index / (float)NumColors;
+					bool bFindValue = false;
+					for (int32 Step = 0; Step < Num(); Step++)
+					{
+						if (Value <= ColorStops[Step].Key)
+						{
+							pVal = ColorStops[Step].Value;
+							bFindValue = true;
+							break;
+						}
+					}
+					if (!bFindValue)
+					{
+						pVal = ColorStops[Num() - 1].Value;
+					}
+				}
+			}
+		}
+	}
+private:
+	TArray<FValue> ColorStops;
+};
+
+struct FFlowVertex
+{
+#if ENGINE_MAJOR_VERSION == 5 
+	FVector4f Vertex;
+#else
+	FVector4 Vertex;
+#endif
+	FFlowVertex() {}
+	FFlowVertex(const FVector4& InVertex) : Vertex(InVertex) {}
+};
+
+class FFlowParticleVertexDeclaration : public FRenderResource
+{
+public:
+	FVertexDeclarationRHIRef VertexDeclarationRHI;
+
+#if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION > 2
+	virtual void InitRHI(FRHICommandListBase& RHICmdList) override
+#else
+	virtual void InitRHI() override
+#endif
+	{
+		FVertexDeclarationElementList Elements;
+		Elements.Add(FVertexElement(0, STRUCT_OFFSET(FFlowVertex, Vertex), VET_Float4, 0, sizeof(FFlowVertex)));
+		VertexDeclarationRHI = RHICreateVertexDeclaration(Elements);
+	}
+
+	virtual void ReleaseRHI() override
+	{
+		VertexDeclarationRHI.SafeRelease();
+	}
+};
+TGlobalResource<FFlowParticleVertexDeclaration> GFlowParticleVertexDeclaration;
+
+
+
+
+
+
+
+
+
+
+IMPLEMENT_SHADER_TYPE(, FFlowFiled2DVS, TEXT("/Plugin/FlowField2D/FlowFieldVS.usf"), TEXT("DrawParticles"), SF_Vertex);
+IMPLEMENT_SHADER_TYPE(, FFlowFiled2DPS, TEXT("/Plugin/FlowField2D/FlowFieldPS.usf"), TEXT("DrawParticles"), SF_Pixel);
+#if FF2D_USE_COMPUTE
+IMPLEMENT_SHADER_TYPE(, FUpdateFlowParticleCS, TEXT("/Plugin/FlowField2D/FlowFieldCS.usf"), TEXT("UpdateParticles"), SF_Compute);
+#else
+IMPLEMENT_SHADER_TYPE(, FUpdateFlowParticlePS, TEXT("/Plugin/FlowField2D/FlowFieldPS.usf"), TEXT("UpdateParticles"), SF_Pixel);
+#endif
+IMPLEMENT_SHADER_TYPE(, FFlowFiled2DScreenPS, TEXT("/Plugin/FlowField2D/FlowFieldPS.usf"), TEXT("DrawScreen"), SF_Pixel);
+
+bool FF2DRender::LoadFlowFieldMap(const FString& File, TArray<uint8>& Buffer, FIntPoint& Resolution)
+{
+	TArray<uint8> FileData;
+	if (FFileHelper::LoadFileToArray(FileData, *File))
+	{
+		IImageWrapperModule& imageWrapperModule = FModuleManager::LoadModuleChecked<IImageWrapperModule>(FName("ImageWrapper"));
+		TArray<TSharedPtr<IImageWrapper>> imageWrappers = { imageWrapperModule.CreateImageWrapper(EImageFormat::PNG), imageWrapperModule.CreateImageWrapper(EImageFormat::JPEG) };
+
+		for (TSharedPtr<IImageWrapper> ImageWrapper : imageWrappers)
+		{
+			if (ImageWrapper.IsValid() && ImageWrapper->SetCompressed(FileData.GetData(), FileData.Num()))
+			{
+				ImageWrapper->GetRaw(ERGBFormat::BGRA, 8, Buffer);
+				Resolution = FIntPoint(ImageWrapper->GetWidth(), ImageWrapper->GetHeight());
+				return true;
+			}
+		}
+	}
+	return false;
+}
+
+
+UTexture2D* FF2DRender::GenerateColorMap(class UObject* WorldContextObject, const TMap<float, FColor>& ColorMap, bool bAllowInterpolation)
+{
+	uint32 Size = 256;
+
+	UTexture2D* Texture = UTexture2D::CreateTransient(Size, 1, PF_B8G8R8A8);
+	Texture->AddressX = TextureAddress::TA_Clamp;
+	Texture->AddressY = TextureAddress::TA_Clamp;
+	Texture->CompressionSettings = TextureCompressionSettings::TC_VectorDisplacementmap;
+	Texture->NeverStream = true;
+	Texture->SRGB = true;
+
+	TArray<FColor>Colors;
+	Colors.Init(FColor(0, 0, 0, 0), Size);
+	FColorGradient_ColorStops<FColor> ColorGradient = FColorGradient_ColorStops<FColor>(ColorMap);
+	ColorGradient.AssignLinearGradient(Colors.GetData(), Size, sizeof(FColor), bAllowInterpolation);
+
+#if ENGINE_MAJOR_VERSION == 5 
+	FTexturePlatformData* PlatformData = Texture->GetPlatformData();
+#else
+	FTexturePlatformData* PlatformData = Texture->PlatformData;
+#endif
+	FColor* Buffer = (FColor*)PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
+	FMemory::Memcpy(Buffer, Colors.GetData(), Colors.Num() * sizeof(FColor));
+	PlatformData->Mips[0].BulkData.Unlock();
+
+
+	Texture->UpdateResource();
+
+	return Texture;
+}
+
+
+UTexture2D* FF2DRender::GenerateFlowField2D(TSharedRef<FFlowField2DResources, ESPMode::ThreadSafe> Resource, const FFlowFieldMap2D& Data)
+{
+	EPixelFormat Format = PF_B8G8R8A8;
+
+	UTexture2D* Texture = UTexture2D::CreateTransient(1, 1, Format);
+	Texture->AddressX = TextureAddress::TA_Clamp;
+	Texture->AddressY = TextureAddress::TA_Clamp;
+	Texture->CompressionSettings = TextureCompressionSettings::TC_VectorDisplacementmap;
+	Texture->NeverStream = true;
+	Texture->SRGB = false;
+	Texture->UpdateResource();
+
+	TWeakObjectPtr<UTexture2D> WeakeTexture = Texture;
+	AsyncTask(ENamedThreads::AnyBackgroundThreadNormalTask, [Resource, Data = MoveTemp(const_cast<FFlowFieldMap2D&>(Data)), Format, WeakeTexture]()
+	{
+		if (!WeakeTexture.IsValid())
+			return;
+
+		uint32 NumColors = Data.Resolution.X * Data.Resolution.Y;
+		TArray<FColor>Colors;
+		Colors.SetNumUninitialized(Data.Resolution.X * Data.Resolution.Y);
+
+		FVector2D Size = FVector2D(Data.ValueRange.Z - Data.ValueRange.X, Data.ValueRange.W - Data.ValueRange.Y);
+		ParallelFor(NumColors, [&](int32 Index) 
+		{
+			FColor&Color = Colors[Index];
+			const FVector2D& Value = Data.Values[Index];
+			if(Data.bClampValues)
+			{
+				Color.R = FMath::RoundToInt(((FMath::Max(Data.ValueRange.X, FMath::Min(Value.X, Data.ValueRange.Z)) - Data.ValueRange.X) / Size.X) * 255.f);
+				Color.G = FMath::RoundToInt(((FMath::Max(Data.ValueRange.Y, FMath::Min(Value.Y, Data.ValueRange.W)) - Data.ValueRange.Y) / Size.Y) * 255.f);
+				Color.B = 0;
+				Color.A = 255;
+			}
+			else
+			{
+				Color.R = FMath::RoundToInt(((FMath::Max(Data.ValueRange.X, FMath::Min(Value.X, Data.ValueRange.Z)) - Data.ValueRange.X) / Size.X) * 255.f);
+				Color.G = FMath::RoundToInt(((FMath::Max(Data.ValueRange.Y, FMath::Min(Value.Y, Data.ValueRange.W)) - Data.ValueRange.Y) / Size.Y) * 255.f);
+				Color.B = 0;
+				if(Value.X < Data.ValueRange.X || Value.X > Data.ValueRange.Z || Value.Y < Data.ValueRange.Y || Value.Y > Data.ValueRange.W)
+				{
+					Color.A = 0;
+				}
+				else
+				{
+					Color.A = 255;
+				}
+			}
+		});
+
+		FIntPoint Resolution = Data.Resolution;
+		AsyncTask(ENamedThreads::GameThread, [Resource, WeakeTexture, Resolution, Format, Colors = MoveTemp(Colors)]()
+		{
+			if (!WeakeTexture.IsValid())
+				return;
+#if ENGINE_MAJOR_VERSION == 5 
+			FTexturePlatformData* PlatformData = WeakeTexture->GetPlatformData();
+#else
+			FTexturePlatformData* PlatformData = WeakeTexture->PlatformData;
+#endif
+			PlatformData->SizeX = Resolution.X;
+			PlatformData->SizeY = Resolution.Y;
+
+			int32 NumBlocksX = Resolution.X / GPixelFormats[Format].BlockSizeX;
+			int32 NumBlocksY = Resolution.Y / GPixelFormats[Format].BlockSizeY;
+
+			PlatformData->Mips[0].SizeX = Resolution.X;
+			PlatformData->Mips[0].SizeY = Resolution.Y;
+
+			PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
+			FColor* Buffer = (FColor*)PlatformData->Mips[0].BulkData.Realloc(NumBlocksX * NumBlocksY * GPixelFormats[Format].BlockBytes);
+			FMemory::Memcpy(Buffer, Colors.GetData(), Colors.Num() * sizeof(FColor));
+			PlatformData->Mips[0].BulkData.Unlock();
+
+			WeakeTexture->UpdateResource();
+
+			ENQUEUE_RENDER_COMMAND(GenerateFlowFieldsCommand)([Resource, WeakeTexture](FRHICommandListImmediate& RHICmdList)
+			{
+#if ENGINE_MAJOR_VERSION == 5 
+					Resource->FlowFieldMap = WeakeTexture->GetResource()->GetTexture2DRHI();
+#else
+					Resource->FlowFieldMap = WeakeTexture->Resource->GetTexture2DRHI();
+#endif
+			});
+		});
+	});
+
+	return Texture;
+}
+
+
+UTexture2D* FF2DRender::GenerateFlowField2D(TSharedRef<FFlowField2DResources, ESPMode::ThreadSafe> Resource, const FString& File)
+{
+	EPixelFormat Format = PF_B8G8R8A8;
+
+	UTexture2D* Texture = UTexture2D::CreateTransient(1, 1, Format);
+	Texture->AddressX = TextureAddress::TA_Clamp;
+	Texture->AddressY = TextureAddress::TA_Clamp;
+	Texture->CompressionSettings = TextureCompressionSettings::TC_VectorDisplacementmap;
+	Texture->NeverStream = true;
+	Texture->SRGB = false;
+	Texture->UpdateResource();
+
+	TWeakObjectPtr<UTexture2D> WeakeTexture = Texture;
+	AsyncTask(ENamedThreads::AnyBackgroundThreadNormalTask, [Resource, File, Format, WeakeTexture]()
+	{
+		if (!WeakeTexture.IsValid())
+			return;
+
+		TArray<uint8>Buffer;
+		FIntPoint Resolution;
+		if(!FF2DRender::LoadFlowFieldMap(File, Buffer, Resolution) || Resolution.X == 0 || Resolution.Y == 0)
+			return;
+
+		AsyncTask(ENamedThreads::GameThread, [Resource, WeakeTexture, Resolution, Format, Buffer = MoveTemp(Buffer)]()
+		{
+			if(!WeakeTexture.IsValid())
+				return;
+#if ENGINE_MAJOR_VERSION == 5 
+			FTexturePlatformData* PlatformData = WeakeTexture->GetPlatformData();
+#else
+			FTexturePlatformData* PlatformData = WeakeTexture->PlatformData;
+#endif
+
+			PlatformData->SizeX = Resolution.X;
+			PlatformData->SizeY = Resolution.Y;
+
+			int32 NumBlocksX = Resolution.X / GPixelFormats[Format].BlockSizeX;
+			int32 NumBlocksY = Resolution.Y / GPixelFormats[Format].BlockSizeY;
+
+			PlatformData->Mips[0].SizeX = Resolution.X;
+			PlatformData->Mips[0].SizeY = Resolution.Y;
+
+			PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
+			uint8* Colors = (uint8*)PlatformData->Mips[0].BulkData.Realloc(NumBlocksX * NumBlocksY * GPixelFormats[Format].BlockBytes);
+			FMemory::Memcpy(Colors, Buffer.GetData(), Buffer.Num());
+			PlatformData->Mips[0].BulkData.Unlock();
+			WeakeTexture->UpdateResource();
+
+			ENQUEUE_RENDER_COMMAND(GenerateFlowFieldsCommand)([Resource, WeakeTexture](FRHICommandListImmediate& RHICmdList)
+			{
+#if ENGINE_MAJOR_VERSION == 5 
+					Resource->FlowFieldMap = WeakeTexture->GetResource()->GetTexture2DRHI();
+#else
+					Resource->FlowFieldMap = WeakeTexture->Resource->GetTexture2DRHI();
+#endif
+			});
+		});
+	});
+
+	return Texture;
+}
+
+
+void FF2DRender::GenerateFlowParticles(TSharedRef<FFlowField2DResources, ESPMode::ThreadSafe> Resource, const int32 NumParticles)
+{
+	AsyncTask(ENamedThreads::AnyBackgroundThreadNormalTask, [Resource, NumParticles]()
+	{
+		uint32 RandomCounts = NumParticles;
+
+#if FF2D_USE_COMPUTE
+	#if ENGINE_MAJOR_VERSION == 5 
+		TResourceArray<FVector2f> Particles;
+	#else
+		TResourceArray<FVector2D> Particles;
+	#endif
+		Particles.SetNumUninitialized(NumParticles);
+#else
+	#if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1
+		TArray<FColor> Particles;
+		uint32 ParticleSize = FMath::CeilToInt(FMath::Sqrt(static_cast<float>(NumParticles)));
+		RandomCounts = ParticleSize * ParticleSize;
+		Particles.SetNumUninitialized(RandomCounts);
+	#else
+		TResourceArray<FColor> Particles;
+		uint32 ParticleSize = FMath::CeilToInt(FMath::Sqrt(static_cast<float>(NumParticles)));
+		RandomCounts = ParticleSize * ParticleSize;
+		Particles.SetNumUninitialized(RandomCounts);
+	#endif
+#endif
+
+		ParallelFor(RandomCounts, [&](int32 Index)
+		{
+			check(!IsInGameThread() && !IsInRenderingThread());
+#if FF2D_USE_COMPUTE
+	#if ENGINE_MAJOR_VERSION == 5 
+			Particles[Index] = FVector2f(FMath::RandRange(0.f, 1.f), FMath::RandRange(0.f, 1.f));
+	#else
+			Particles[Index] = FVector2D(FMath::RandRange(0.f, 1.f), FMath::RandRange(0.f, 1.f));
+	#endif
+#else
+			FColor& Particle = Particles[Index];
+			Particle.R = FMath::RoundToInt(FMath::RandRange(0.f, 1.f) * 255.f);
+			Particle.G = FMath::RoundToInt(FMath::RandRange(0.f, 1.f) * 255.f);
+			Particle.B = FMath::RoundToInt(FMath::RandRange(0.f, 1.f) * 255.f);
+			Particle.A = FMath::RoundToInt(FMath::RandRange(0.f, 1.f) * 255.f);
+#endif
+		});
+#if FF2D_USE_COMPUTE
+		ENQUEUE_RENDER_COMMAND(GenerateFlowParticlesCommand)([Resource, NumParticles, Particles = MoveTemp(Particles)]
+#else
+		ENQUEUE_RENDER_COMMAND(GenerateFlowParticlesCommand)([Resource, ParticleSize, NumParticles, Particles = MoveTemp(Particles)]
+#endif
+		(FRHICommandListImmediate& RHICmdList)
+		{
+			TResourceArray<FFlowVertex> Vertices;
+			Vertices.SetNumUninitialized(4);
+
+			TResourceArray<uint32> Indices;
+			Indices.SetNumUninitialized(6);
+
+			Vertices[0] = FFlowVertex(FVector4(-1.0, -1.0, 0.0, 1.0));
+			Vertices[1] = FFlowVertex(FVector4(1.0, -1.0, 0.0, 1.0));
+			Vertices[2] = FFlowVertex(FVector4(1.0, 1.0, 0.0, 1.0));
+			Vertices[3] = FFlowVertex(FVector4(-1.0, 1.0, 0.0, 1.0));
+
+			Indices[0] = 0;
+			Indices[1] = 1;
+			Indices[2] = 2;
+			Indices[3] = 0;
+			Indices[4] = 2;
+			Indices[5] = 3;
+
+#if ENGINE_MAJOR_VERSION == 5 
+	#if ENGINE_MINOR_VERSION > 2
+			FRHIResourceCreateInfo VerticesCreateInfo(TEXT("FF2DParticleVerts"), &Vertices);
+			Resource->VertexBuffer = RHICmdList.CreateVertexBuffer(Vertices.GetResourceDataSize(), BUF_Static, VerticesCreateInfo);
+
+			FRHIResourceCreateInfo IndicesCreateInfo(TEXT("FF2DParticleTris"), &Indices);
+			Resource->IndexBuffer = RHICmdList.CreateIndexBuffer(sizeof(uint32), Indices.GetResourceDataSize(), BUF_Static, IndicesCreateInfo);
+	#else
+			FRHIResourceCreateInfo VerticesCreateInfo(TEXT("FF2DParticleVerts"), &Vertices);
+			Resource->VertexBuffer = RHICreateVertexBuffer(Vertices.GetResourceDataSize(), BUF_Static, VerticesCreateInfo);
+
+			FRHIResourceCreateInfo IndicesCreateInfo(TEXT("FF2DParticleTris"), &Indices);
+			Resource->IndexBuffer = RHICreateIndexBuffer(sizeof(uint32), Indices.GetResourceDataSize(), BUF_Static, IndicesCreateInfo);
+	#endif
+
+#else
+			FRHIResourceCreateInfo VerticesCreateInfo(&Vertices);
+			Resource->VertexBuffer = RHICreateVertexBuffer(Vertices.GetResourceDataSize(), BUF_Static, VerticesCreateInfo);
+
+			FRHIResourceCreateInfo IndicesCreateInfo(&Indices);
+			Resource->IndexBuffer = RHICreateIndexBuffer(sizeof(uint32), Indices.GetResourceDataSize(), BUF_Static, IndicesCreateInfo);
+#endif
+
+
+#if FF2D_USE_COMPUTE
+	#if ENGINE_MAJOR_VERSION == 5 
+			FRHIResourceCreateInfo ParticlesCreateInfo(TEXT("FF2DParticles"), const_cast<TResourceArray<FVector2f>*>(&Particles));
+	#else
+			FRHIResourceCreateInfo ParticlesCreateInfo(const_cast<TResourceArray<FVector2D>*>(&Particles));
+	#endif
+			Resource->Particles = RHICreateStructuredBuffer(sizeof(FVector2D), Particles.GetResourceDataSize(), BUF_Static | BUF_UnorderedAccess | BUF_ShaderResource, ParticlesCreateInfo);
+			Resource->SRV_Particles = RHICreateShaderResourceView(Resource->Particles);
+			Resource->UAV_Particles = RHICreateUnorderedAccessView(Resource->Particles, false, false);
+#else
+	#if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 1
+			class FFlowField2DParticlesBulkData : public FResourceBulkDataInterface
+			{
+			public:
+				FFlowField2DParticlesBulkData(const FColor* Data, uint32 Num):Particles(Data),NumParticles(Num){}
+			public:
+				virtual const void* GetResourceBulkData() const{return Particles;}
+				virtual uint32 GetResourceBulkDataSize() const{return NumParticles * sizeof(FColor);}
+				virtual void Discard(){}
+			private:
+				const FColor* Particles = nullptr;
+				uint32 NumParticles = 0;
+			};
+			FFlowField2DParticlesBulkData ParticlesBulkData(Particles.GetData(),Particles.Num());
+			FRHITextureCreateDesc Desc =
+			FRHITextureCreateDesc::Create2D(TEXT("FF2DParticles"), FIntPoint(ParticleSize, ParticleSize), PF_B8G8R8A8)
+			.SetFlags(ETextureCreateFlags::RenderTargetable | ETextureCreateFlags::ShaderResource)
+			.SetBulkData(&ParticlesBulkData);
+
+			Resource->Particles[0] = RHICreateTexture(Desc);
+			Resource->Particles[1] = RHICreateTexture(Desc);
+	#else
+		#if ENGINE_MAJOR_VERSION == 5 
+			FRHIResourceCreateInfo ParticlesCreateInfo(TEXT("FF2DParticles"), const_cast<TResourceArray<FColor>*>(&Particles));
+		#else
+			FRHIResourceCreateInfo ParticlesCreateInfo(const_cast<TResourceArray<FColor>*>(&Particles));
+		#endif
+			Resource->Particles[0] = RHICreateTexture2D(ParticleSize, ParticleSize, EPixelFormat::PF_B8G8R8A8, 1, 1, TexCreate_RenderTargetable | TexCreate_ShaderResource, ParticlesCreateInfo);
+			Resource->Particles[1] = RHICreateTexture2D(ParticleSize, ParticleSize, EPixelFormat::PF_B8G8R8A8, 1, 1, TexCreate_RenderTargetable | TexCreate_ShaderResource, ParticlesCreateInfo);
+	#endif
+	#if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION > 2
+			Resource->SRV_Particles[0] = RHICmdList.CreateShaderResourceView(Resource->Particles[0], 0u);
+			Resource->SRV_Particles[1] = RHICmdList.CreateShaderResourceView(Resource->Particles[1], 0u);
+	#else
+			Resource->SRV_Particles[0] = RHICreateShaderResourceView(Resource->Particles[0], 0u);
+			Resource->SRV_Particles[1] = RHICreateShaderResourceView(Resource->Particles[1], 0u);
+	#endif
+			RHICmdList.Transition(FRHITransitionInfo(Resource->Particles[0], ERHIAccess::Unknown, ERHIAccess::SRVMask));
+			RHICmdList.Transition(FRHITransitionInfo(Resource->Particles[1], ERHIAccess::Unknown, ERHIAccess::SRVMask));
+#endif
+			Resource->NumParticles = NumParticles;
+		});
+	});
+}
+
+
+void FF2DRender::DrawTexture_RenderThread(class FRHICommandListImmediate& RHICmdList, IRendererModule* RendererModule, 
+FShaderResourceViewRHIRef Texture, FTexture2DRHIRef RenderTarget, float FadeOpacity, const float FadeOutOpacity)
+{
+	RHICmdList.Transition(FRHITransitionInfo(RenderTarget, ERHIAccess::Unknown, ERHIAccess::RTV));
+	FRHIRenderPassInfo PassInfo(RenderTarget, ERenderTargetActions::Load_Store);
+	RHICmdList.BeginRenderPass(PassInfo, TEXT("FlowFiledDrawTexture"));
+	RHICmdList.SetViewport(0, 0, 0, RenderTarget->GetSizeX(), RenderTarget->GetSizeY(), 1.f);
+
+	FGlobalShaderMap* GlobalShaderMap = GetGlobalShaderMap(GMaxRHIFeatureLevel);
+	TShaderMapRef<FScreenVS> VertexShader(GlobalShaderMap);
+	TShaderMapRef<FFlowFiled2DScreenPS> PixelShader(GlobalShaderMap);
+
+	FGraphicsPipelineStateInitializer PSOIniter;
+	PSOIniter.DepthStencilState = TStaticDepthStencilState<false, CF_Always>::GetRHI();
+	PSOIniter.BlendState = TStaticBlendState<CW_RGBA, BO_Add, BF_One, BF_Zero, BO_Add, BF_One, BF_Zero>::GetRHI();
+	PSOIniter.RasterizerState = TStaticRasterizerState<>::GetRHI();
+	PSOIniter.PrimitiveType = PT_TriangleList;
+
+	PSOIniter.BoundShaderState.VertexDeclarationRHI = GFilterVertexDeclaration.VertexDeclarationRHI;
+	PSOIniter.BoundShaderState.VertexShaderRHI = VertexShader.GetVertexShader();
+	PSOIniter.BoundShaderState.PixelShaderRHI = PixelShader.GetPixelShader();
+
+	RHICmdList.ApplyCachedRenderTargets(PSOIniter);
+#if ENGINE_MAJOR_VERSION == 5 
+	SetGraphicsPipelineState(RHICmdList, PSOIniter, 0);
+#else
+	SetGraphicsPipelineState(RHICmdList, PSOIniter);
+#endif
+
+	{
+		FFlowFiled2DScreenPS::FParameters Parameters;
+		Parameters.Texture = Texture;
+		Parameters.FadeOpacity = FadeOpacity;
+		Parameters.FadeOutOpacity = FadeOutOpacity;
+		SetShaderParameters(RHICmdList, PixelShader, PixelShader.GetPixelShader(), Parameters);
+	}
+
+	RendererModule->DrawRectangle
+	(
+		RHICmdList,
+		0, 0, RenderTarget->GetSizeX(), RenderTarget->GetSizeY(),
+		0, 0, 1, 1,
+		RenderTarget->GetSizeXY(), FIntPoint(1, 1),
+		VertexShader,
+		EDRF_Default
+	);
+
+	RHICmdList.EndRenderPass();
+	RHICmdList.Transition(FRHITransitionInfo(RenderTarget, ERHIAccess::Unknown, ERHIAccess::SRVMask));
+}
+
+
+void FF2DRender::DrawParticles(TSharedRef<FFlowField2DResources, ESPMode::ThreadSafe> Resource, const uint32 ParticleSize, const FVector4 SpeedRange)
+{
+	ENQUEUE_RENDER_COMMAND(FlowFieldDrawParticlesCommand)([Resource, ParticleSize, SpeedRange](FRHICommandListImmediate& RHICmdList)
+	{
+		FTexture2DRHIRef RenderTarget = Resource->RenderTarget[0];
+		RHICmdList.Transition(FRHITransitionInfo(RenderTarget, ERHIAccess::Unknown, ERHIAccess::RTV));
+		FRHIRenderPassInfo PassInfo(RenderTarget, ERenderTargetActions::Load_Store);
+		RHICmdList.BeginRenderPass(PassInfo, TEXT("FlowFiledPass"));
+		RHICmdList.SetViewport(0, 0, 0, RenderTarget->GetSizeX(), RenderTarget->GetSizeY(), 1.f);
+
+		FGlobalShaderMap* GlobalShaderMap = GetGlobalShaderMap(GMaxRHIFeatureLevel);
+		TShaderMapRef<FFlowFiled2DVS> VertexShader(GlobalShaderMap);
+		TShaderMapRef<FFlowFiled2DPS> PixelShader(GlobalShaderMap);
+
+		FGraphicsPipelineStateInitializer PSOIniter;
+		PSOIniter.DepthStencilState = TStaticDepthStencilState<false, CF_Always>::GetRHI();
+		PSOIniter.BlendState = TStaticBlendState<CW_RGBA, BO_Add, BF_One, BF_Zero, BO_Add, BF_One, BF_Zero>::GetRHI();
+		PSOIniter.RasterizerState = TStaticRasterizerState<>::GetRHI();
+		PSOIniter.PrimitiveType = PT_TriangleList;
+
+		PSOIniter.BoundShaderState.VertexDeclarationRHI = GFlowParticleVertexDeclaration.VertexDeclarationRHI;
+		PSOIniter.BoundShaderState.VertexShaderRHI = VertexShader.GetVertexShader();
+		PSOIniter.BoundShaderState.PixelShaderRHI = PixelShader.GetPixelShader();
+
+		RHICmdList.ApplyCachedRenderTargets(PSOIniter);
+#if ENGINE_MAJOR_VERSION == 5 
+		SetGraphicsPipelineState(RHICmdList, PSOIniter, 0);
+#else
+		SetGraphicsPipelineState(RHICmdList, PSOIniter);
+#endif
+
+		{
+			FFlowFiled2DVS::FParameters Parameters;
+#if FF2D_USE_COMPUTE
+			Parameters.Particles = Resource->SRV_Particles;
+#else
+			Parameters.Particles = Resource->SRV_Particles[0];
+			Parameters.ParticlesResolution = Resource->Particles[0]->GetSizeXY();
+#endif
+#if ENGINE_MAJOR_VERSION == 5 
+			Parameters.QuadSize = FVector2f(ParticleSize, ParticleSize) / FVector2f(RenderTarget->GetSizeX(), RenderTarget->GetSizeY());
+#else
+			Parameters.QuadSize = FVector2D(ParticleSize, ParticleSize) / FVector2D(RenderTarget->GetSizeX(), RenderTarget->GetSizeY());
+#endif
+			SetShaderParameters(RHICmdList, VertexShader, VertexShader.GetVertexShader(), Parameters);
+		}
+
+		{
+			FFlowFiled2DPS::FParameters Parameters;
+			Parameters.FlowFieldMap = Resource->FlowFieldMap;
+			Parameters.FlowFieldMapSampler = TStaticSamplerState<SF_Bilinear, AM_Clamp, AM_Clamp, AM_Clamp>::GetRHI();
+#if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION > 2
+			Parameters.ColorMap = Resource->ColorMap.IsValid() ? Resource->ColorMap : GWhiteTexture->TextureRHI;
+#else
+			Parameters.ColorMap = Resource->ColorMap.IsValid() ? Resource->ColorMap->GetTexture2D() : GWhiteTexture->TextureRHI->GetTexture2D();
+#endif
+			Parameters.ColorMapSampler = TStaticSamplerState<SF_Point, AM_Clamp, AM_Clamp, AM_Clamp>::GetRHI();
+#if ENGINE_MAJOR_VERSION == 5 
+			Parameters.SpeedRange = FVector4f(SpeedRange);
+#else
+			Parameters.SpeedRange = SpeedRange;
+#endif
+			SetShaderParameters(RHICmdList, PixelShader, PixelShader.GetPixelShader(), Parameters);
+		}
+
+		RHICmdList.SetStreamSource(0, Resource->VertexBuffer, 0);
+		RHICmdList.DrawIndexedPrimitive(Resource->IndexBuffer, 0, 0, 4, 0, 2, Resource->NumParticles);
+ 		RHICmdList.EndRenderPass();
+		RHICmdList.Transition(FRHITransitionInfo(RenderTarget, ERHIAccess::Unknown, ERHIAccess::SRVMask));
+	});
+}
+
+
+void FF2DRender::UpdateParticles(TSharedRef<FFlowField2DResources, ESPMode::ThreadSafe> Resource, 
+const FVector4 SpeedRange, const float SpeedFactor, const float RandomRate, const float DropRate, bool bSphericalDomain)
+{
+#if FF2D_USE_COMPUTE
+	ENQUEUE_RENDER_COMMAND(FlowFieldUpdateParticlesCommand)([=](FRHICommandListImmediate& RHICmdList)
+	{
+		Resource->SwapRenderTarget();
+
+		int32 GroupSize = FMath::CeilToInt(Resource->NumParticles / (float)FUpdateFlowParticleCS::GetGroupSize());
+
+		FUpdateFlowParticleCS::FParameters Parameters;
+		Parameters.RWParticles = Resource->UAV_Particles;
+		Parameters.FlowFieldMap = Resource->FlowFieldMap;
+		Parameters.FlowFieldMapSampler = TStaticSamplerState<SF_Bilinear, AM_Clamp, AM_Clamp, AM_Clamp>::GetRHI();
+		Parameters.FlowFieldMapResolution = Resource->FlowFieldMap->GetSizeXY();
+		Parameters.NumParticles = Resource->NumParticles;
+		Parameters.RandomSeed = FMath::RandRange(0.f, 1.f);
+		Parameters.NumParticlesSqrt = FMath::CeilToInt(FMath::Sqrt(static_cast<float>(Parameters.NumParticles)));
+#if ENGINE_MAJOR_VERSION == 5 
+		Parameters.SpeedRange = FVector4f(SpeedRange);
+#else
+		Parameters.SpeedRange = SpeedRange;
+#endif
+		Parameters.SpeedFactor = SpeedFactor;
+		Parameters.RandomRate = RandomRate;
+		Parameters.DropRate = DropRate;
+		Parameters.Spherical = bSphericalDomain ? 1.f : 0.f;
+		 
+		FGlobalShaderMap* GlobalShaderMap = GetGlobalShaderMap(GMaxRHIFeatureLevel);
+		TShaderMapRef<FUpdateFlowParticleCS> ComputerShader(GlobalShaderMap);
+#if ENGINE_MAJOR_VERSION == 5 
+		SetComputePipelineState(RHICmdList, ComputerShader.GetComputeShader());
+#else
+		RHICmdList.SetComputeShader(ComputerShader.GetComputeShader());
+#endif
+		SetShaderParameters(RHICmdList, ComputerShader, ComputerShader.GetComputeShader(), Parameters);
+
+		DispatchComputeShader(RHICmdList, ComputerShader, GroupSize, 1, 1);
+		UnsetShaderUAVs(RHICmdList, ComputerShader, ComputerShader.GetComputeShader());
+	});
+#else
+	ENQUEUE_RENDER_COMMAND(FlowFieldUpdateParticlesCommand)([=](FRHICommandListImmediate& RHICmdList)
+	{
+		Resource->SwapRenderTarget();
+
+		FTexture2DRHIRef RenderTarget = Resource->Particles[1];
+		RHICmdList.Transition(FRHITransitionInfo(RenderTarget, ERHIAccess::Unknown, ERHIAccess::RTV));
+		FRHIRenderPassInfo PassInfo(RenderTarget, ERenderTargetActions::Load_Store);
+		RHICmdList.BeginRenderPass(PassInfo, TEXT("FlowFiledDrawTexture"));
+		RHICmdList.SetViewport(0, 0, 0, RenderTarget->GetSizeX(), RenderTarget->GetSizeY(), 1.f);
+
+		FGlobalShaderMap* GlobalShaderMap = GetGlobalShaderMap(GMaxRHIFeatureLevel);
+		TShaderMapRef<FScreenVS> VertexShader(GlobalShaderMap);
+		TShaderMapRef<FUpdateFlowParticlePS> PixelShader(GlobalShaderMap);
+
+		FGraphicsPipelineStateInitializer PSOIniter;
+		PSOIniter.DepthStencilState = TStaticDepthStencilState<false, CF_Always>::GetRHI();
+		PSOIniter.BlendState = TStaticBlendState<CW_RGBA, BO_Add, BF_One, BF_Zero, BO_Add, BF_One, BF_Zero>::GetRHI();
+		PSOIniter.RasterizerState = TStaticRasterizerState<>::GetRHI();
+		PSOIniter.PrimitiveType = PT_TriangleList;
+
+		PSOIniter.BoundShaderState.VertexDeclarationRHI = GFilterVertexDeclaration.VertexDeclarationRHI;
+		PSOIniter.BoundShaderState.VertexShaderRHI = VertexShader.GetVertexShader();
+		PSOIniter.BoundShaderState.PixelShaderRHI = PixelShader.GetPixelShader();
+
+		RHICmdList.ApplyCachedRenderTargets(PSOIniter);
+#if ENGINE_MAJOR_VERSION == 5 
+		SetGraphicsPipelineState(RHICmdList, PSOIniter, 0);
+#else
+		SetGraphicsPipelineState(RHICmdList, PSOIniter);
+#endif
+
+		{
+			FUpdateFlowParticlePS::FParameters Parameters;
+			Parameters.Particles = Resource->SRV_Particles[0];
+			Parameters.FlowFieldMap = Resource->FlowFieldMap;
+			Parameters.FlowFieldMapSampler = TStaticSamplerState<SF_Bilinear, AM_Clamp, AM_Clamp, AM_Clamp>::GetRHI();
+			Parameters.FlowFieldMapResolution = Resource->FlowFieldMap->GetSizeXY();
+			Parameters.ParticlesResolution = RenderTarget->GetSizeXY();
+			Parameters.RandomSeed = FMath::RandRange(0.f, 1.f);
+#if ENGINE_MAJOR_VERSION == 5 
+			Parameters.SpeedRange = FVector4f(SpeedRange);
+#else
+			Parameters.SpeedRange = SpeedRange;
+#endif
+			Parameters.SpeedFactor = SpeedFactor;
+			Parameters.RandomRate = RandomRate;
+			Parameters.DropRate = DropRate;
+			Parameters.Spherical = bSphericalDomain ? 1.f : 0.f;
+			SetShaderParameters(RHICmdList, PixelShader, PixelShader.GetPixelShader(), Parameters);
+		}
+
+		Resource->RendererModule->DrawRectangle
+		(
+			RHICmdList,
+			0, 0, RenderTarget->GetSizeX(), RenderTarget->GetSizeY(),
+			0, 0, 1, 1,
+			RenderTarget->GetSizeXY(), FIntPoint(1, 1),
+			VertexShader,
+			EDRF_Default
+		);
+
+		RHICmdList.EndRenderPass();
+		RHICmdList.Transition(FRHITransitionInfo(RenderTarget, ERHIAccess::Unknown, ERHIAccess::SRVMask));
+		Resource->SwapParticles();
+		RHICmdList.Transition(FRHITransitionInfo(Resource->Particles[0], ERHIAccess::RTV, ERHIAccess::SRVMask));
+	});
+#endif
+}
+
+
+void FF2DRender::FadeOutParticles(TSharedRef<FFlowField2DResources, ESPMode::ThreadSafe> Resource, const float FadeOpacity, const float FadeOutOpacity)
+{
+	ENQUEUE_RENDER_COMMAND(FlowFieldFadeOutCommand)([Resource, FadeOpacity, FadeOutOpacity](FRHICommandListImmediate& RHICmdList)
+	{
+		FTexture2DRHIRef RenderTarget = Resource->RenderTarget[1];
+		DrawTexture_RenderThread(RHICmdList, Resource->RendererModule, Resource->SRV_RenderTarget[0], Resource->RenderTarget[1], FadeOpacity, FadeOutOpacity);
+	});
+}
+
+
+void FF2DRender::DrawScreen(TSharedRef<FFlowField2DResources, ESPMode::ThreadSafe> Resource)
+{
+	ENQUEUE_RENDER_COMMAND(FlowFieldDrawScreenCommand)([Resource](FRHICommandListImmediate& RHICmdList)
+	{
+		FTexture2DRHIRef RenderTarget = Resource->Output;
+		DrawTexture_RenderThread(RHICmdList, Resource->RendererModule, Resource->SRV_RenderTarget[0], RenderTarget, 1.f, 0.f);
+	});
+}
+
+
+void FF2DRender::ClearTexture(FRHICommandListImmediate& RHICmdList, FTexture2DRHIRef Texture, const FLinearColor ClearColor)
+{
+	FRHIRenderPassInfo RPInfo(Texture, ERenderTargetActions::DontLoad_Store);
+	TransitionRenderPassTargets(RHICmdList, RPInfo);
+	RHICmdList.BeginRenderPass(RPInfo, TEXT("FlowFieldClear"));
+	DrawClearQuad(RHICmdList, ClearColor);
+	RHICmdList.EndRenderPass();
+	RHICmdList.Transition(FRHITransitionInfo(Texture, ERHIAccess::Unknown, ERHIAccess::SRVMask));
+}
+
+
+void FF2DRender::CopyTexture_RenderThread(class FRHICommandListImmediate& RHICmdList, FTexture2DRHIRef Src, FTexture2DRHIRef Dest)
+{
+	FRHITransitionInfo Transitions[] =
+	{
+		FRHITransitionInfo(Src, ERHIAccess::Unknown, ERHIAccess::CopySrc),
+		FRHITransitionInfo(Dest, ERHIAccess::Unknown, ERHIAccess::CopyDest)
+	};
+	RHICmdList.Transition(MakeArrayView(Transitions, UE_ARRAY_COUNT(Transitions)));
+
+	FRHICopyTextureInfo CopyInfo;
+	RHICmdList.CopyTexture(Src, Dest, CopyInfo);
+
+	FRHITransitionInfo Transitions2[] =
+	{
+		FRHITransitionInfo(Src, ERHIAccess::CopySrc, ERHIAccess::SRVMask),
+		FRHITransitionInfo(Dest, ERHIAccess::CopyDest, ERHIAccess::SRVMask)
+	};
+	RHICmdList.Transition(MakeArrayView(Transitions2, UE_ARRAY_COUNT(Transitions2)));
+}

+ 22 - 0
Plugins/FlowField2D/Source/FlowField2D/Private/FlowField2D.cpp

@@ -0,0 +1,22 @@
+// Copyright 2023 ZSttt, Inc. All Rights Reserved.
+
+#include "FlowField2D.h"
+#include "Interfaces/IPluginManager.h"
+#define LOCTEXT_NAMESPACE "FFlowField2DModule"
+
+void FFlowField2DModule::StartupModule()
+{
+	// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module
+	FString PluginShaderDir = FPaths::Combine(IPluginManager::Get().FindPlugin(TEXT("FlowField2D"))->GetBaseDir(), TEXT("Shaders"));
+	AddShaderSourceDirectoryMapping(TEXT("/Plugin/FlowField2D"), PluginShaderDir);
+}
+
+void FFlowField2DModule::ShutdownModule()
+{
+	// This function may be called during shutdown to clean up your module.  For modules that support dynamic reloading,
+	// we call this function before unloading the module.
+}
+
+#undef LOCTEXT_NAMESPACE
+	
+IMPLEMENT_MODULE(FFlowField2DModule, FlowField2D)

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません