// Oleg Petruny proprietary.

#pragma once

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

#include "MainGameModeBase.generated.h"

UCLASS()
class AMainGameModeBase : public AGameModeBase
{
    GENERATED_BODY()

public:
    virtual void StartPlay() override;
    virtual bool SetPause(APlayerController* PC, FCanUnpause CanUnpauseDelegate = FCanUnpause()) override;

    void SwitchCameraMode();

    static class UWidgetsManager* GetWidgetManager();

protected:
    UPROPERTY(EditDefaultsOnly)
    TSubclassOf<class UWidgetsManager> widgetManagerClass;

private:
    static class UWidgetsManager* _widgetsManager;
};
