// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#pragma once

#include "ModuleManager.h"
#include "IPolishBuildingsTool.h"


/**
 * Merge Actors module interface
 */
class IPolishBuildingsModule : public IModuleInterface
{

public:

	/**
	 * Get reference to the Merge Actors module instance
	 */
	static inline IPolishBuildingsModule& Get()
	{
		return FModuleManager::LoadModuleChecked<IPolishBuildingsModule>("PolishBuildings");
	}

	/**
	 * Register an IPolishBuildingsTool with the module, passing ownership to it
	 */
	virtual bool RegisterPolishBuildingsTool(TUniquePtr<IPolishBuildingsTool> Tool) = 0;

	/**
	 * Unregister an IPolishBuildingsTool with the module
	 */
	virtual bool UnregisterPolishBuildingsTool(IPolishBuildingsTool* Tool) = 0;
};
