Exemple #1
0
    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;
    }