public virtual void Apply(Player player, DrawData?drawData = null) { if (this._shaderDisabled) { return; } this.Shader.Parameters["uColor"].SetValue(this._uColor); this.Shader.Parameters["uSaturation"].SetValue(this._uSaturation); this.Shader.Parameters["uSecondaryColor"].SetValue(this._uSecondaryColor); this.Shader.Parameters["uTime"].SetValue(Main.GlobalTimeWrappedHourly); this.Shader.Parameters["uOpacity"].SetValue(this._uOpacity); this.Shader.Parameters["uTargetPosition"].SetValue(this._uTargetPosition); if (drawData.HasValue) { DrawData drawData1 = drawData.Value; this.Shader.Parameters["uSourceRect"].SetValue(new Vector4((float)drawData1.sourceRect.Value.X, (float)drawData1.sourceRect.Value.Y, (float)drawData1.sourceRect.Value.Width, (float)drawData1.sourceRect.Value.Height)); this.Shader.Parameters["uWorldPosition"].SetValue(Main.screenPosition + drawData1.position); this.Shader.Parameters["uImageSize0"].SetValue(new Vector2((float)drawData1.texture.Width, (float)drawData1.texture.Height)); } else { this.Shader.Parameters["uSourceRect"].SetValue(new Vector4(0.0f, 0.0f, 4f, 4f)); } if (this._uImage != null) { Main.graphics.GraphicsDevice.Textures[1] = (Texture)this._uImage.Value; this.Shader.Parameters["uImageSize1"].SetValue(new Vector2((float)this._uImage.Width(), (float)this._uImage.Height())); } if (player != null) { this.Shader.Parameters["uDirection"].SetValue((float)player.direction); } this.Apply(); }
public virtual void Apply(DrawData?drawData = null) { base.Shader.Parameters["uColor"].SetValue(this._uColor); base.Shader.Parameters["uSaturation"].SetValue(this._uSaturation); base.Shader.Parameters["uSecondaryColor"].SetValue(this._uSecondaryColor); base.Shader.Parameters["uTime"].SetValue(Main.GlobalTime); base.Shader.Parameters["uOpacity"].SetValue(this._uOpacity); if (drawData.HasValue) { DrawData value = drawData.Value; Vector4 zero = Vector4.Zero; Rectangle?sourceRect = drawData.Value.sourceRect; if (sourceRect.HasValue) { zero = new Vector4((float)value.sourceRect.Value.X, (float)value.sourceRect.Value.Y, (float)value.sourceRect.Value.Width, (float)value.sourceRect.Value.Height); } base.Shader.Parameters["uSourceRect"].SetValue(zero); base.Shader.Parameters["uWorldPosition"].SetValue(Main.screenPosition + value.position); base.Shader.Parameters["uImageSize0"].SetValue(new Vector2((float)value.texture.Width, (float)value.texture.Height)); } else { base.Shader.Parameters["uSourceRect"].SetValue(new Vector4(0f, 0f, 4f, 4f)); } if (this._uImage != null) { Main.graphics.GraphicsDevice.Textures[1] = this._uImage.Value; base.Shader.Parameters["uImageSize1"].SetValue(new Vector2((float)this._uImage.Value.Width, (float)this._uImage.Value.Height)); } base.Apply(); }
public override void PreApply(Entity e, DrawData?drawData) { Player player = e as Player; if (player == null) { return; } //Color darkens to secondary Color newColor = default(Color); newColor.R = (byte)((float)player.statLife / player.statLifeMax2 * Primary.R); newColor.B = (byte)((float)player.statLife / player.statLifeMax2 * Primary.B); newColor.G = (byte)((float)player.statLife / player.statLifeMax2 * Primary.G); if (newColor.R < Secondary.R) { newColor.R = Secondary.R; } if (newColor.B < Secondary.B) { newColor.B = Secondary.B; } if (newColor.G < Secondary.G) { newColor.G = Secondary.G; } UseColor(newColor); }
public virtual void Apply(Player player, DrawData?drawData = null) { if (!_shaderDisabled) { _shader.Parameters["uColor"].SetValue(_uColor); _shader.Parameters["uSaturation"].SetValue(_uSaturation); _shader.Parameters["uSecondaryColor"].SetValue(_uSecondaryColor); _shader.Parameters["uTime"].SetValue(Main.GlobalTime); _shader.Parameters["uOpacity"].SetValue(_uOpacity); if (drawData.HasValue) { DrawData value = drawData.Value; Vector4 value2 = new Vector4(value.sourceRect.Value.X, value.sourceRect.Value.Y, value.sourceRect.Value.Width, value.sourceRect.Value.Height); _shader.Parameters["uSourceRect"].SetValue(value2); _shader.Parameters["uWorldPosition"].SetValue(Main.screenPosition + value.position); _shader.Parameters["uImageSize0"].SetValue(new Vector2(value.texture.Width, value.texture.Height)); } else { _shader.Parameters["uSourceRect"].SetValue(new Vector4(0f, 0f, 4f, 4f)); } if (_uImage != null) { Main.graphics.GraphicsDevice.Textures[1] = _uImage.Value; _shader.Parameters["uImageSize1"].SetValue(new Vector2(_uImage.Value.Width, _uImage.Value.Height)); } if (player != null) { _shader.Parameters["uDirection"].SetValue((float)player.direction); } Apply(); } }
public virtual void Apply(Entity entity, DrawData?drawData = null) { this.Shader.Parameters["uColor"].SetValue(this._uColor); this.Shader.Parameters["uSaturation"].SetValue(this._uSaturation); this.Shader.Parameters["uSecondaryColor"].SetValue(this._uSecondaryColor); this.Shader.Parameters["uTime"].SetValue(Main.GlobalTime); this.Shader.Parameters["uOpacity"].SetValue(this._uOpacity); if (drawData.HasValue) { DrawData drawData1 = drawData.Value; this.Shader.Parameters["uSourceRect"].SetValue(!drawData1.sourceRect.HasValue ? new Vector4(0.0f, 0.0f, (float)drawData1.texture.Width, (float)drawData1.texture.Height) : new Vector4((float)drawData1.sourceRect.Value.X, (float)drawData1.sourceRect.Value.Y, (float)drawData1.sourceRect.Value.Width, (float)drawData1.sourceRect.Value.Height)); this.Shader.Parameters["uWorldPosition"].SetValue(Main.screenPosition + drawData1.position); this.Shader.Parameters["uImageSize0"].SetValue(new Vector2((float)drawData1.texture.Width, (float)drawData1.texture.Height)); this.Shader.Parameters["uRotation"].SetValue(drawData1.rotation * (drawData1.effect.HasFlag((Enum)SpriteEffects.FlipHorizontally) ? -1f : 1f)); this.Shader.Parameters["uDirection"].SetValue(drawData1.effect.HasFlag((Enum)SpriteEffects.FlipHorizontally) ? -1 : 1); } else { this.Shader.Parameters["uSourceRect"].SetValue(new Vector4(0.0f, 0.0f, 4f, 4f)); this.Shader.Parameters["uRotation"].SetValue(0.0f); } if (this._uImage != null) { Main.graphics.GraphicsDevice.Textures[1] = (Texture)this._uImage.Value; this.Shader.Parameters["uImageSize1"].SetValue(new Vector2((float)this._uImage.Value.Width, (float)this._uImage.Value.Height)); } if (entity != null) { this.Shader.Parameters["uDirection"].SetValue((float)entity.direction); } this.Apply(); }
public virtual void Apply(DrawData?drawData = null) { this.Shader.Parameters["uColor"].SetValue(this._uColor); this.Shader.Parameters["uSaturation"].SetValue(this._uSaturation); this.Shader.Parameters["uSecondaryColor"].SetValue(this._uSecondaryColor); this.Shader.Parameters["uTime"].SetValue(Main.GlobalTime); this.Shader.Parameters["uOpacity"].SetValue(this._uOpacity); if (drawData.HasValue) { DrawData drawData1 = drawData.Value; Vector4 vector4 = Vector4.Zero; if (drawData.Value.sourceRect.HasValue) { vector4 = new Vector4((float)drawData1.sourceRect.Value.X, (float)drawData1.sourceRect.Value.Y, (float)drawData1.sourceRect.Value.Width, (float)drawData1.sourceRect.Value.Height); } this.Shader.Parameters["uSourceRect"].SetValue(vector4); this.Shader.Parameters["uWorldPosition"].SetValue(Main.screenPosition + drawData1.position); this.Shader.Parameters["uImageSize0"].SetValue(new Vector2((float)drawData1.texture.Width, (float)drawData1.texture.Height)); } else { this.Shader.Parameters["uSourceRect"].SetValue(new Vector4(0.0f, 0.0f, 4f, 4f)); } if (this._uImage != null) { Main.graphics.GraphicsDevice.Textures[1] = (Texture)this._uImage.Value; this.Shader.Parameters["uImageSize1"].SetValue(new Vector2((float)this._uImage.Value.Width, (float)this._uImage.Value.Height)); } this.Apply(); }
public virtual void Apply(Entity entity, DrawData?drawData = null) { _shader.Parameters["uColor"].SetValue(_uColor); _shader.Parameters["uSaturation"].SetValue(_uSaturation); _shader.Parameters["uSecondaryColor"].SetValue(_uSecondaryColor); _shader.Parameters["uTime"].SetValue(Main.GlobalTime); _shader.Parameters["uOpacity"].SetValue(_uOpacity); if (drawData.HasValue) { DrawData value = drawData.Value; Vector4 value2 = value.sourceRect.HasValue ? new Vector4(value.sourceRect.Value.X, value.sourceRect.Value.Y, value.sourceRect.Value.Width, value.sourceRect.Value.Height) : new Vector4(0f, 0f, value.texture.Width, value.texture.Height); _shader.Parameters["uSourceRect"].SetValue(value2); _shader.Parameters["uWorldPosition"].SetValue(Main.screenPosition + value.position); _shader.Parameters["uImageSize0"].SetValue(new Vector2(value.texture.Width, value.texture.Height)); _shader.Parameters["uRotation"].SetValue(value.rotation * (value.effect.HasFlag(SpriteEffects.FlipHorizontally) ? (-1f) : 1f)); _shader.Parameters["uDirection"].SetValue((!value.effect.HasFlag(SpriteEffects.FlipHorizontally)) ? 1 : (-1)); } else { _shader.Parameters["uSourceRect"].SetValue(new Vector4(0f, 0f, 4f, 4f)); _shader.Parameters["uRotation"].SetValue(0f); } if (_uImage != null) { Main.graphics.GraphicsDevice.Textures[1] = _uImage.Value; _shader.Parameters["uImageSize1"].SetValue(new Vector2(_uImage.Value.Width, _uImage.Value.Height)); } if (entity != null) { _shader.Parameters["uDirection"].SetValue((float)entity.direction); } Apply(); }
public virtual void Apply(DrawData?drawData = null) { this.Shader.get_Parameters().get_Item("uColor").SetValue(this._uColor); this.Shader.get_Parameters().get_Item("uSaturation").SetValue(this._uSaturation); this.Shader.get_Parameters().get_Item("uSecondaryColor").SetValue(this._uSecondaryColor); this.Shader.get_Parameters().get_Item("uTime").SetValue(Main.GlobalTime); this.Shader.get_Parameters().get_Item("uOpacity").SetValue(this._uOpacity); if (drawData.HasValue) { DrawData drawData1 = drawData.Value; Vector4 zero = Vector4.get_Zero(); if (drawData.Value.sourceRect.HasValue) { // ISSUE: explicit reference operation ((Vector4)@zero).\u002Ector((float)drawData1.sourceRect.Value.X, (float)drawData1.sourceRect.Value.Y, (float)drawData1.sourceRect.Value.Width, (float)drawData1.sourceRect.Value.Height); } this.Shader.get_Parameters().get_Item("uSourceRect").SetValue(zero); this.Shader.get_Parameters().get_Item("uWorldPosition").SetValue(Vector2.op_Addition(Main.screenPosition, drawData1.position)); this.Shader.get_Parameters().get_Item("uImageSize0").SetValue(new Vector2((float)drawData1.texture.get_Width(), (float)drawData1.texture.get_Height())); } else { this.Shader.get_Parameters().get_Item("uSourceRect").SetValue(new Vector4(0.0f, 0.0f, 4f, 4f)); } if (this._uImage != null) { Main.graphics.get_GraphicsDevice().get_Textures().set_Item(1, (Texture)this._uImage.Value); this.Shader.get_Parameters().get_Item("uImageSize1").SetValue(new Vector2((float)this._uImage.Value.get_Width(), (float)this._uImage.Value.get_Height())); } this.Apply(); }
public override void Apply(Player player, DrawData?drawData = null) { if (drawData.HasValue) { this.UseTargetPosition(Main.screenPosition + drawData.Value.position); } base.Apply(player, drawData); }
public override void PreApply(Entity e, DrawData?drawData) { if (isRainbow) { Vector3 f = new Vector3(((float)Main.DiscoR / 255) + 0.3f, ((float)Main.DiscoG / 255) + 0.3f, ((float)Main.DiscoB / 255) + 0.3f); UseColor(f); } }
public override void PreApply(Entity entity, DrawData?drawData) { if (entity == null) { return; } Color newColor = default(Color); float num = (float)(Main.worldSurface * 0.45) * 16f; float num2 = (float)(Main.worldSurface + Main.rockLayer) * 8f; float num3 = (float)(Main.rockLayer + Main.maxTilesY) * 8f; float num4 = (Main.maxTilesY - 150) * 16f; Vector2 center = entity.Center; if (center.Y < num) { float num5 = center.Y / num; float num6 = 1f - num5; newColor.R = ((byte)(116f * num6 + 28f * num5)); newColor.G = ((byte)(160f * num6 + 216f * num5)); newColor.B = ((byte)(249f * num6 + 94f * num5)); } else if (center.Y < num2) { float num7 = num; float num8 = (center.Y - num7) / (num2 - num7); float num9 = 1f - num8; newColor.R = ((byte)(28f * num9 + 151f * num8)); newColor.G = ((byte)(216f * num9 + 107f * num8)); newColor.B = ((byte)(94f * num9 + 75f * num8)); } else if (center.Y < num3) { float num10 = num2; float num11 = (center.Y - num10) / (num3 - num10); float num12 = 1f - num11; newColor.R = ((byte)(151f * num12 + 128f * num11)); newColor.G = ((byte)(107f * num12 + 128f * num11)); newColor.B = ((byte)(75f * num12 + 128f * num11)); } else if (center.Y < num4) { float num13 = num3; float num14 = (center.Y - num13) / (num4 - num13); float num15 = 1f - num14; newColor.R = ((byte)(128f * num15 + 255f * num14)); newColor.G = ((byte)(128f * num15 + 50f * num14)); newColor.B = ((byte)(128f * num15 + 15f * num14)); } else { newColor.R = (255); newColor.G = (50); newColor.B = (10); } Primary = newColor; }
// Token: 0x06000D8A RID: 3466 RVA: 0x003E5584 File Offset: 0x003E3784 public void ApplySecondary(int shaderId, Entity entity, DrawData?drawData = null) { if (shaderId != 0 && shaderId <= this._shaderDataCount) { this._shaderData[shaderId - 1].GetSecondaryShader(entity).Apply(entity, drawData); return; } Main.pixelShader.CurrentTechnique.Passes[0].Apply(); }
// Token: 0x06000D90 RID: 3472 RVA: 0x003E4BF1 File Offset: 0x003E2DF1 public void Apply(short shaderId, Player player, DrawData?drawData = null) { if (shaderId != 0 && shaderId <= (short)this._shaderDataCount) { this._shaderData[(int)(shaderId - 1)].Apply(player, drawData); return; } Main.pixelShader.CurrentTechnique.Passes[0].Apply(); }
public override void PreApply(Entity e, DrawData?drawData) { Color newColor = default(Color); Color color = Lighting.GetColor((int)(e.position.X + e.width * 0.5) / 16, (int)((e.position.Y + e.height * 0.25) / 16.0)); newColor.R = ((byte)(color.R + newColor.R >> 1)); newColor.G = ((byte)(color.G + newColor.G >> 1)); newColor.B = ((byte)(color.B + newColor.B >> 1)); Primary = newColor; }
/// <summary> /// Applies a shader for the provided WoMDNPC. Possible results are the Painted, SprayPainted, and PaintedNegative shaders. /// </summary> /// <param name="globalNpc"></param> /// <param name="drawData">This is necessary for the SprayPainted shader to work</param> /// <returns></returns> public static MiscShaderData applyShader(WoMDNPC globalNpc, PaintData data, DrawData?drawData = null) { MiscShaderData shader = getShader(globalNpc, data, out bool needsDrawData); if (shader != null) { shader.Apply(needsDrawData ? drawData : null); } return(shader); }
public void ApplySecondary(int shaderId, Entity entity, DrawData?drawData = null) { if (shaderId >= 1 && shaderId <= _shaderDataCount) { _shaderData[shaderId - 1].GetSecondaryShader(entity).Apply(entity, drawData); } else { Main.pixelShader.CurrentTechnique.Passes[0].Apply(); } }
public void Apply(short shaderId, Player player, DrawData?drawData = null) { if (shaderId != (short)0 && (int)shaderId <= (int)this._shaderDataCount) { this._shaderData[(int)shaderId - 1].Apply(player, drawData); } else { Main.pixelShader.CurrentTechnique.Passes[0].Apply(); } }
public void Apply(short shaderId, Player player, DrawData?drawData = null) { if ((int)shaderId != 0 && (int)shaderId <= (int)this._shaderDataCount) { this._shaderData[(int)shaderId - 1].Apply(player, drawData); } else { Main.pixelShader.get_CurrentTechnique().get_Passes().get_Item(0).Apply(); } }
public void Apply(int shaderId, Entity entity, DrawData?drawData = null) { if (shaderId != 0 && shaderId <= this._shaderDataCount) { this._shaderData[shaderId - 1].Apply(entity, drawData); } else { Main.pixelShader.CurrentTechnique.Passes[0].Apply(); } }
public void ApplySecondary(int shaderId, Entity entity, DrawData?drawData = null) { if (shaderId != 0 && shaderId <= this._shaderDataCount) { this._shaderData[shaderId - 1].GetSecondaryShader(entity).Apply(entity, drawData); } else { Main.pixelShader.get_CurrentTechnique().get_Passes().get_Item(0).Apply(); } }
private void InitGunAnimDrawLayers() { this.GunAnimDrawLayer = new PlayerLayer("TheMadRanger", "Custom Gun Animation", (plrDrawInfo) => { Main.playerDrawData.Add(this.GetGunAnimationDrawData(plrDrawInfo)); DrawData?drawData = this.GetReloadDrawData(plrDrawInfo); if (drawData.HasValue) { Main.playerDrawData.Add(drawData.Value); } }); }
// Token: 0x06000F70 RID: 3952 RVA: 0x003F501C File Offset: 0x003F321C public override void Apply(Entity entity, DrawData?drawData) { Player player = entity as Player; if (player == null || player.team == 0) { TeamArmorShaderData.dustShaderData[0].Apply(player, drawData); return; } base.UseColor(Main.teamColor[player.team]); base.Apply(player, drawData); }
public override void Apply(Entity entity, DrawData?drawData) { if (entity == null) { this.Shader.Parameters["uLightSource"].SetValue(Vector3.Zero); } else { float num1 = 0.0f; if (drawData.HasValue) { num1 = drawData.Value.rotation; } Vector2 position = entity.position; float width = (float)entity.width; float height = (float)entity.height; Vector2 vector2_1 = new Vector2(width, height) * 0.1f; Vector2 vector2_2 = position + vector2_1; float x = width * 0.8f; float y = height * 0.8f; Vector2 vector2_3 = new Vector2(x * 0.5f, 0.0f); Vector3 subLight1 = Lighting.GetSubLight(vector2_2 + vector2_3); Vector2 vector2_4 = new Vector2(0.0f, y * 0.5f); Vector3 subLight2 = Lighting.GetSubLight(vector2_2 + vector2_4); Vector2 vector2_5 = new Vector2(x, y * 0.5f); Vector3 subLight3 = Lighting.GetSubLight(vector2_2 + vector2_5); Vector2 vector2_6 = new Vector2(x * 0.5f, y); Vector3 subLight4 = Lighting.GetSubLight(vector2_2 + vector2_6); float num2 = subLight1.X + subLight1.Y + subLight1.Z; float num3 = subLight2.X + subLight2.Y + subLight2.Z; float num4 = subLight3.X + subLight3.Y + subLight3.Z; float num5 = subLight4.X + subLight4.Y + subLight4.Z; Vector2 spinningpoint = new Vector2(num4 - num3, num5 - num2); if ((double)spinningpoint.Length() > 1.0) { float num6 = 1f; spinningpoint /= num6; } if (entity.direction == -1) { spinningpoint.X *= -1f; } spinningpoint = spinningpoint.RotatedBy(-(double)num1, new Vector2()); Vector3 vector3 = new Vector3(spinningpoint, (float)(1.0 - ((double)spinningpoint.X * (double)spinningpoint.X + (double)spinningpoint.Y * (double)spinningpoint.Y))); vector3.X *= 2f; vector3.Y -= 0.15f; vector3.Y *= 2f; vector3.Normalize(); vector3.Z *= 0.6f; this.Shader.Parameters["uLightSource"].SetValue(vector3); } base.Apply(entity, drawData); }
public override void Apply(Entity entity, DrawData?drawData) { if (!(entity is Player) || ((Player)entity).team == 0) // TODO this is fishy { TeamArmorShaderData.dustShaderData[0].Apply(entity, drawData); } else { this.UseColor(Main.teamColor[((Player)entity).team]); base.Apply(entity, drawData); } }
public override void Apply(Entity entity, DrawData?drawData) { if (entity == null) { Shader.Parameters["uLightSource"].SetValue(Vector3.Zero); } else { var num1 = 0.0f; if (drawData.HasValue) { num1 = drawData.Value.rotation; } var position = entity.position; var width = entity.width; var height = (float)entity.height; var vector2 = position + new Vector2(width, height) * 0.1f; var x = width * 0.8f; var y = height * 0.8f; var subLight1 = Lighting.GetSubLight(vector2 + new Vector2(x * 0.5f, 0.0f)); var subLight2 = Lighting.GetSubLight(vector2 + new Vector2(0.0f, y * 0.5f)); var subLight3 = Lighting.GetSubLight(vector2 + new Vector2(x, y * 0.5f)); var subLight4 = Lighting.GetSubLight(vector2 + new Vector2(x * 0.5f, y)); var num2 = subLight1.X + subLight1.Y + subLight1.Z; var num3 = subLight2.X + subLight2.Y + subLight2.Z; var num4 = subLight3.X + subLight3.Y + subLight3.Z; var num5 = subLight4.X + subLight4.Y + subLight4.Z; var spinningpoint = new Vector2(num4 - num3, num5 - num2); if (spinningpoint.Length() > 1.0) { var num6 = 1f; spinningpoint /= num6; } if (entity.direction == -1) { spinningpoint.X *= -1f; } spinningpoint = spinningpoint.RotatedBy(-(double)num1, new Vector2()); var vector3 = new Vector3(spinningpoint, (float)(1.0 - (spinningpoint.X * (double)spinningpoint.X + spinningpoint.Y * (double)spinningpoint.Y))); vector3.X *= 2f; vector3.Y -= 0.15f; vector3.Y *= 2f; vector3.Normalize(); vector3.Z *= 0.6f; Shader.Parameters["uLightSource"].SetValue(vector3); } base.Apply(entity, drawData); }
/* * public override void Apply(Entity entity, DrawData? drawData) * { * * Player player = entity as Player; * * dustShaderData.UseColor(player.shirtColor).Apply(player, drawData); * * * * } */ public override void Apply(Entity entity, DrawData?drawData) { Player player = entity as Player; if (player == null) { dustShaderData.UseColor(player.shoeColor).UseSaturation(3f).Apply(player, drawData); return; } UseColor(player.shoeColor); UseSaturation(3f); base.Apply(player, drawData); }
public override void Apply(Entity entity, DrawData?drawData) { try{ base.Apply(entity, drawData); }catch (System.Exception e) { if (thrown) { Main.NewTextMultiline(e.Message); Artifice.instance.Logger.Warn(e.ToString()); thrown = true; } } }
public override void PreApply(Entity e, DrawData?drawData) { Color color = default(Color); if (Main.waterStyle == 2) { color = new Color(124, 118, 242); } else if (Main.waterStyle == 3) { color = new Color(143, 215, 29); } else if (Main.waterStyle == 4) { color = new Color(78, 193, 227); } else if (Main.waterStyle == 5) { color = new Color(189, 231, 255); } else if (Main.waterStyle == 6) { color = new Color(230, 219, 100); } else if (Main.waterStyle == 7) { color = new Color(151, 107, 75); } else if (Main.waterStyle == 8) { color = new Color(128, 128, 128); } else if (Main.waterStyle == 9) { color = new Color(200, 0, 0); } else if (Main.waterStyle == 10) { color = new Color(208, 80, 80); } else if (Main.waterStyle >= WaterStyleLoader.vanillaWaterCount) { color = WaterStyleLoader.GetWaterStyle(Main.waterStyle).BiomeHairColor(); } else { color = new Color(28, 216, 94); } Primary = color; }
public override void Apply(Entity entity, DrawData?drawData) { if (entity == null) { _shader.Parameters["uLightSource"].SetValue(Vector3.Zero); } else { float num1 = 0.0f; if (drawData.HasValue) { num1 = drawData.Value.rotation; } Vector2 vector2_1 = entity.position; float x1 = (float)entity.width; float y1 = (float)entity.height; Vector2 vector2_2 = vector2_1 + new Vector2(x1, y1) * 0.1f; float x2 = x1 * 0.8f; float y2 = y1 * 0.8f; Vector3 subLight1 = Lighting.GetSubLight(vector2_2 + new Vector2(x2 * 0.5f, 0.0f)); Vector3 subLight2 = Lighting.GetSubLight(vector2_2 + new Vector2(0.0f, y2 * 0.5f)); Vector3 subLight3 = Lighting.GetSubLight(vector2_2 + new Vector2(x2, y2 * 0.5f)); Vector3 subLight4 = Lighting.GetSubLight(vector2_2 + new Vector2(x2 * 0.5f, y2)); float num2 = subLight1.X + subLight1.Y + subLight1.Z; float num3 = subLight2.X + subLight2.Y + subLight2.Z; float num4 = subLight3.X + subLight3.Y + subLight3.Z; float num5 = subLight4.X + subLight4.Y + subLight4.Z; Vector2 spinningpoint = new Vector2(num4 - num3, num5 - num2); if ((double)spinningpoint.Length() > 1.0) { float num6 = 1f; spinningpoint /= num6; } if (entity.direction == -1) { spinningpoint.X *= -1f; } spinningpoint = Utils.RotatedBy(spinningpoint, -(double)num1, new Vector2()); Vector3 vector3 = new Vector3(spinningpoint, (float)(1.0 - ((double)spinningpoint.X * (double)spinningpoint.X + (double)spinningpoint.Y * (double)spinningpoint.Y))); vector3.X *= 2f; vector3.Y -= 0.15f; vector3.Y *= 2f; vector3.Normalize(); vector3.Z *= 0.6f; _shader.Parameters["uLightSource"].SetValue(vector3); } base.Apply(entity, drawData); }
public override void Apply(Entity entity, DrawData?drawData) { Player player = entity as Player; if (player != null && player.team != 0) { this.UseColor(Main.teamColor[player.team]); base.Apply((Entity)player, drawData); } else { TeamArmorShaderData.dustShaderData[0].Apply((Entity)player, drawData); } }