Сравнительное объектно-ориентированное проектирование - 47 стр.

UptoLike

Составители: 

47
Size spriteSize;
/// <summary>
/// Возвращает размер спрайта.
/// </summary>
public Size SpriteSize { get { return spriteSize; } }
/// <summary>
/// Возвращает прямоугольник спрайта
/// </summary>
public Rectangle SpriteRect { get { return new Rectangle(location, spriteSize); } }
/// <summary>
/// Хранит обработчик движения спрайта.
/// </summary>
BeforeMoveEventHandler onBeforeMove;
/// <summary>
/// Устанавливает и возвращает обработчик движения спрайта.
/// </summary>
public BeforeMoveEventHandler OnBeforeMove
{
set { onBeforeMove = value; }
get { return onBeforeMove; }
}
/// <summary>
/// Готовит изображение спрайта.
/// </summary>
void BeginPaint()
{
SetMask(z);
for (int i = sprites.Count - 1; i >= z + 1; i--)
if (sprites[i].mask && sprites[i].Visible) sprites[i].Restore();
}
/// <summary>
/// Завершает изображение спрайта.
/// </summary>
void EndPaint()
{
for (int i = z + 1; i < sprites.Count; i++)
if (sprites[i].mask)
{
if (sprites[i].Visible) sprites[i].Paint();
sprites[i].mask = false;
}
}
/// <summary>
/// Определяет факт пересечения прямоугольников двух спрайтов.
/// </summary>
/// <param name="First">
/// Индекс (слой) первого спрайта.