// Project Lab - NHTV Igad

#pragma once

#include "MenuButton.h"
#include "GameListItem.generated.h"

UCLASS()
class UNREALPROJECT_API UGameListItem : public UMenuButton
{
	GENERATED_BODY()

public:
	UGameListItem(const FObjectInitializer& init);
	virtual void NativeConstruct() override;

	void SetItem(class UGameList* parent, const FOnlineSessionSearchResult& result);

	UFUNCTION(BlueprintImplementableEvent, Category = "UI")
	void OnGameInfoUpdated();

	void Ping();

	UPROPERTY(BlueprintReadOnly, Category = "Game")
	bool valid;
	UPROPERTY(BlueprintReadOnly, Category = "Game")
	FString gameHost;
	UPROPERTY(BlueprintReadOnly, Category = "Game")
	FString gameMapName;
	UPROPERTY(BlueprintReadOnly, Category = "Game")
	int32 gamePlayers;
	UPROPERTY(BlueprintReadOnly, Category = "Game")
	int32 gamePlayersMax;
	UPROPERTY(BlueprintReadOnly, Category = "Game")
	int32 gamePing;

	const class FOnlineSessionSearchResult* result;
private:
	UPROPERTY()
	class UGameList* m_parent;
};
