コード例 #1
0
ファイル: TileSelection.cs プロジェクト: dekk7/xEngine
        public TileSelection(TileSelection tileSelection)
        {
            m_tileSelections = new Dictionary<Location, TileSelectionBorder>();
            foreach (KeyValuePair<Location, TileSelectionBorder> pair in tileSelection.m_tileSelections)
                m_tileSelections[pair.Key] = pair.Value;

            m_bounds = tileSelection.m_bounds;
        }
コード例 #2
0
ファイル: TileSelection.cs プロジェクト: dekk7/xEngine
        public void Merge(TileSelection tileSelection)
        {
            if (tileSelection.IsEmpty())
                return;

            // dest selection is empty
            if (m_tileSelections.Count == 0)
            {
                m_bounds = tileSelection.Bounds;
                foreach (KeyValuePair<Location, TileSelectionBorder> pair in tileSelection.m_tileSelections)
                    m_tileSelections[pair.Key] = pair.Value;
                UpdateSelectionBorders();
                return;
            }

            // otherwise, merge with existing
            foreach (KeyValuePair<Location, TileSelectionBorder> pair in tileSelection.m_tileSelections)
                m_tileSelections[pair.Key] = pair.Value;

            m_bounds.ExtendTo(tileSelection.m_bounds);
            UpdateSelectionBorders();
        }