/*
 * Copyright (C) 2012-2026 MotionSystems
 *
 * This file is part of ForceSeatMI SDK.
 *
 * www.motionsystems.eu
 *
 */
 
#pragma once

#include "Modules/ModuleManager.h"

class APawn;
class IForceSeatMIPlane_ControllerCore;

class ForceSeatMIPlane : public IModuleInterface
{
public:
	virtual IForceSeatMIPlane_ControllerCore* CreateControllerCore(APawn* plane) = 0;

public:
	static inline ForceSeatMIPlane& Get()
	{
		return FModuleManager::LoadModuleChecked<ForceSeatMIPlane>("ForceSeatMIPlane");
	}

	static inline bool IsAvailable()
	{
		return FModuleManager::Get().IsModuleLoaded("ForceSeatMIPlane");
	}
};
