mirror of
https://github.com/expvintl/cheat_escape_the_backrooms.git
synced 2026-10-10 21:23:14 +08:00
33 lines
1002 B
C++
33 lines
1002 B
C++
#include "item.h"
|
|
|
|
#include "gvalue.h"
|
|
|
|
void item::spawn(SDK::TSubclassOf<SDK::AActor> actor_class)
|
|
{
|
|
if (!gvalue::world || !gvalue::controller)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (!gvalue::controller->Pawn || !gvalue::controller->Pawn->IsA(SDK::ABPCharacter_Demo_C::StaticClass()))
|
|
{
|
|
return;
|
|
}
|
|
|
|
SDK::ABPCharacter_Demo_C* my_player = static_cast<SDK::ABPCharacter_Demo_C*>(gvalue::controller->Pawn);
|
|
|
|
SDK::FTransform trans;
|
|
trans.Translation = gvalue::controller->PlayerCameraManager->GetCameraLocation();
|
|
trans.Scale3D = SDK::FVector(1.0f, 1.0f, 1.0f);
|
|
|
|
SDK::AActor* new_actor = SDK::UGameplayStatics::BeginDeferredActorSpawnFromClass(
|
|
gvalue::world,
|
|
actor_class,
|
|
trans,
|
|
SDK::ESpawnActorCollisionHandlingMethod::AlwaysSpawn,
|
|
nullptr
|
|
);
|
|
SDK::UGameplayStatics::FinishSpawningActor(new_actor, trans);
|
|
SDK::ABP_DroppedItem_C* item = static_cast<SDK::ABP_DroppedItem_C*>(new_actor);
|
|
my_player->InvAdd(item);
|
|
} |