Exemple #1
0
        private void DrawFadingPiece(int pixelX, int pixelY, string pieceName, SpriteBatch spriteBatch)
        {
            FadingPiece p    = _gameBoard.GetFadingPiece(pieceName);
            Rectangle   rect = GamePiece.CalculateScreenRenderDestinationRectangle(pixelX, pixelY);

            spriteBatch.Draw(_playingPieces, rect, p.GetSoruceRect(), Color.White * p.AlphaLevel);
        }
        public void UpdateFadingPieces()
        {
            Queue <string> keysToRemove = new Queue <string>();

            foreach (string key in _fadingPieces.Keys)
            {
                FadingPiece p = _fadingPieces[key];
                p.UpdatePiece();

                if (p.AlphaLevel == FadingPiece.FullTransparentAlpha)
                {
                    keysToRemove.Enqueue(key);
                }
            }

            while (keysToRemove.Count > 0)
            {
                _fadingPieces.Remove(keysToRemove.Dequeue());
            }
        }