30 lines
528 B
C++
30 lines
528 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
namespace XCEngine {
|
|
namespace NewEditor {
|
|
|
|
class Panel {
|
|
public:
|
|
explicit Panel(std::string name, bool visible = true);
|
|
virtual ~Panel();
|
|
|
|
const std::string& GetName() const;
|
|
void SetName(const std::string& name);
|
|
|
|
bool IsVisible() const;
|
|
void SetVisible(bool visible);
|
|
void ToggleVisible();
|
|
|
|
void RenderIfVisible();
|
|
virtual void Render() = 0;
|
|
|
|
private:
|
|
std::string m_name;
|
|
bool m_visible = true;
|
|
};
|
|
|
|
} // namespace NewEditor
|
|
} // namespace XCEngine
|