#pragma once #include "../Actions/EditorSelection.h" #include "src/Scene/Entities/Entity.h" #include "src/Core/FileSystem.h" #include "../ComponentsPanel/TransformPanel.h" #include "../ComponentsPanel/LightPanel.h" #include "../ComponentsPanel/ScriptPanel.h" #include "../ComponentsPanel/MeshPanel.h" #include "../ComponentsPanel/QuakeMapPanel.h" #include "../ComponentsPanel/CameraPanel.h" #include "../Actions/EditorSelection.h" #include class EditorSelectionPanel { private: TransformPanel mTransformPanel; LightPanel mLightPanel; ScriptPanel mScriptPanel; MeshPanel mMeshPanel; QuakeMapPanel mQuakeMapPanel; CameraPanel mCameraPanel; Ref currentFile; Ref selectedResource; public: EditorSelectionPanel(); void Draw(EditorSelection selection); void DrawNone(); void DrawEntity(Nuake::Entity entity); void DrawAddComponentMenu(Nuake::Entity entity); void DrawFile(Nuake::File* file); void DrawResource(Nuake::Resource resource); private: void ResolveFile(Ref file); void DrawMaterialPanel(Ref material); void DrawProjectPanel(Ref project); };