Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Update()

override void Terraria.GameContent.Skies.LanternSky.Update ( GameTime gameTime)
inline

Definition at line 113 of file LanternSky.cs.

114 {
115 if (Main.gamePaused || !Main.hasFocus)
116 {
117 return;
118 }
119 _opacity = Utils.Clamp(_opacity + (float)LanternNight.LanternsUp.ToDirectionInt() * 0.01f, 0f, 1f);
120 for (int i = 0; i < _lanterns.Length; i++)
121 {
122 if (!_lanterns[i].Active)
123 {
124 continue;
125 }
126 float num = Main.windSpeedCurrent;
127 if (num == 0f)
128 {
129 num = 0.1f;
130 }
131 float num2 = (float)Math.Sin(_lanterns[i].Position.X / 120f) * 0.5f;
132 _lanterns[i].Position.Y += num2 * 0.5f;
134 _lanterns[i].Position.X += (0.1f + num) * (3f - _lanterns[i].Speed) * 0.5f * ((float)i / (float)_lanterns.Length + 1.5f) / 2.5f;
135 _lanterns[i].Rotation = num2 * (float)((!(num < 0f)) ? 1 : (-1)) * 0.5f;
136 _lanterns[i].TimeUntilFloat = Math.Max(0, _lanterns[i].TimeUntilFloat - 1);
137 if (_lanterns[i].Position.Y < 300f)
138 {
139 if (!_leaving)
140 {
141 ResetLantern(i);
142 _lanterns[i].Position = new Vector2(_random.Next(0, Main.maxTilesX) * 16, (float)Main.worldSurface * 16f + 1600f);
143 }
144 else
145 {
146 _lanterns[i].Active = false;
148 }
149 }
150 }
151 _active = true;
152 }
static double Sin(double a)
static byte Max(byte val1, byte val2)
Definition Math.cs:738

References Terraria.GameContent.Skies.LanternSky._active, Terraria.GameContent.Skies.LanternSky._lanterns, Terraria.GameContent.Skies.LanternSky._lanternsDrawing, Terraria.GameContent.Skies.LanternSky._leaving, Terraria.GameContent.Skies.LanternSky._opacity, Terraria.GameContent.Skies.LanternSky._random, Terraria.GameContent.Skies.LanternSky.Lantern.Active, Terraria.Graphics.Effects.Active, Terraria.GameContent.Skies.LanternSky.Lantern.FloatAdjustedSpeed, Terraria.Main.gamePaused, Terraria.Main.hasFocus, Terraria.GameContent.Events.LanternNight.LanternsUp, System.Math.Max(), Terraria.Main.maxTilesX, Terraria.Utilities.UnifiedRandom.Next(), Terraria.GameContent.Skies.LanternSky.Lantern.Position, Terraria.GameContent.Skies.LanternSky.ResetLantern(), Terraria.GameContent.Skies.LanternSky.Lantern.Rotation, System.Math.Sin(), Terraria.GameContent.Skies.LanternSky.Lantern.TimeUntilFloat, Microsoft.Xna.Framework.Graphics.Vector2, Terraria.Main.windSpeedCurrent, Terraria.Main.worldSurface, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.