/******************************************************************************
*	File		-	properties_view.h
*	Author		-	Joey Pollack
*	Date		-	2022/01/26 (y/m/d)
*	Mod Date	-	2022/01/26 (y/m/d)
*	Description	-	Displayes the properties and components(?) of the selected
*                   object.
******************************************************************************/

#ifndef PROPERTIES_H_
#define PROPERTIES_H_

#include <gui/panel.h>
#include <vector>

namespace lunarium
{
    class Entity;
namespace editor
{
    class CustromProperty;
    class EditorAsset;
    class PropertiesView : public gui::Panel
    {
    public:

        PropertiesView();

        void SetSelection(Entity* pEntity);
        void SetSelection(EditorAsset* pAsset);

        bool DoFrame();

    private:
        std::vector<CustromProperty*> mCustomProps;

        // Only ONE of these should be set at a time
        Entity* mpSelectedEntity;
        EditorAsset* mpSelectedAsset;
    };
}
}

#endif  // PROPERTIES_H_