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

◆ DrawGoreBehind()

void Terraria.Main.DrawGoreBehind ( )
inlineprotected

Definition at line 20333 of file Main.cs.

20334 {
20335 for (int i = 0; i < 600; i++)
20336 {
20337 if (!gore[i].active || gore[i].type <= 0)
20338 {
20339 continue;
20340 }
20341 bool flag = false;
20342 if (((gore[i].type >= 706 && gore[i].type <= 717) || gore[i].type == 943 || gore[i].type == 1147 || (gore[i].type >= 1160 && gore[i].type <= 1162)) && (gore[i].frame < 7 || gore[i].frame > 9))
20343 {
20344 flag = true;
20345 }
20346 if (flag)
20347 {
20348 LoadGore(gore[i].type);
20349 if (gore[i].Frame.ColumnCount > 1 || gore[i].Frame.RowCount > 1)
20350 {
20351 Microsoft.Xna.Framework.Rectangle sourceRectangle = gore[i].Frame.GetSourceRectangle(TextureAssets.Gore[gore[i].type].Value);
20352 Microsoft.Xna.Framework.Color alpha = gore[i].GetAlpha(Lighting.GetColor((int)((double)gore[i].position.X + (double)sourceRectangle.Width * 0.5) / 16, (int)(((double)gore[i].position.Y + (double)sourceRectangle.Height * 0.5) / 16.0)));
20353 spriteBatch.Draw(TextureAssets.Gore[gore[i].type].Value, new Vector2(gore[i].position.X - screenPosition.X + (float)(sourceRectangle.Width / 2), gore[i].position.Y - screenPosition.Y + (float)(sourceRectangle.Height / 2) - 2f), sourceRectangle, alpha, gore[i].rotation, new Vector2(sourceRectangle.Width / 2, sourceRectangle.Height / 2), gore[i].scale, SpriteEffects.None, 0f);
20354 }
20355 else
20356 {
20357 Microsoft.Xna.Framework.Color alpha2 = gore[i].GetAlpha(Lighting.GetColor((int)((double)gore[i].position.X + (double)TextureAssets.Gore[gore[i].type].Width() * 0.5) / 16, (int)(((double)gore[i].position.Y + (double)TextureAssets.Gore[gore[i].type].Height() * 0.5) / 16.0)));
20358 spriteBatch.Draw(TextureAssets.Gore[gore[i].type].Value, new Vector2(gore[i].position.X - screenPosition.X + (float)(TextureAssets.Gore[gore[i].type].Width() / 2), gore[i].position.Y - screenPosition.Y + (float)(TextureAssets.Gore[gore[i].type].Height() / 2)), new Microsoft.Xna.Framework.Rectangle(0, 0, TextureAssets.Gore[gore[i].type].Width(), TextureAssets.Gore[gore[i].type].Height()), alpha2, gore[i].rotation, new Vector2(TextureAssets.Gore[gore[i].type].Width() / 2, TextureAssets.Gore[gore[i].type].Height() / 2), gore[i].scale, SpriteEffects.None, 0f);
20359 }
20360 }
20361 }
20362 }
static Asset< Texture2D >[] Gore
static SpriteBatch spriteBatch
Definition Main.cs:974
static Gore[] gore
Definition Main.cs:1687
static Vector2 screenPosition
Definition Main.cs:1715
void LoadGore(int i)
Definition Main.cs:56050

References Terraria.Lighting.GetColor(), Terraria.GameContent.TextureAssets.Gore, Terraria.Main.gore, System.Text.RegularExpressions.i, Terraria.Main.LoadGore(), Terraria.Main.screenPosition, Terraria.Main.spriteBatch, and System.type.

Referenced by Terraria.Main.DrawBackGore(), and Terraria.Main.DrawCapture().