#pragma once #include #include namespace XCEngine { namespace Editor { class ISelectionManager { public: virtual ~ISelectionManager() = default; virtual void SetSelectedEntity(uint64_t entityId) = 0; virtual void SetSelectedEntities(const std::vector& entityIds) = 0; virtual void AddToSelection(uint64_t entityId) = 0; virtual void RemoveFromSelection(uint64_t entityId) = 0; virtual void ClearSelection() = 0; virtual uint64_t GetSelectedEntity() const = 0; virtual const std::vector& GetSelectedEntities() const = 0; virtual bool HasSelection() const = 0; virtual size_t GetSelectionCount() const = 0; virtual bool IsSelected(uint64_t entityId) const = 0; }; } }