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

◆ DrawPlayer_08_Backpacks()

static void Terraria.DataStructures.PlayerDrawLayers.DrawPlayer_08_Backpacks ( ref PlayerDrawSet drawinfo)
inlinestatic

Definition at line 369 of file PlayerDrawLayers.cs.

370 {
372 {
373 Vector2 vec = new Vector2(-2f + -2f * drawinfo.drawPlayer.Directions.X, 0f) + drawinfo.Position - Main.screenPosition + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.width / 2, drawinfo.drawPlayer.height - drawinfo.drawPlayer.bodyFrame.Height / 2);
374 vec = vec.Floor();
375 Texture2D value = TextureAssets.Extra[212].Value;
376 Rectangle value2 = value.Frame(1, 5, 0, drawinfo.drawPlayer.miscCounter % 25 / 5);
377 Color immuneAlphaPure = drawinfo.drawPlayer.GetImmuneAlphaPure(new Color(250, 250, 250, 200), drawinfo.shadow);
378 immuneAlphaPure *= drawinfo.drawPlayer.stealth;
379 DrawData item = new DrawData(value, vec, value2, immuneAlphaPure, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
380 item.shader = drawinfo.cBody;
381 drawinfo.DrawDataCache.Add(item);
382 }
384 {
385 Vector2 vec2 = new Vector2(-9f + 1f * drawinfo.drawPlayer.Directions.X, -4f * drawinfo.drawPlayer.Directions.Y) + drawinfo.Position - Main.screenPosition + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.width / 2, drawinfo.drawPlayer.height - drawinfo.drawPlayer.bodyFrame.Height / 2);
386 vec2 = vec2.Floor();
387 Texture2D value3 = TextureAssets.Extra[213].Value;
388 Rectangle value4 = value3.Frame(1, 5, 0, drawinfo.drawPlayer.miscCounter % 25 / 5);
389 Color immuneAlphaPure2 = drawinfo.drawPlayer.GetImmuneAlphaPure(new Color(250, 250, 250, 200), drawinfo.shadow);
390 immuneAlphaPure2 *= drawinfo.drawPlayer.stealth;
391 DrawData item = new DrawData(value3, vec2, value4, immuneAlphaPure2, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
392 item.shader = drawinfo.cBody;
393 drawinfo.DrawDataCache.Add(item);
394 }
395 if (drawinfo.heldItem.type == 4818 && drawinfo.drawPlayer.ownedProjectileCounts[902] == 0)
396 {
397 int num = 8;
398 Vector2 vector = new Vector2(0f, 8f);
399 Vector2 vec3 = drawinfo.Position - Main.screenPosition + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.width / 2, drawinfo.drawPlayer.height - drawinfo.drawPlayer.bodyFrame.Height / 2) + new Vector2(0f, -4f) + vector;
400 vec3 = vec3.Floor();
401 DrawData item = new DrawData(TextureAssets.BackPack[num].Value, vec3, drawinfo.drawPlayer.bodyFrame, drawinfo.colorArmorBody, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
402 drawinfo.DrawDataCache.Add(item);
403 }
404 if (drawinfo.drawPlayer.backpack > 0 && drawinfo.drawPlayer.backpack < ArmorIDs.Back.Count && !drawinfo.drawPlayer.mount.Active)
405 {
406 Vector2 vector2 = new Vector2(0f, 8f);
407 Vector2 vec4 = drawinfo.Position - Main.screenPosition + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.width / 2, drawinfo.drawPlayer.height - drawinfo.drawPlayer.bodyFrame.Height / 2) + new Vector2(0f, -4f) + vector2;
408 vec4 = vec4.Floor();
409 DrawData item = new DrawData(TextureAssets.AccBack[drawinfo.drawPlayer.backpack].Value, vec4, drawinfo.drawPlayer.bodyFrame, drawinfo.colorArmorBody, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
410 item.shader = drawinfo.cBackpack;
411 drawinfo.DrawDataCache.Add(item);
412 }
413 else
414 {
415 if (drawinfo.heldItem.type != 1178 && drawinfo.heldItem.type != 779 && drawinfo.heldItem.type != 5134 && drawinfo.heldItem.type != 1295 && drawinfo.heldItem.type != 1910 && !drawinfo.drawPlayer.turtleArmor && drawinfo.drawPlayer.body != 106 && drawinfo.drawPlayer.body != 170)
416 {
417 return;
418 }
419 int type = drawinfo.heldItem.type;
420 int num2 = 1;
421 float num3 = -4f;
422 float num4 = -8f;
423 int shader = 0;
424 if (drawinfo.drawPlayer.turtleArmor)
425 {
426 num2 = 4;
427 shader = drawinfo.cBody;
428 }
429 else if (drawinfo.drawPlayer.body == 106)
430 {
431 num2 = 6;
432 shader = drawinfo.cBody;
433 }
434 else if (drawinfo.drawPlayer.body == 170)
435 {
436 num2 = 7;
437 shader = drawinfo.cBody;
438 }
439 else
440 {
441 switch (type)
442 {
443 case 1178:
444 num2 = 1;
445 break;
446 case 779:
447 num2 = 2;
448 break;
449 case 5134:
450 num2 = 9;
451 break;
452 case 1295:
453 num2 = 3;
454 break;
455 case 1910:
456 num2 = 5;
457 break;
458 }
459 }
460 Vector2 vector3 = new Vector2(0f, 8f);
461 Vector2 vec5 = drawinfo.Position - Main.screenPosition + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.width / 2, drawinfo.drawPlayer.height - drawinfo.drawPlayer.bodyFrame.Height / 2) + new Vector2(0f, -4f) + vector3;
462 vec5 = vec5.Floor();
463 Vector2 vec6 = drawinfo.Position - Main.screenPosition + new Vector2(drawinfo.drawPlayer.width / 2, drawinfo.drawPlayer.height - drawinfo.drawPlayer.bodyFrame.Height / 2) + new Vector2((-9f + num3) * (float)drawinfo.drawPlayer.direction, (2f + num4) * drawinfo.drawPlayer.gravDir) + vector3;
464 vec6 = vec6.Floor();
465 switch (num2)
466 {
467 case 7:
468 {
469 DrawData item = new DrawData(TextureAssets.BackPack[num2].Value, vec5, new Rectangle(0, drawinfo.drawPlayer.bodyFrame.Y, TextureAssets.BackPack[num2].Width(), drawinfo.drawPlayer.bodyFrame.Height), drawinfo.colorArmorBody, drawinfo.drawPlayer.bodyRotation, new Vector2((float)TextureAssets.BackPack[num2].Width() * 0.5f, drawinfo.bodyVect.Y), 1f, drawinfo.playerEffect);
470 item.shader = shader;
471 drawinfo.DrawDataCache.Add(item);
472 break;
473 }
474 case 4:
475 case 6:
476 {
477 DrawData item = new DrawData(TextureAssets.BackPack[num2].Value, vec5, drawinfo.drawPlayer.bodyFrame, drawinfo.colorArmorBody, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
478 item.shader = shader;
479 drawinfo.DrawDataCache.Add(item);
480 break;
481 }
482 default:
483 {
484 DrawData item = new DrawData(TextureAssets.BackPack[num2].Value, vec6, new Rectangle(0, 0, TextureAssets.BackPack[num2].Width(), TextureAssets.BackPack[num2].Height()), drawinfo.colorArmorBody, drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.BackPack[num2].Width() / 2, TextureAssets.BackPack[num2].Height() / 2), 1f, drawinfo.playerEffect);
485 item.shader = shader;
486 drawinfo.DrawDataCache.Add(item);
487 break;
488 }
489 }
490 }
491 }
void Add(TKey key, TValue value)
static bool DrawPlayer_08_PlayerVisuallyHasFullArmorSet(PlayerDrawSet drawinfo, int head, int body, int legs)
static Asset< Texture2D >[] BackPack
static Asset< Texture2D >[] Extra
static Asset< Texture2D >[] AccBack
static readonly int Count
Definition ArmorIDs.cs:1668

References Terraria.GameContent.TextureAssets.AccBack, System.Collections.Generic.Dictionary< TKey, TValue >.Add(), Terraria.GameContent.TextureAssets.BackPack, Microsoft.Xna.Framework.Graphics.Color, Terraria.ID.ArmorIDs.Back.Count, Terraria.DataStructures.PlayerDrawLayers.DrawPlayer_08_PlayerVisuallyHasFullArmorSet(), Terraria.GameContent.TextureAssets.Extra, System.item, System.type, System.value, and Microsoft.Xna.Framework.Graphics.Vector2.

Referenced by Terraria.Graphics.Renderers.LegacyPlayerRenderer.DrawPlayer_UseNormalLayers().