How to access function from Character from GameMode?

anonymous_user_44632261
Sat, 27 Feb 2016 12:55:45 +0000
Character & Animation

Hello,

I’d like to call the function GetNumResponses (inside my Character-class; gets the number of space-presses that the character has received so far) from my GameMode-class. However, that does not work. Could you please help me with that? Any help is really appreciated!

This is what I have so far:

PD6GameMode.cpp

void APD6GameMode::Tick(float DeltaSeconds)
{
Super::Tick(DeltaSeconds);

// get number of space presses that the character has received so far
APD6Character* TestPD6Character = Cast<APD6Character>(ACharacter); // ERROR: type name is not allowed
NumResponses = TestPD6Character->GetNumResponses();

}

PD6Character.h

UCLASS()
class PD6_API APD6Character : public ACharacter
{
GENERATED_BODY()

public:
// other code

    // public way to access the number of responses given by the character
    float GetNumResponses();

protected:
// NumResponses counts the space-presses
UPROPERTY()
float NumResponses;

// increase NumResponses when space key is pressed
UFUNCTION()
	void SetNumResponses();

}

PD6Character.cpp

// Sets default values
APD6Character::APD6Character()
{
PrimaryActorTick.bCanEverTick = true;
NumResponses = 0.f;
}

// Called to bind functionality to input
void APD6Character::SetupPlayerInputComponent(class UInputComponent* InputComponent)
{
InputComponent->BindAction(“GoalResponse”, IE_Pressed, this, &APD6Character::SetNumResponses);
}

void APD6Character::SetNumResponses()
{
NumResponses = NumResponses + 1.f;
}

float APD6Character::GetNumResponses()
{
return NumResponses;
}

3 posts - 1 participant