public override void Draw(GraphicsDevice device, Matrix camera)
{
float guyPos = getCameraCoords().X;
Matrix cameraTransform = Matrix.CreateTranslation(guyPos, 0.0f, 0.0f);
GameEngine.Instance.SpriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.LinearClamp, DepthStencilState.Default,
RasterizerState.CullCounterClockwise, null, cameraTransform);
GameEngine.Instance.SpriteBatch.Draw(background, new Vector2(0, 0), Color.White);
//nonfunctional art stuff
//GameEngine.Instance.SpriteBatch.Draw(brokenMovingPlatformTexture, new Vector2(.1f*CASSWorld.SCALE, 13.6f*CASSWorld.SCALE), Color.White);
/* // DEBUG - replace these in a more sustainable way later
GameEngine.Instance.SpriteBatch.Draw(pulleyChainTexture, new Vector2(16.2f * CASSWorld.SCALE, 4.5f * CASSWorld.SCALE), Color.White);
GameEngine.Instance.SpriteBatch.Draw(pulleyChainTexture, new Vector2(17.6f * CASSWorld.SCALE, 9.7f * CASSWorld.SCALE), Color.White);
GameEngine.Instance.SpriteBatch.Draw(pipeAssemblyTexture, new Vector2(0f * CASSWorld.SCALE, 5.9f * CASSWorld.SCALE), Color.White);
GameEngine.Instance.SpriteBatch.Draw(window1Texture, new Vector2(5.5f * CASSWorld.SCALE, .5f * CASSWorld.SCALE), Color.White);
GameEngine.Instance.SpriteBatch.Draw(window2Texture, new Vector2(25f * CASSWorld.SCALE, .5f * CASSWorld.SCALE), Color.White);
GameEngine.Instance.SpriteBatch.Draw(window3Texture, new Vector2(38f * CASSWorld.SCALE, .5f * CASSWorld.SCALE), Color.White);
GameEngine.Instance.SpriteBatch.Draw(window4Texture, new Vector2(51f * CASSWorld.SCALE, .5f * CASSWorld.SCALE), Color.White);
GameEngine.Instance.SpriteBatch.Draw(pistonAssemblyTexture, new Vector2(9.7f * CASSWorld.SCALE, 12.6f * CASSWorld.SCALE), null, Color.White, 0, new Vector2(0, 0), .5f, SpriteEffects.None, 0);
*/
//(texture, CASSWorld.SCALE * Position, null, Color.White, Angle, origin, scale, SpriteEffects.None, 0);
GameEngine.Instance.SpriteBatch.End();
base.Draw(device, cameraTransform);
GameEngine.Instance.SpriteBatch.Begin();
paintTexture = GameEngine.TextureList["paint"]; // HACK HACK HACK handle this in a more sustainable way soon
DrawCrosshair();
foreach (Vector2 dotpos in dotPositions)
{
GameEngine.Instance.SpriteBatch.Draw(paintTexture, getScreenCoords(dotpos) - halfdotsize - screenOffset, Color.Red);
}
GameEngine.Instance.SpriteBatch.End();
laser.Draw();
if (allHolesFilled)
{
winDoor.makeAnimate();
}
}