#pragma once class IEditorInspectorTarget { public: virtual void ShowInspector() = 0; }; class EditorInspector { private: IEditorInspectorTarget* mCurrentTarget = nullptr; public: void Show(); IEditorInspectorTarget* GetCurrentTarget() const; void SetCurrentTarget(IEditorInspectorTarget* target); };