Program Listing for File CPGameModeBase.h

Return to documentation for file (Source/Cartpole/CPGameModeBase.h)

// BSD 3-Clause License Copyright (c) 2021, Pierre Delaunay All rights reserved.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "CPGameModeBase.generated.h"

UCLASS()
class CARTPOLE_API ACPGameModeBase : public AGameModeBase
{
    GENERATED_BODY()

public:
    ACPGameModeBase();

    virtual void ResetLevel() override;

    virtual bool HasMatchEnded() const override;

    UFUNCTION(BlueprintCallable, Category = Game)
    virtual void GameOver();

protected:
    UFUNCTION(BlueprintImplementableEvent, Category = Game, meta = (DisplayName = "ResetLevel", ScriptName = "ResetLevel"))
    void K2_ResetLevel();

    UFUNCTION(BlueprintImplementableEvent, Category = Game, meta = (DisplayName = "OnGameOver", ScriptName = "OnGameOver"))
    void K2_OnGameOver();

    UPROPERTY(BlueprintReadOnly, Category = Game)
    uint32 bGameOver : 1;
};