#pragma once

#include "Modules/ModuleInterface.h"

class FHierarchyModule : public IModuleInterface
{
public:
    /**
     * Called after the module has been loaded.
     */
    void StartupModule() override;

    /**
     * Called before the module is unloaded.
     */
    void ShutdownModule() override;
public:
    /**
     * Renders the hierarchy panel.
     */
    void RenderHierarchy();
public:
    /**
     * Gets the name of the module.
     *
     * @return The name of the module.
     */
    const char* GetName() override { return "Hierarchy"; }

    /**
     * Checks to see if the module is a game module.
     *
     * @return Whether or not the module is a game module.
     */
    bool IsGameModule() const override { return false; }
};