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

◆ UpdateVisualFrame()

void Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay.UpdateVisualFrame ( )
inlineprivate

Definition at line 356 of file UICreativeInfiniteItemsDisplay.cs.

357 {
358 float num = 0.05f;
360 float lerpValue = Utils.GetLerpValue(1f, 0.7f, sacrificeAnimationProgress, clamped: true);
361 float num2 = lerpValue * lerpValue;
362 num2 *= 2f;
363 float num3 = 1f + num2;
364 num *= num3;
365 float num4 = 1.1428572f;
366 float num5 = 1f;
370 int frameY = 0;
372 {
373 float num6 = 0.1f;
374 float num7 = 1f / 15f;
375 frameY = ((sacrificeAnimationProgress >= 1f - num6) ? 8 : ((sacrificeAnimationProgress >= 1f - num6 * 2f) ? 7 : ((sacrificeAnimationProgress >= 1f - num6 * 3f) ? 6 : ((sacrificeAnimationProgress >= num7 * 4f) ? 5 : ((sacrificeAnimationProgress >= num7 * 3f) ? 4 : ((sacrificeAnimationProgress >= num7 * 2f) ? 3 : ((!(sacrificeAnimationProgress >= num7)) ? 1 : 2)))))));
377 {
379 Vector2 accelerationPerFrame = new Vector2(0f, 0.16350001f);
380 for (int i = 0; i < 15; i++)
381 {
382 Vector2 initialVelocity = Main.rand.NextVector2Circular(4f, 3f);
383 if (initialVelocity.Y > 0f)
384 {
385 initialVelocity.Y = 0f - initialVelocity.Y;
386 }
387 initialVelocity.Y -= 2f;
389 {
390 AccelerationPerFrame = accelerationPerFrame,
391 ScaleOffsetPerFrame = -1f / 60f
392 });
393 }
394 }
396 {
397 _researchComplete = false;
399 }
400 }
401 _sacrificePistons.SetFrame(1, 9, 0, frameY, 0, 0);
402 }
static void PlaySound(int type, Vector2 position, int style=1)
static void OffsetRotationsForCogs(float rotationOffset, List< UIImage > cogsList)

References Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay._pistonParticleAsset, Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay._pistonParticleSystem, Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay._researchComplete, Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay._sacrificeAnimationTimeLeft, Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay._sacrificeCogsBig, Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay._sacrificeCogsMedium, Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay._sacrificeCogsSmall, Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay._sacrificePistons, Terraria.GameContent.UI.Elements.UIParticleLayer.AddParticle(), Terraria.Utils.GetLerpValue(), Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay.GetSacrificeAnimationProgress(), Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay.OffsetRotationsForCogs(), Terraria.Audio.SoundEngine.PlaySound(), Terraria.Main.rand, Terraria.GameContent.UI.Elements.UIImageFramed.SetFrame(), Microsoft.Xna.Framework.Graphics.Vector2, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay.sacrificeWindow_OnUpdate(), and Terraria.GameContent.UI.Elements.UICreativeInfiniteItemsDisplay.StopPlayingAnimation().