ошибки компилятора — Как создать собственный класс C ++ для использования с планом

Я пытаюсь создать собственный класс, который затем могу использовать в своих чертежах. Мне нужен этот класс для хранения информации об игроке, такой как имя и путь к их изображению. То, что я сделал до сих пор, не компилируется и не собирается без ошибок, и я не знаю, как это исправить, так как никогда не работал с этим

header file #pragma once

#include "Object.h"#include <iostream>
#include "PlayerClass.generated.h"
/**
*
*/
UCLASS()
class PROTOTYPE2_API UPlayerClass : public UObject
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Switch Variables");
string playerName;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Switch Variables")
string playerTeam;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Switch Variables")
string picPath;
UPlayerClass(const FObjectInitializer& ObjectInitializer);
UFUNCTION()
void importPic(string picPath);};

.файл cpp

#include "Prototype2.h"#include "PlayerClass.h"
UPlayerClass::UPlayerClass(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
playerName = "";
playerTeam = "";
picPath = "";
}

void UPlayerClass::importPic_Implementation(Fstring picPath)
{

}

2

Решение

я обнаружил, что моей функции importPic нужны

UFUNCTION(BlueprintCallable, Category = "Import")
virtual void ImportPic(const FString& Path);

и в зависимости от того, хотите ли вы, чтобы ваш класс отображался как переменная чертежа, или чтобы его можно было превратить в класс чертежа, вы можете изменить верхний заголовок на

UCLASS(BlueprintType) // for blueprint to show up as variable
UCLASS(Bleuprintable) // for blueprint to be able to be made as a blueprint class

код, который построил и скомпилировал:

заголовочный файл

#pragma once

#include "Object.h"
#include "PlayerClass.generated.h"
UCLASS(BlueprintType)
class PROTOTYPE2_API UPlayerClass : public UObject
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Player Variables")
FString playerName;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Player Variables")
FString playerTeam;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Player Variables")
FString picPath;
UPlayerClass(const FObjectInitializer& ObjectInitializer);
UFUNCTION(BlueprintCallable, Category = "Import")
virtual void ImportPic(const FString& Path);};

.CPP —

#include "Prototype2.h"#include "PlayerClass.h"
UPlayerClass::UPlayerClass(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
playerName = "";
playerTeam = "";
picPath = "";
}

void UPlayerClass::ImportPic(const FString& Path)
{

}
2

Другие решения


По вопросам рекламы [email protected]