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()); } }