28 lines
763 B
C
28 lines
763 B
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include <vector>
|
||
|
|
#include <cstdint>
|
||
|
|
|
||
|
|
namespace XCEngine {
|
||
|
|
namespace Editor {
|
||
|
|
|
||
|
|
class ISelectionManager {
|
||
|
|
public:
|
||
|
|
virtual ~ISelectionManager() = default;
|
||
|
|
|
||
|
|
virtual void SetSelectedEntity(uint64_t entityId) = 0;
|
||
|
|
virtual void SetSelectedEntities(const std::vector<uint64_t>& 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<uint64_t>& GetSelectedEntities() const = 0;
|
||
|
|
virtual bool HasSelection() const = 0;
|
||
|
|
virtual size_t GetSelectionCount() const = 0;
|
||
|
|
virtual bool IsSelected(uint64_t entityId) const = 0;
|
||
|
|
};
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|