Implemented some classes to unlock OLSGameMode's constructor

This commit is contained in:
LongLy 2025-01-14 13:35:23 -07:00
parent 7415b74e8f
commit b9b7e5344b
11 changed files with 127 additions and 25 deletions

View File

@ -5,27 +5,31 @@
#include "CommonUserSubsystem.h" #include "CommonUserSubsystem.h"
#include "GameMapsSettings.h" #include "GameMapsSettings.h"
#include "Characters/OLSCharacter.h"
#include "DataAssets/OLSExperienceDefinitionDataAsset.h" #include "DataAssets/OLSExperienceDefinitionDataAsset.h"
#include "DataAssets/OLSPawnDataAsset.h" #include "DataAssets/OLSPawnDataAsset.h"
#include "GameModes/OLSExperienceManagerComponent.h" #include "GameModes/OLSExperienceManagerComponent.h"
#include "GameModes/OLSGameState.h"
#include "Kismet/GameplayStatics.h" #include "Kismet/GameplayStatics.h"
#include "Player/OLSPlayerController.h"
#include "Player/OLSPlayerState.h" #include "Player/OLSPlayerState.h"
#include "Systems/OLSAssetManager.h" #include "Systems/OLSAssetManager.h"
#include "Systems/OLSGameSession.h"
#include "UI/OLSHUD.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(OLSGameMode) #include UE_INLINE_GENERATED_CPP_BY_NAME(OLSGameMode)
// AOLSGameMode::AOLSGameMode(const FObjectInitializer& objectInitializer) : Super(objectInitializer) AOLSGameMode::AOLSGameMode(const FObjectInitializer& objectInitializer) : Super(objectInitializer)
// { {
// // @TODO: Implement this. GameStateClass = AOLSGameState::StaticClass();
// // GameStateClass = ALyraGameState::StaticClass(); GameSessionClass = AOLSGameSession::StaticClass();
// // GameSessionClass = ALyraGameSession::StaticClass(); PlayerControllerClass = AOLSPlayerController::StaticClass();
// // PlayerControllerClass = ALyraPlayerController::StaticClass(); // ReplaySpectatorPlayerControllerClass = ALyraReplayPlayerController::StaticClass();
// // ReplaySpectatorPlayerControllerClass = ALyraReplayPlayerController::StaticClass(); PlayerStateClass = AOLSPlayerState::StaticClass();
// // PlayerStateClass = ALyraPlayerState::StaticClass(); DefaultPawnClass = AOLSCharacter::StaticClass();
// // DefaultPawnClass = ALyraCharacter::StaticClass(); HUDClass = AOLSHUD::StaticClass();
// // HUDClass = ALyraHUD::StaticClass(); }
// }
const UOLSPawnDataAsset* AOLSGameMode::GetPawnDataForController(const AController* controller) const const UOLSPawnDataAsset* AOLSGameMode::GetPawnDataForController(const AController* controller) const
{ {

View File

@ -0,0 +1,4 @@
// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action.
#include "GameModes/OLSGameState.h"

View File

@ -3,18 +3,23 @@
#include "ModularGameplayActors/OLSModularGameMode.h" #include "ModularGameplayActors/OLSModularGameMode.h"
AOLSModularGameModeBase::AOLSModularGameModeBase() #include "ModularGameplayActors/OLSModularCharacter.h"
#include "ModularGameplayActors/OLSModularGameState.h"
#include "ModularGameplayActors/OLSModularPlayerController.h"
#include "ModularGameplayActors/OLSModularPlayerState.h"
AOLSModularGameModeBase::AOLSModularGameModeBase(const FObjectInitializer& objectInitializer) : Super(objectInitializer)
{ {
// GameStateClass = AGSCModularGameStateBase::StaticClass(); GameStateClass = AOLSModularGameStateBase::StaticClass();
// PlayerControllerClass = AGSCModularPlayerController::StaticClass(); PlayerControllerClass = AOLSModularPlayerController::StaticClass();
// PlayerStateClass = APlayerState::StaticClass(); PlayerStateClass = AOLSModularPlayerState::StaticClass();
// DefaultPawnClass = AGSCModularCharacter::StaticClass(); DefaultPawnClass = AOLSModularCharacter::StaticClass();
} }
AOLSModularGameMode::AOLSModularGameMode() AOLSModularGameMode::AOLSModularGameMode(const FObjectInitializer& objectInitializer) : Super(objectInitializer)
{ {
// GameStateClass = AGSCModularGameState::StaticClass(); GameStateClass = AOLSModularGameStateBase::StaticClass();
// PlayerControllerClass = AGSCModularPlayerController::StaticClass(); PlayerControllerClass = AOLSModularPlayerController::StaticClass();
// PlayerStateClass = APlayerState::StaticClass(); PlayerStateClass = AOLSModularPlayerState::StaticClass();
// DefaultPawnClass = AGSCModularCharacter::StaticClass(); DefaultPawnClass = AOLSModularCharacter::StaticClass();
} }

View File

@ -0,0 +1,26 @@
// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action.
#include "Systems/OLSGameSession.h"
// Sets default values
AOLSGameSession::AOLSGameSession()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
}
// Called when the game starts or when spawned
void AOLSGameSession::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void AOLSGameSession::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}

View File

@ -0,0 +1,4 @@
// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action.
#include "UI/OLSHUD.h"

View File

@ -8,10 +8,12 @@
#include "Interfaces/OLSAnimationInterface.h" #include "Interfaces/OLSAnimationInterface.h"
#include "Interfaces/OLSMoveableInterface.h" #include "Interfaces/OLSMoveableInterface.h"
#include "Interfaces/OLSReplicatedMovableInterface.h" #include "Interfaces/OLSReplicatedMovableInterface.h"
#include "ModularGameplayActors/OLSModularCharacter.h"
#include "ModularGameplayActors/OLSModularPlayerStateCharacter.h"
#include "OLSCharacter.generated.h" #include "OLSCharacter.generated.h"
UCLASS() UCLASS()
class OLS_API AOLSCharacter : public ACharacter, class OLS_API AOLSCharacter : public AOLSModularPlayerStateCharacter,
public IOLSMoveableInterface, public IOLSMoveableInterface,
public IOLSAnimationInterface public IOLSAnimationInterface
{ {

View File

@ -28,7 +28,7 @@ class OLS_API AOLSGameMode : public AOLSModularGameModeBase
public: public:
// AOLSGameMode(const FObjectInitializer& objectInitializer); AOLSGameMode(const FObjectInitializer& objectInitializer);
UFUNCTION(BlueprintCallable, Category = "OLS|Pawn") UFUNCTION(BlueprintCallable, Category = "OLS|Pawn")
const class UOLSPawnDataAsset* GetPawnDataForController(const class AController* controller) const; const class UOLSPawnDataAsset* GetPawnDataForController(const class AController* controller) const;

View File

@ -0,0 +1,16 @@
// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action.
#pragma once
#include "CoreMinimal.h"
#include "ModularGameplayActors/OLSModularGameState.h"
#include "OLSGameState.generated.h"
/**
*
*/
UCLASS(Config = Game)
class OLS_API AOLSGameState : public AOLSModularGameState
{
GENERATED_BODY()
};

View File

@ -15,7 +15,7 @@ class OLS_API AOLSModularGameModeBase : public AGameModeBase
public: public:
AOLSModularGameModeBase(); AOLSModularGameModeBase(const FObjectInitializer& objectInitializer);
}; };
/** Pair this with a ModularGameState */ /** Pair this with a ModularGameState */
@ -26,5 +26,5 @@ class OLS_API AOLSModularGameMode : public AGameMode
public: public:
AOLSModularGameMode(); AOLSModularGameMode(const FObjectInitializer& objectInitializer);
}; };

View File

@ -0,0 +1,25 @@
// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/GameSession.h"
#include "OLSGameSession.generated.h"
UCLASS()
class OLS_API AOLSGameSession : public AGameSession
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AOLSGameSession();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
};

View File

@ -0,0 +1,16 @@
// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/HUD.h"
#include "OLSHUD.generated.h"
/**
*
*/
UCLASS()
class OLS_API AOLSHUD : public AHUD
{
GENERATED_BODY()
};