#pragma once
class IModuleInterface
{
public:
/**
* Virtual destructor.
*/
virtual ~IModuleInterface() = default;
public:
/**
* Called after the module has been loaded.
*/
virtual void StartupModule() = 0;
/**
* Called before the module is unloaded.
*/
virtual void ShutdownModule() = 0;
public:
/**
* Gets the name of the module.
*
* @return The name of the module.
*/
virtual const char* GetName() = 0;
public:
/**
* Checks to see if the module is a game module.
*
* @return Whether or not the module is a game module.
*/
virtual bool IsGameModule() const { return false; }
};