private void Edit_EndDrawingRegion() { if (m_regionStartX == -1) { // Not currently drawing a region. return; } // Tapping shift/ctrl without moving the cursor deletes any region under the cursor. if (m_regionStartX == m_cursorX && m_regionStartY == m_cursorY) { Scorer.PriorityRegion region = m_scorer.GetPriorityRegionAt(m_cursorX, m_cursorY); if (region != null) { m_scorer.RemoveRegion(region); GameObject.Destroy(m_placedRegionVisuals[region].gameObject); m_placedRegionVisuals.Remove(region); } } else { Scorer.PriorityRegion region = m_scorer.AddRegion(m_cursorX, m_cursorY, m_regionStartX, m_regionStartY, m_regionIsMajor); m_placedRegionVisuals.Add(region, m_placingRegionVisuals); m_placingRegionVisuals = null; } if (m_placingRegionVisuals != null) { GameObject.Destroy(m_placingRegionVisuals.gameObject); m_placingRegionVisuals = null; } m_regionStartX = -1; m_regionStartY = -1; m_regionIsMajor = false; m_layoutChanged = true; }