diff --git a/Source/ActorSpawningPlugin/Private/SpawningActor.cpp b/Source/ActorSpawningPlugin/Private/SpawningActor.cpp index ba24634..36bf3fc 100644 --- a/Source/ActorSpawningPlugin/Private/SpawningActor.cpp +++ b/Source/ActorSpawningPlugin/Private/SpawningActor.cpp @@ -66,9 +66,6 @@ ASpawnableStaticMeshActor* ASpawningActor::SpawnStaticMeshActor() ASpawnableSkeletalMeshActor* ASpawningActor::SpawnSkeletalMeshActor() { - FActorSpawnParameters actorSpawnParams; - actorSpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; - FVector playerLocation = LookupPlayerLocation(); // Teleport actor randomly @@ -83,6 +80,14 @@ ASpawnableSkeletalMeshActor* ASpawningActor::SpawnSkeletalMeshActor() playerLocation.Z + z ); + return SpawnSkeletalMeshActorAtLocation(location); +} + +ASpawnableSkeletalMeshActor* ASpawningActor::SpawnSkeletalMeshActorAtLocation(FVector location) +{ + FActorSpawnParameters actorSpawnParams; + actorSpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; + FRotator rotation; ASpawnableSkeletalMeshActor* spawnedActor = diff --git a/Source/ActorSpawningPlugin/Public/SpawningActor.h b/Source/ActorSpawningPlugin/Public/SpawningActor.h index 4f2f603..f329bf0 100644 --- a/Source/ActorSpawningPlugin/Public/SpawningActor.h +++ b/Source/ActorSpawningPlugin/Public/SpawningActor.h @@ -32,6 +32,10 @@ public: UFUNCTION(BlueprintCallable, Category = "SpawningActor") ASpawnableSkeletalMeshActor* SpawnSkeletalMeshActor(); + /** Create skeletal mesh actor at location. */ + UFUNCTION(BlueprintCallable, Category = "SpawningActor") + ASpawnableSkeletalMeshActor* SpawnSkeletalMeshActorAtLocation(FVector location); + /** Create sound actor. */ UFUNCTION(BlueprintCallable, Category = "SpawningActor") ASoundSpawnActor* SpawnSoundActor();