From 6f739e22f3fe74d45d8ef7d3f893edab80fa8282 Mon Sep 17 00:00:00 2001 From: verysecrethero Date: Fri, 22 Jan 2016 10:10:39 +0100 Subject: [PATCH] Crash fix for: if you delete a team component in editor. --- src/Game/Systems/CapturePointSystem.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Game/Systems/CapturePointSystem.cpp b/src/Game/Systems/CapturePointSystem.cpp index 67c2353c..fbd20e38 100644 --- a/src/Game/Systems/CapturePointSystem.cpp +++ b/src/Game/Systems/CapturePointSystem.cpp @@ -66,6 +66,9 @@ void CapturePointSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper nextPossibleCapturePoint["Blue"] = -1; for (size_t i = 0; i < m_NumberOfCapturePoints; i++) { + if (!m_World->HasComponent(m_CapturePointNumberToEntityIDMap[i], "Team")) { + continue; + } ComponentWrapper& capturePointOwnedBy = m_World->GetComponent(m_CapturePointNumberToEntityIDMap[i], "Team"); if ((int)capturePointOwnedBy["Team"] == redTeam && m_RedTeamHomeCapturePoint == 0) { nextPossibleCapturePoint["Red"] = i + 1; @@ -76,6 +79,9 @@ void CapturePointSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper } for (int i = m_NumberOfCapturePoints - 1; i >= 0; i--) { + if (!m_World->HasComponent(m_CapturePointNumberToEntityIDMap[i], "Team")) { + continue; + } ComponentWrapper& capturePointOwnedBy = m_World->GetComponent(m_CapturePointNumberToEntityIDMap[i], "Team"); if ((int)capturePointOwnedBy["Team"] == redTeam && m_RedTeamHomeCapturePoint != 0) { nextPossibleCapturePoint["Red"] = i - 1;