Exemple #1
0
        public void Dispose()
        {
            GC.SuppressFinalize(this);

            _allGridPointMatrix.Remove(this);

            if (Disposing != null)
            {
                Disposing(new GridPointMatrixDisposingEventArgs(this));
            }

            // remove any scroll bindings
            UnbindScrolling();

            // unsubscribe from events
            RefreshQueue.RefreshQueueAreaAdded -= refQueueDel;

            // dispose child objects
            RefreshQueue.Dispose();

            foreach (GridPoint gridPt in this)
            {
                gridPt.Dispose();
            }

            // cancel all subscriptions to this object
            GridPointSizeChanged  = null;
            VisibleChanged        = null;
            FirstColRowChanged    = null;
            RefreshQueueAreaAdded = null;
            WrappingChanged       = null;
            Disposing             = null;
        }
        public void Update() {
            foreach (var item in RefreshQueue) {
                item.Source.Repaint();
            }

            RefreshQueue.Clear();
        }
Exemple #3
0
        protected void InitValues(GridPoint[][] pt, int width, int height, float layerSyncModifier, bool addToInstances)
        {
            _matrix            = pt;
            _layerSyncModifier = layerSyncModifier;
            _tileWidth         = width;
            _tileHeight        = height;
            _visible           = true;
            _gridPtZeroPxl     = new Point(0, 0);
            // let each GridPoint in array know its position in the array
            SaveGridCoordinatesToGridPoints();
            RefreshQueue = new RefreshQueue(this);
            refQueueDel  = new RefreshQueueAreaAddedEventHandler(RefreshQueueNewTile);
            RefreshQueue.RefreshQueueAreaAdded += refQueueDel;
            FindIndexedGridPoint = new GetIndexer(GetIndexer_NoWrap);
            _movement            = new Movement(this);

            if (addToInstances)
            {
                _allGridPointMatrix.Add(this);
            }
        }
 private void OnUIRefreshRequested(UIRefreshRequested e) {
     RefreshQueue.Add(e);
 }