Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DrowningShader.cs
Go to the documentation of this file.
3
5
7{
8 private float _breath = 1f;
9
10 public override void Update(float elapsedTime)
11 {
12 Player player = Main.player[Main.myPlayer];
13 _breath = (float)(player.breath * player.breathCDMax - player.breathCD) / (float)(player.breathMax * player.breathCDMax);
14 }
15
16 [RgbProcessor(/*Could not decode attribute arguments.*/)]
17 private void ProcessLowDetail(RgbDevice device, Fragment fragment, EffectDetailLevel quality, float time)
18 {
19 for (int i = 0; i < fragment.Count; i++)
20 {
21 fragment.GetCanvasPositionOfIndex(i);
22 Vector4 vector = new Vector4(0f, 0f, 1f, 1f - _breath);
23 fragment.SetColor(i, vector);
24 }
25 }
26
27 [RgbProcessor(/*Could not decode attribute arguments.*/)]
28 private void ProcessHighDetail(RgbDevice device, Fragment fragment, EffectDetailLevel quality, float time)
29 {
30 float num = _breath * 1.2f - 0.1f;
31 for (int i = 0; i < fragment.Count; i++)
32 {
33 Vector2 canvasPositionOfIndex = fragment.GetCanvasPositionOfIndex(i);
34 Vector4 vector = Vector4.Zero;
35 if (canvasPositionOfIndex.Y > num)
36 {
37 vector = new Vector4(0f, 0f, 1f, MathHelper.Clamp((canvasPositionOfIndex.Y - num) * 5f, 0f, 1f));
38 }
39 fragment.SetColor(i, vector);
40 }
41 }
42}
static float Clamp(float value, float min, float max)
Definition MathHelper.cs:46
void SetColor(int index, Vector4 color)
Definition Fragment.cs:97
Vector2 GetCanvasPositionOfIndex(int index)
Definition Fragment.cs:75
override void Update(float elapsedTime)
void ProcessHighDetail(RgbDevice device, Fragment fragment, EffectDetailLevel quality, float time)
void ProcessLowDetail(RgbDevice device, Fragment fragment, EffectDetailLevel quality, float time)
static int myPlayer
Definition Main.cs:1801
static Player[] player
Definition Main.cs:1803