public override void Draw(Camera2D camera) { m_continueText.Position = new Vector2(camera.Bounds.Right - 50, camera.Bounds.Bottom - 70); m_endingMask.Position = camera.Position - new Vector2(660f, 360f); m_endingMask.Draw(camera); if (camera.X > m_background.X + 6600f) { m_background.X = camera.X; } if (camera.X < m_background.X) { m_background.X = camera.X - 1320f; } m_background.Draw(camera); foreach (var current in m_frameList) { current.Draw(camera); } foreach (var current2 in m_plaqueList) { current2.Draw(camera); } base.Draw(camera); camera.End(); if (!LevelEV.SHOW_ENEMY_RADII) { camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearClamp, null, null, null, camera.GetTransformation()); } else { camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearClamp, null, null, null, camera.GetTransformation()); } foreach (var current3 in m_nameList) { current3.Draw(camera); } foreach (var current4 in m_slainCountText) { current4.Draw(camera); } m_continueText.Draw(camera); camera.End(); if (!LevelEV.SHOW_ENEMY_RADII) { camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, null, null, null, camera.GetTransformation()); return; } camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, null, null, null, camera.GetTransformation()); }
public void Draw(RenderTarget2D srcTexture, Camera2D Camera, RenderTarget2D mask = null) { if (effect == null) { throw new InvalidOperationException("GaussianBlur.fx effect not loaded."); } Camera.GraphicsDevice.SetRenderTarget(m_renderHolder); m_offsetParameters.SetValue(TextureOffsetsX); if (mask != null) { Camera.GraphicsDevice.Textures[1] = mask; Camera.GraphicsDevice.SamplerStates[1] = SamplerState.LinearClamp; } Camera.Begin(SpriteSortMode.Deferred, BlendState.Opaque, SamplerState.LinearClamp, null, null, effect); if (LevelEV.SAVE_FRAMES) { Camera.Draw(srcTexture, Vector2.Zero, null, Color.White, 0f, Vector2.Zero, new Vector2(0.5f, 0.5f), SpriteEffects.None, 1f); } else { Camera.Draw(srcTexture, Vector2.Zero, Color.White); } Camera.End(); if (LevelEV.SAVE_FRAMES) { Camera.GraphicsDevice.SetRenderTarget(m_renderHolder2); m_offsetParameters.SetValue(TextureOffsetsY); if (mask != null) { Camera.GraphicsDevice.Textures[1] = mask; } Camera.Begin(SpriteSortMode.Deferred, BlendState.Opaque, null, null, null, effect); Camera.Draw(m_renderHolder, Vector2.Zero, Color.White); Camera.End(); Camera.GraphicsDevice.SetRenderTarget(srcTexture); Camera.Begin(SpriteSortMode.Deferred, BlendState.Opaque, SamplerState.PointClamp, null, null); Camera.Draw(m_renderHolder2, Vector2.Zero, null, Color.White, 0f, Vector2.Zero, new Vector2(2f, 2f), SpriteEffects.None, 1f); Camera.End(); return; } Camera.GraphicsDevice.SetRenderTarget(srcTexture); m_offsetParameters.SetValue(TextureOffsetsY); if (mask != null) { Camera.GraphicsDevice.Textures[1] = mask; } Camera.Begin(SpriteSortMode.Deferred, BlendState.Opaque, null, null, null, effect); Camera.Draw(m_renderHolder, Vector2.Zero, Color.White); Camera.End(); }
public override void Draw(Camera2D camera) { if (this.m_boss.IsKilled && Game.PlayerStats.Traits.X != 1f && Game.PlayerStats.Traits.Y != 1f) { camera.End(); this.m_boss.StopAnimation(); Game.HSVEffect.Parameters["Saturation"].SetValue(0); camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, null, null, Game.HSVEffect, camera.GetTransformation()); this.m_boss.Visible = true; this.m_boss.Draw(camera); this.m_boss.Visible = false; camera.End(); camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, null, null, null, camera.GetTransformation()); } base.Draw(camera); }
public void Draw(Camera2D camera, GameTime gameTime) { if (PreSteps.Count > 0) foreach (var s in PreSteps) s(camera, this, gameTime); if (Skip) return; camera.GraphicsDevice.SetRenderTarget(RenderTarget); if (ClearColor != null) camera.GraphicsDevice.Clear(ClearColor.Value); if (ShaderSteps.Count > 0) foreach (var s in ShaderSteps) s.Prepare(camera); camera.Begin(SpriteSortMode, BlendState, SamplerState, DepthStencilState, RasterizerState, Effect, TransformMatrix); if (DrawSteps.Count > 0) foreach (var s in DrawSteps) s(camera, this, gameTime); camera.End(); }
public override void Draw(Camera2D camera) { if (m_boss.IsKilled && Game.PlayerStats.Traits.X != 1f && Game.PlayerStats.Traits.Y != 1f) { camera.End(); m_boss.StopAnimation(); Game.HSVEffect.Parameters["Saturation"].SetValue(0); camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, null, null, Game.HSVEffect, camera.GetTransformation()); m_boss.Visible = true; m_boss.Draw(camera); m_boss.Visible = false; camera.End(); camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, null, null, null, camera.GetTransformation()); } base.Draw(camera); }
public override void Draw(Camera2D camera) { if (Visible) { camera.End(); camera.GraphicsDevice.Textures[1] = m_alphaMaskRT; camera.GraphicsDevice.SamplerStates[1] = SamplerState.LinearClamp; camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, Game.MaskEffect); if (!DrawNothing) { camera.Draw(m_mapScreenRT, Vector2.Zero, Color.White); } camera.End(); camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearClamp, null, null, null); if (DrawNothing) { m_playerSprite.Draw(camera); } } }
public void InitializeAlphaMap(Rectangle mapSize, Camera2D camera) { m_alphaMaskRect = mapSize; m_mapScreenRT = new RenderTarget2D(camera.GraphicsDevice, 1320, 720); m_alphaMaskRT = new RenderTarget2D(camera.GraphicsDevice, 1320, 720); CameraOffset = new Vector2(mapSize.X, mapSize.Y); var spriteObj = new SpriteObj("MapMask_Sprite"); spriteObj.ForceDraw = true; spriteObj.Position = new Vector2(mapSize.X, mapSize.Y); spriteObj.Scale = new Vector2(mapSize.Width / (float)spriteObj.Width, mapSize.Height / (float)spriteObj.Height); camera.GraphicsDevice.SetRenderTarget(m_alphaMaskRT); camera.GraphicsDevice.Clear(Color.White); camera.Begin(); spriteObj.Draw(camera); camera.End(); camera.GraphicsDevice.SetRenderTarget(Game.ScreenManager.RenderTarget); }
public void Draw(Camera2D camera, GameTime gameTime) { if (PreSteps.Count > 0) { foreach (var s in PreSteps) { s(camera, this, gameTime); } } if (Skip) { return; } camera.GraphicsDevice.SetRenderTarget(RenderTarget); if (ClearColor != null) { camera.GraphicsDevice.Clear(ClearColor.Value); } if (ShaderSteps.Count > 0) { foreach (var s in ShaderSteps) { s.Prepare(camera); } } camera.Begin(SpriteSortMode, BlendState, SamplerState, DepthStencilState, RasterizerState, Effect, TransformMatrix); if (DrawSteps.Count > 0) { foreach (var s in DrawSteps) { s(camera, this, gameTime); } } camera.End(); }
public override void Draw(Camera2D camera) { this.m_continueText.Position = new Vector2((float)(camera.Bounds.Right - 50), (float)(camera.Bounds.Bottom - 70)); this.m_endingMask.Position = camera.Position - new Vector2(660f, 360f); this.m_endingMask.Draw(camera); if (camera.X > this.m_background.X + 6600f) { this.m_background.X = camera.X; } if (camera.X < this.m_background.X) { this.m_background.X = camera.X - 1320f; } this.m_background.Draw(camera); foreach (SpriteObj current in this.m_frameList) { current.Draw(camera); } foreach (SpriteObj current2 in this.m_plaqueList) { current2.Draw(camera); } base.Draw(camera); camera.End(); if (!LevelEV.SHOW_ENEMY_RADII) { camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearClamp, null, null, null, camera.GetTransformation()); } else { camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearClamp, null, null, null, camera.GetTransformation()); } foreach (TextObj current3 in this.m_nameList) { current3.Draw(camera); } foreach (TextObj current4 in this.m_slainCountText) { current4.Draw(camera); } this.m_continueText.Draw(camera); camera.End(); if (!LevelEV.SHOW_ENEMY_RADII) { camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, null, null, null, camera.GetTransformation()); return; } camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, null, null, null, camera.GetTransformation()); }
public void InitializeAlphaMap(Rectangle mapSize, Camera2D camera) { this.m_alphaMaskRect = mapSize; this.m_mapScreenRT = new RenderTarget2D(camera.GraphicsDevice, 1320, 720); this.m_alphaMaskRT = new RenderTarget2D(camera.GraphicsDevice, 1320, 720); this.CameraOffset = new Vector2((float)mapSize.X, (float)mapSize.Y); SpriteObj spriteObj = new SpriteObj("MapMask_Sprite"); spriteObj.ForceDraw = true; spriteObj.Position = new Vector2((float)mapSize.X, (float)mapSize.Y); spriteObj.Scale = new Vector2((float)mapSize.Width / (float)spriteObj.Width, (float)mapSize.Height / (float)spriteObj.Height); camera.GraphicsDevice.SetRenderTarget(this.m_alphaMaskRT); camera.GraphicsDevice.Clear(Color.White); camera.Begin(); spriteObj.Draw(camera); camera.End(); camera.GraphicsDevice.SetRenderTarget(Game.ScreenManager.RenderTarget); }
public override void Draw(Camera2D camera) { if (base.Visible) { camera.End(); camera.GraphicsDevice.Textures[1] = this.m_alphaMaskRT; camera.GraphicsDevice.SamplerStates[1] = SamplerState.LinearClamp; camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, Game.MaskEffect); if (!this.DrawNothing) { camera.Draw(this.m_mapScreenRT, Vector2.Zero, Color.White); } camera.End(); camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearClamp, null, null, null); if (this.DrawNothing) { this.m_playerSprite.Draw(camera); } } }
public override void Draw(Camera2D camera) { if (FlipPortrait) { m_playerSprite.Rotation = 180f; } if (!m_frameDropping) { m_frameSprite.Position = Position; m_frameSprite.Y -= 12f; m_frameSprite.X += 5f; } m_frameSprite.Opacity = Opacity; m_frameSprite.Draw(camera); if (!IsDead && Spell != 0) { m_spellIconHolder.Position = new Vector2(m_frameSprite.X, m_frameSprite.Bounds.Bottom - 20); m_spellIcon.Position = m_spellIconHolder.Position; m_spellIconHolder.Draw(camera); m_spellIcon.Draw(camera); } m_playerSprite.OutlineColour = OutlineColour; m_playerSprite.OutlineWidth = OutlineWidth; if (!m_frameDropping) { m_playerSprite.Position = Position; m_playerSprite.X += 10f; if (FlipPortrait) { m_playerSprite.X -= 10f; m_playerSprite.Y -= 30f; } } m_playerSprite.Opacity = Opacity; m_playerSprite.Draw(camera); if (CollisionMath.Intersects(Bounds, camera.Bounds)) { if (Class == 7 || Class == 15) { Game.ColourSwapShader.Parameters["desiredTint"].SetValue(Color.White.ToVector4()); Game.ColourSwapShader.Parameters["Opacity"].SetValue(m_playerSprite.Opacity); Game.ColourSwapShader.Parameters["ColourSwappedOut1"].SetValue(m_skinColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn1"].SetValue(m_lichColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedOut2"].SetValue(m_skinColour2.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn2"].SetValue(m_lichColour2.ToVector4()); camera.End(); camera.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, Game.ColourSwapShader, camera.GetTransformation()); m_playerSprite.GetChildAt(12).Draw(camera); camera.End(); camera.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, null, camera.GetTransformation()); if (IsFemale) { m_playerSprite.GetChildAt(13).Draw(camera); } m_playerSprite.GetChildAt(15).Draw(camera); } else if (Class == 3 || Class == 11) { Game.ColourSwapShader.Parameters["desiredTint"].SetValue(Color.White.ToVector4()); Game.ColourSwapShader.Parameters["Opacity"].SetValue(m_playerSprite.Opacity); Game.ColourSwapShader.Parameters["ColourSwappedOut1"].SetValue(m_skinColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn1"].SetValue(Color.Black.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedOut2"].SetValue(m_skinColour2.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn2"].SetValue(Color.Black.ToVector4()); camera.End(); camera.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, Game.ColourSwapShader, camera.GetTransformation()); m_playerSprite.GetChildAt(12).Draw(camera); camera.End(); camera.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, null, camera.GetTransformation()); if (IsFemale) { m_playerSprite.GetChildAt(13).Draw(camera); } m_playerSprite.GetChildAt(15).Draw(camera); } } if (!DisablePlaque) { if (!m_frameDropping) { m_plaqueSprite.Position = Position; m_plaqueSprite.X += 5f; m_plaqueSprite.Y = m_frameSprite.Y + m_frameSprite.Height - 30f; } m_plaqueSprite.Draw(camera); camera.GraphicsDevice.SamplerStates[0] = SamplerState.LinearClamp; base.Draw(camera); camera.GraphicsDevice.SamplerStates[0] = SamplerState.PointClamp; } if (m_frameDropping) { m_frameSprite.Draw(camera); m_playerSprite.Draw(camera); } }
public void Draw(RenderTarget2D srcTexture, Camera2D Camera, RenderTarget2D mask = null) { if (this.effect == null) { throw new InvalidOperationException("GaussianBlur.fx effect not loaded."); } Camera.GraphicsDevice.SetRenderTarget(this.m_renderHolder); this.m_offsetParameters.SetValue(this.offsetsHoriz); if (mask != null) { Camera.GraphicsDevice.Textures[1] = mask; Camera.GraphicsDevice.SamplerStates[1] = SamplerState.LinearClamp; } Camera.Begin(SpriteSortMode.Deferred, BlendState.Opaque, SamplerState.LinearClamp, null, null, this.effect); if (LevelEV.SAVE_FRAMES) { Camera.Draw(srcTexture, Vector2.Zero, null, Color.White, 0f, Vector2.Zero, new Vector2(0.5f, 0.5f), SpriteEffects.None, 1f); } else { Camera.Draw(srcTexture, Vector2.Zero, Color.White); } Camera.End(); if (LevelEV.SAVE_FRAMES) { Camera.GraphicsDevice.SetRenderTarget(this.m_renderHolder2); this.m_offsetParameters.SetValue(this.offsetsVert); if (mask != null) { Camera.GraphicsDevice.Textures[1] = mask; } Camera.Begin(SpriteSortMode.Deferred, BlendState.Opaque, null, null, null, this.effect); Camera.Draw(this.m_renderHolder, Vector2.Zero, Color.White); Camera.End(); Camera.GraphicsDevice.SetRenderTarget(srcTexture); Camera.Begin(SpriteSortMode.Deferred, BlendState.Opaque, SamplerState.PointClamp, null, null); Camera.Draw(this.m_renderHolder2, Vector2.Zero, null, Color.White, 0f, Vector2.Zero, new Vector2(2f, 2f), SpriteEffects.None, 1f); Camera.End(); return; } Camera.GraphicsDevice.SetRenderTarget(srcTexture); this.m_offsetParameters.SetValue(this.offsetsVert); if (mask != null) { Camera.GraphicsDevice.Textures[1] = mask; } Camera.Begin(SpriteSortMode.Deferred, BlendState.Opaque, null, null, null, this.effect); Camera.Draw(this.m_renderHolder, Vector2.Zero, Color.White); Camera.End(); }
public override void Draw(Camera2D camera) { if (this.FlipPortrait) { this.m_playerSprite.Rotation = 180f; } if (!this.m_frameDropping) { this.m_frameSprite.Position = base.Position; this.m_frameSprite.Y -= 12f; this.m_frameSprite.X += 5f; } this.m_frameSprite.Opacity = base.Opacity; this.m_frameSprite.Draw(camera); if (!this.IsDead && this.Spell != 0) { this.m_spellIconHolder.Position = new Vector2(this.m_frameSprite.X, (float)(this.m_frameSprite.Bounds.Bottom - 20)); this.m_spellIcon.Position = this.m_spellIconHolder.Position; this.m_spellIconHolder.Draw(camera); this.m_spellIcon.Draw(camera); } this.m_playerSprite.OutlineColour = this.OutlineColour; this.m_playerSprite.OutlineWidth = base.OutlineWidth; if (!this.m_frameDropping) { this.m_playerSprite.Position = base.Position; this.m_playerSprite.X += 10f; if (this.FlipPortrait) { this.m_playerSprite.X -= 10f; this.m_playerSprite.Y -= 30f; } } this.m_playerSprite.Opacity = base.Opacity; this.m_playerSprite.Draw(camera); if (CollisionMath.Intersects(this.Bounds, camera.Bounds)) { if (this.Class == 7 || this.Class == 15) { Game.ColourSwapShader.Parameters["desiredTint"].SetValue(Color.White.ToVector4()); Game.ColourSwapShader.Parameters["Opacity"].SetValue(this.m_playerSprite.Opacity); Game.ColourSwapShader.Parameters["ColourSwappedOut1"].SetValue(this.m_skinColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn1"].SetValue(this.m_lichColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedOut2"].SetValue(this.m_skinColour2.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn2"].SetValue(this.m_lichColour2.ToVector4()); camera.End(); camera.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, Game.ColourSwapShader, camera.GetTransformation()); this.m_playerSprite.GetChildAt(12).Draw(camera); camera.End(); camera.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, null, camera.GetTransformation()); if (this.IsFemale) { this.m_playerSprite.GetChildAt(13).Draw(camera); } this.m_playerSprite.GetChildAt(15).Draw(camera); } else if (this.Class == 3 || this.Class == 11) { Game.ColourSwapShader.Parameters["desiredTint"].SetValue(Color.White.ToVector4()); Game.ColourSwapShader.Parameters["Opacity"].SetValue(this.m_playerSprite.Opacity); Game.ColourSwapShader.Parameters["ColourSwappedOut1"].SetValue(this.m_skinColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn1"].SetValue(Color.Black.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedOut2"].SetValue(this.m_skinColour2.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn2"].SetValue(Color.Black.ToVector4()); camera.End(); camera.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, Game.ColourSwapShader, camera.GetTransformation()); this.m_playerSprite.GetChildAt(12).Draw(camera); camera.End(); camera.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, null, camera.GetTransformation()); if (this.IsFemale) { this.m_playerSprite.GetChildAt(13).Draw(camera); } this.m_playerSprite.GetChildAt(15).Draw(camera); } } if (!this.DisablePlaque) { if (!this.m_frameDropping) { this.m_plaqueSprite.Position = base.Position; this.m_plaqueSprite.X += 5f; this.m_plaqueSprite.Y = this.m_frameSprite.Y + (float)this.m_frameSprite.Height - 30f; } this.m_plaqueSprite.Draw(camera); camera.GraphicsDevice.SamplerStates[0] = SamplerState.LinearClamp; base.Draw(camera); camera.GraphicsDevice.SamplerStates[0] = SamplerState.PointClamp; } if (this.m_frameDropping) { this.m_frameSprite.Draw(camera); this.m_playerSprite.Draw(camera); } }
public override void Draw(Camera2D camera) { this.m_swearBubble.Scale = new Vector2(this.ScaleX * 1.2f, this.ScaleY * 1.2f); this.m_swearBubble.Position = new Vector2(base.X - 30f * this.ScaleX, base.Y - 35f * this.ScaleX); this.m_swearBubble.Draw(camera); this.m_translocatorSprite.Draw(camera); base.Draw(camera); if (this.IsFlying && base.State != 9) { this.m_flightDurationText.Text = string.Format("{0:F1}", this.m_flightCounter); this.m_flightDurationText.Position = new Vector2(base.X, (float)(this.TerrainBounds.Top - 70)); this.m_flightDurationText.Draw(camera); } camera.End(); Game.ColourSwapShader.Parameters["desiredTint"].SetValue(this.m_playerHead.TextureColor.ToVector4()); if (Game.PlayerStats.Class == 7 || Game.PlayerStats.Class == 15) { Game.ColourSwapShader.Parameters["Opacity"].SetValue(base.Opacity); Game.ColourSwapShader.Parameters["ColourSwappedOut1"].SetValue(this.m_skinColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn1"].SetValue(this.m_lichColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedOut2"].SetValue(this.m_skinColour2.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn2"].SetValue(this.m_lichColour2.ToVector4()); } else if (Game.PlayerStats.Class == 3 || Game.PlayerStats.Class == 11) { Game.ColourSwapShader.Parameters["Opacity"].SetValue(base.Opacity); Game.ColourSwapShader.Parameters["ColourSwappedOut1"].SetValue(this.m_skinColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn1"].SetValue(Color.Black.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedOut2"].SetValue(this.m_skinColour2.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn2"].SetValue(Color.Black.ToVector4()); } else { Game.ColourSwapShader.Parameters["Opacity"].SetValue(base.Opacity); Game.ColourSwapShader.Parameters["ColourSwappedOut1"].SetValue(this.m_skinColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn1"].SetValue(this.m_skinColour1.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedOut2"].SetValue(this.m_skinColour2.ToVector4()); Game.ColourSwapShader.Parameters["ColourSwappedIn2"].SetValue(this.m_skinColour2.ToVector4()); } camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, Game.ColourSwapShader, camera.GetTransformation()); this.m_playerHead.Draw(camera); camera.End(); camera.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, null, camera.GetTransformation()); if (Game.PlayerStats.IsFemale) { this._objectList[13].Draw(camera); } this._objectList[14].Draw(camera); this._objectList[15].Draw(camera); }