// Copyright Epic Games, Inc. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "CM_Shelving.h"
#include "GameFramework/GameModeBase.h"
#include "CorruptedMemoryGameMode.generated.h"

UCLASS(minimalapi)
class ACorruptedMemoryGameMode : public AGameModeBase
{
	GENERATED_BODY()

public:
	ACorruptedMemoryGameMode();
	virtual void PostLogin(APlayerController* NewPlayer) override;

	UFUNCTION(Server, Reliable)
	void ServerSpawnPlayer(APlayerController* PlayerController);

protected:
	virtual void BeginPlay() override;

private:
	UPROPERTY(BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
	TArray<FTransform> SpawnPoints;
	UPROPERTY(BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
	TArray<ACM_Shelving*> Shelves;

	TSubclassOf<ACharacter> PlayerCharacterClass;
	
};
