This commit is contained in:
2025-07-14 22:24:27 +08:00
parent daacc18ecf
commit 4af19ef574
7722 changed files with 72086 additions and 0 deletions

View File

@ -0,0 +1,54 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
/// Copyright 2019 (C) Bruno Xavier B. Leite
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "Runtime/Engine/Classes/Engine/Engine.h"
#include "PoolSpawnOptions.generated.h"
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOBJP_PoolEvent);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
UENUM(Category = "Object Pool", BlueprintType)
enum class EPoolCollisionType : uint8 {
NoCollision UMETA(DisplayName="No Collision"),
QueryOnly UMETA(DisplayName="Query Only (No Physics Collision)"),
PhysicsOnly UMETA(DisplayName="Physics Only (No Query Collision)"),
QueryAndPhysics UMETA(DisplayName="Collision Enabled (Query and Physics)"),
ProbeOnly UMETA(DisplayName="Probe Only (Contact Data, No Query or Physics)"),
QueryAndProbe UMETA(DisplayName="Query and Probe (Query and Contact Data, No Physics)"),
};
USTRUCT(Category = "Object Pool", BlueprintType, meta = (DisplayName = "Pool Spawn Options"))
struct OBJPOOL_API FPoolSpawnOptions {
GENERATED_BODY()
public:
UPROPERTY(Category = STRING_NONE, EditAnywhere, SaveGame, BlueprintReadWrite)
EPoolCollisionType CollisionType;
//
UPROPERTY(Category = STRING_NONE, EditAnywhere, SaveGame, BlueprintReadWrite)
bool EnableCollision;
//
UPROPERTY(Category = STRING_NONE, EditAnywhere, SaveGame, BlueprintReadWrite)
bool SimulatePhysics;
//
UPROPERTY(Category = STRING_NONE, EditAnywhere, SaveGame, BlueprintReadWrite)
bool ActorTickEnabled;
public:
FPoolSpawnOptions()
: CollisionType(EPoolCollisionType::QueryAndPhysics)
, EnableCollision(true)
, SimulatePhysics(true)
, ActorTickEnabled(true)
{}
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////