public void Redraw( ICTank iTank, EPartOfScreen iPartOfScreen) { mView.Redraw( iTank, iPartOfScreen); }
public void Redraw( ICTank iTank, EPartOfScreen iPartOfScreen) { Graphics formGraphics = mController.ParentGameWindow.View.CreateGraphics(); Rectangle windowBounds = mController.ParentGameWindow.View.Bounds; int halfTankSize = iTank.GetSize() / 2; int tankPosX = iTank.GetPosX(); int amountOfWindowElementsX = (windowBounds.Width / mController.ParentGameWindow.GetElementSize()) / 2; int elementsFirstXIndex = tankPosX - (amountOfWindowElementsX / 2 - halfTankSize); int firstWindowElementX = 0; if (iPartOfScreen == EPartOfScreen.RIGHT) { firstWindowElementX = amountOfWindowElementsX + 1; } int tankPosY = iTank.GetPosY(); int amountOfWindowElementsY = windowBounds.Height / mController.ParentGameWindow.GetElementSize(); int elementsFirstYIndex = tankPosY - (amountOfWindowElementsY / 2 - halfTankSize); CBoardElement[][] boardElements = mController.Elements; int boardElementSize = mController.ParentGameWindow.GetElementSize(); RedrawFrameAndBasicMapElements( formGraphics, iTank, boardElementSize, elementsFirstXIndex, elementsFirstYIndex, firstWindowElementX, amountOfWindowElementsX, amountOfWindowElementsY); RedrawTank( formGraphics, iTank, boardElementSize, elementsFirstXIndex, elementsFirstYIndex, firstWindowElementX, amountOfWindowElementsX, amountOfWindowElementsY); RedrawBonuses( formGraphics, iTank, boardElementSize, elementsFirstXIndex, elementsFirstYIndex, firstWindowElementX, amountOfWindowElementsX, amountOfWindowElementsY); RedrawMissiles( formGraphics, iTank, boardElementSize, elementsFirstXIndex, elementsFirstYIndex, firstWindowElementX, amountOfWindowElementsX, amountOfWindowElementsY); RedrawHitPointsBar( formGraphics, iTank, boardElementSize, firstWindowElementX, amountOfWindowElementsX); RedrawRightBorder( formGraphics, boardElementSize, firstWindowElementX, amountOfWindowElementsX, amountOfWindowElementsY); formGraphics.Dispose(); }