#pragma once #include "Core/GameObject.h" #include #include namespace UI { class SelectionManager { public: static SelectionManager& Get() { static SelectionManager instance; return instance; } EntityID GetSelectedEntity() const { return m_selectedEntity; } void SetSelectedEntity(EntityID id) { m_selectedEntity = id; OnSelectionChanged.Invoke(id); } void ClearSelection() { SetSelectedEntity(INVALID_ENTITY_ID); } bool IsSelected(EntityID id) const { return m_selectedEntity == id; } XCEngine::Core::Event OnSelectionChanged; private: SelectionManager() = default; EntityID m_selectedEntity = INVALID_ENTITY_ID; }; }