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

#include "UnrealHyperTwist.h"
#include "HyperTwistDiagnostics/HyperTwistRuntimeDiagnostics.h"
#include "Modules/ModuleManager.h"

class FUnrealHyperTwistModule final : public FDefaultGameModuleImpl
{
public:
	virtual void StartupModule() override
	{
		FDefaultGameModuleImpl::StartupModule();
		HyperTwistRuntimeDiagnostics::InitializeSession();
		HyperTwistRuntimeDiagnostics::AppendEvent(
			TEXT("Process"),
			TEXT("HyperTwist runtime module initialized."));
	}

	virtual void ShutdownModule() override
	{
		HyperTwistRuntimeDiagnostics::AppendEvent(
			TEXT("Process"),
			TEXT("HyperTwist runtime module shutdown requested."));
		FDefaultGameModuleImpl::ShutdownModule();
	}
};

IMPLEMENT_PRIMARY_GAME_MODULE(FUnrealHyperTwistModule, UnrealHyperTwist, "UnrealHyperTwist");
