Newer
Older
SkyFrontier-Project-IADE-UE4-3D / Source / SkyFrontier / Private / ScoreAttackGameMode.cpp
@Genexuz Genexuz on 13 Jan 2023 1 KB idk bro some BP polish fuck
#include "ScoreAttackGameMode.h"
#include "PointsComponent.h"
#include <Kismet/GameplayStatics.h>
#include "GameFramework/Controller.h"


AScoreAttackGameMode::AScoreAttackGameMode()
{
	GoalScore = 10;
}

void AScoreAttackGameMode::PostInitializeComponents()
{
	Super::PostInitializeComponents();

	TArray<AActor*> FoundActors;
	UGameplayStatics::GetAllActorsOfClass(GetWorld(), APawn::StaticClass(), FoundActors);
	
	if (FoundActors.Num() == 2)
	{
		Pawn1 = Cast<APawn>(FoundActors[0]);
		Pawn2 = Cast<APawn>(FoundActors[1]);

		if (Pawn1 && Pawn2)
		{
			PointsComponent1 = Pawn1->FindComponentByClass<UPointsComponent>();
			PointsComponent2 = Pawn2->FindComponentByClass<UPointsComponent>();
		}
	}
}

void AScoreAttackGameMode::BeginPlay()
{
	Super::BeginPlay();
	bGameEnded = false;
	UE_LOG(LogTemp, Warning, TEXT("IS THIS WORKING"));
}

void AScoreAttackGameMode::Tick(const float DeltaSeconds)
{
	Super::Tick(DeltaSeconds);

	if (PointsComponent1 && PointsComponent2 && !bGameEnded)
	{
		if (PointsComponent1->P1Points >= GoalScore)
		{
			UE_LOG(LogTemp, Warning, TEXT("Player 1 Wins!"));
			bGameEnded = true;
		}
		else if (PointsComponent2->P2Points >= GoalScore)
		{
			UE_LOG(LogTemp, Warning, TEXT("Player 2 Wins!"));
			bGameEnded = true;
		}
	}
}