mirror of
https://github.com/zhenyan121/SporeBG-Conid.git
synced 2026-04-10 06:14:08 +08:00
Fix some problems
This commit is contained in:
@@ -98,7 +98,7 @@ bool ConnectedComponentManager::disconnectFromComponent(int pieceId) {
|
|||||||
|
|
||||||
void ConnectedComponentManager::recomputeComponentsAfterDisconnection(int disconnectedPiece) {
|
void ConnectedComponentManager::recomputeComponentsAfterDisconnection(int disconnectedPiece) {
|
||||||
int oldComponentId = find(disconnectedPiece);
|
int oldComponentId = find(disconnectedPiece);
|
||||||
if (oldComponentId = -1 || m_componentPieces[disconnectedPiece].size() <= 1) {
|
if (oldComponentId == -1 || m_componentPieces[disconnectedPiece].size() <= 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,17 +182,17 @@ int ConnectedComponentManager::createNewComponent(int rootPiece) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ConnectedComponentManager::selectComponentByPiece(int pieceId) {
|
void ConnectedComponentManager::selectComponentByPiece(int pieceId) {
|
||||||
m_slelectedComponentId = find(pieceId);
|
m_selectedComponentId = find(pieceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::unordered_set<int>& ConnectedComponentManager::getSelectedComponent() const {
|
const std::unordered_set<int>& ConnectedComponentManager::getSelectedComponent() const {
|
||||||
static std::unordered_set<int> emptySet;
|
static std::unordered_set<int> emptySet;
|
||||||
if (m_slelectedComponentId == -1 ||
|
if (m_selectedComponentId == -1 ||
|
||||||
m_componentPieces.find(m_slelectedComponentId) == m_componentPieces.end()) {
|
m_componentPieces.find(m_selectedComponentId) == m_componentPieces.end()) {
|
||||||
|
|
||||||
return emptySet;
|
return emptySet;
|
||||||
}
|
}
|
||||||
return m_componentPieces.at(m_slelectedComponentId);
|
return m_componentPieces.at(m_selectedComponentId);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ConnectedComponentManager::getComponentId(int pieceId) const {
|
int ConnectedComponentManager::getComponentId(int pieceId) const {
|
||||||
@@ -226,7 +226,7 @@ bool ConnectedComponentManager::areDirectlyConnected(int pieceId1, int pieceId2)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ConnectedComponentManager::clearSelection() {
|
void ConnectedComponentManager::clearSelection() {
|
||||||
m_slelectedComponentId = -1;
|
m_selectedComponentId = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std:: unordered_map<int, std::unordered_set<int>> ConnectedComponentManager::getAllComponents() const {
|
std:: unordered_map<int, std::unordered_set<int>> ConnectedComponentManager::getAllComponents() const {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ private:
|
|||||||
// 棋子ID到组件ID的映射
|
// 棋子ID到组件ID的映射
|
||||||
std::unordered_map<int, int> m_pieceToComponent;
|
std::unordered_map<int, int> m_pieceToComponent;
|
||||||
// 当前选中的组件ID
|
// 当前选中的组件ID
|
||||||
int m_slelectedComponentId = -1;
|
int m_selectedComponentId = -1;
|
||||||
// 总棋子数
|
// 总棋子数
|
||||||
int m_totalPieces;
|
int m_totalPieces;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user