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

◆ DepositAll()

static void Terraria.UI.ChestUI.DepositAll ( ContainerTransferContext context)
inlinestatic

Definition at line 450 of file ChestUI.cs.

451 {
452 Player player = Main.player[Main.myPlayer];
453 if (player.chest > -1)
454 {
455 MoveCoins(player.inventory, Main.chest[player.chest].item, context);
456 }
457 else if (player.chest == -3)
458 {
459 MoveCoins(player.inventory, player.bank2.item, context);
460 }
461 else if (player.chest == -4)
462 {
463 MoveCoins(player.inventory, player.bank3.item, context);
464 }
465 else if (player.chest == -5)
466 {
467 MoveCoins(player.inventory, player.bank4.item, context);
468 }
469 else
470 {
471 MoveCoins(player.inventory, player.bank.item, context);
472 }
473 for (int num = 49; num >= 10; num--)
474 {
475 if (player.inventory[num].stack > 0 && player.inventory[num].type > 0 && !player.inventory[num].favorited)
476 {
477 if (player.inventory[num].maxStack > 1)
478 {
479 for (int i = 0; i < 40; i++)
480 {
481 if (player.chest > -1)
482 {
483 Chest chest = Main.chest[player.chest];
484 if (chest.item[i].stack >= chest.item[i].maxStack || !player.inventory[num].IsTheSameAs(chest.item[i]))
485 {
486 continue;
487 }
488 int num2 = player.inventory[num].stack;
489 if (player.inventory[num].stack + chest.item[i].stack > chest.item[i].maxStack)
490 {
491 num2 = chest.item[i].maxStack - chest.item[i].stack;
492 }
493 player.inventory[num].stack -= num2;
494 chest.item[i].stack += num2;
496 if (player.inventory[num].stack <= 0)
497 {
498 player.inventory[num].SetDefaults();
499 if (Main.netMode == 1)
500 {
501 NetMessage.SendData(32, -1, -1, null, player.chest, i);
502 }
503 break;
504 }
505 if (chest.item[i].type == 0)
506 {
507 chest.item[i] = player.inventory[num].Clone();
508 player.inventory[num].SetDefaults();
509 }
510 if (Main.netMode == 1)
511 {
512 NetMessage.SendData(32, -1, -1, null, player.chest, i);
513 }
514 }
515 else if (player.chest == -3)
516 {
517 if (player.bank2.item[i].stack < player.bank2.item[i].maxStack && player.inventory[num].IsTheSameAs(player.bank2.item[i]))
518 {
519 int num3 = player.inventory[num].stack;
520 if (player.inventory[num].stack + player.bank2.item[i].stack > player.bank2.item[i].maxStack)
521 {
522 num3 = player.bank2.item[i].maxStack - player.bank2.item[i].stack;
523 }
524 player.inventory[num].stack -= num3;
525 player.bank2.item[i].stack += num3;
527 if (player.inventory[num].stack <= 0)
528 {
529 player.inventory[num].SetDefaults();
530 break;
531 }
532 if (player.bank2.item[i].type == 0)
533 {
534 player.bank2.item[i] = player.inventory[num].Clone();
535 player.inventory[num].SetDefaults();
536 }
537 }
538 }
539 else if (player.chest == -4)
540 {
541 if (player.bank3.item[i].stack < player.bank3.item[i].maxStack && player.inventory[num].IsTheSameAs(player.bank3.item[i]))
542 {
543 int num4 = player.inventory[num].stack;
544 if (player.inventory[num].stack + player.bank3.item[i].stack > player.bank3.item[i].maxStack)
545 {
546 num4 = player.bank3.item[i].maxStack - player.bank3.item[i].stack;
547 }
548 player.inventory[num].stack -= num4;
549 player.bank3.item[i].stack += num4;
551 if (player.inventory[num].stack <= 0)
552 {
553 player.inventory[num].SetDefaults();
554 break;
555 }
556 if (player.bank3.item[i].type == 0)
557 {
558 player.bank3.item[i] = player.inventory[num].Clone();
559 player.inventory[num].SetDefaults();
560 }
561 }
562 }
563 else if (player.chest == -5)
564 {
565 if (player.bank4.item[i].stack < player.bank4.item[i].maxStack && player.inventory[num].IsTheSameAs(player.bank4.item[i]))
566 {
567 int num5 = player.inventory[num].stack;
568 if (player.inventory[num].stack + player.bank4.item[i].stack > player.bank4.item[i].maxStack)
569 {
570 num5 = player.bank4.item[i].maxStack - player.bank4.item[i].stack;
571 }
572 player.inventory[num].stack -= num5;
573 player.bank4.item[i].stack += num5;
575 if (player.inventory[num].stack <= 0)
576 {
577 player.inventory[num].SetDefaults();
578 break;
579 }
580 if (player.bank4.item[i].type == 0)
581 {
582 player.bank4.item[i] = player.inventory[num].Clone();
583 player.inventory[num].SetDefaults();
584 }
585 }
586 }
587 else if (player.bank.item[i].stack < player.bank.item[i].maxStack && player.inventory[num].IsTheSameAs(player.bank.item[i]))
588 {
589 int num6 = player.inventory[num].stack;
590 if (player.inventory[num].stack + player.bank.item[i].stack > player.bank.item[i].maxStack)
591 {
592 num6 = player.bank.item[i].maxStack - player.bank.item[i].stack;
593 }
594 player.inventory[num].stack -= num6;
595 player.bank.item[i].stack += num6;
597 if (player.inventory[num].stack <= 0)
598 {
599 player.inventory[num].SetDefaults();
600 break;
601 }
602 if (player.bank.item[i].type == 0)
603 {
604 player.bank.item[i] = player.inventory[num].Clone();
605 player.inventory[num].SetDefaults();
606 }
607 }
608 }
609 }
610 if (player.inventory[num].stack > 0)
611 {
612 if (player.chest > -1)
613 {
614 for (int j = 0; j < 40; j++)
615 {
616 if (Main.chest[player.chest].item[j].stack == 0)
617 {
619 Main.chest[player.chest].item[j] = player.inventory[num].Clone();
620 player.inventory[num].SetDefaults();
621 if (Main.netMode == 1)
622 {
623 NetMessage.SendData(32, -1, -1, null, player.chest, j);
624 }
625 break;
626 }
627 }
628 }
629 else if (player.chest == -3)
630 {
631 for (int k = 0; k < 40; k++)
632 {
633 if (player.bank2.item[k].stack == 0)
634 {
636 player.bank2.item[k] = player.inventory[num].Clone();
637 player.inventory[num].SetDefaults();
638 break;
639 }
640 }
641 }
642 else if (player.chest == -4)
643 {
644 for (int l = 0; l < 40; l++)
645 {
646 if (player.bank3.item[l].stack == 0)
647 {
649 player.bank3.item[l] = player.inventory[num].Clone();
650 player.inventory[num].SetDefaults();
651 break;
652 }
653 }
654 }
655 else if (player.chest == -5)
656 {
657 for (int m = 0; m < 40; m++)
658 {
659 if (player.bank4.item[m].stack == 0)
660 {
662 player.bank4.item[m] = player.inventory[num].Clone();
663 player.inventory[num].SetDefaults();
664 break;
665 }
666 }
667 }
668 else
669 {
670 for (int n = 0; n < 40; n++)
671 {
672 if (player.bank.item[n].stack == 0)
673 {
675 player.bank.item[n] = player.inventory[num].Clone();
676 player.inventory[num].SetDefaults();
677 break;
678 }
679 }
680 }
681 }
682 }
683 }
684 }
static void PlaySound(int type, Vector2 position, int style=1)
static long MoveCoins(Item[] pInv, Item[] cInv, ContainerTransferContext context)
Definition ChestUI.cs:1066

References Terraria.Player.bank, Terraria.Player.bank2, Terraria.Player.bank3, Terraria.Player.bank4, Terraria.Main.chest, Terraria.Player.chest, Terraria.Item.Clone(), Terraria.Item.favorited, Terraria.Player.inventory, Terraria.Item.IsTheSameAs(), Terraria.Chest.item, Terraria.Item.maxStack, Terraria.UI.ChestUI.MoveCoins(), Terraria.Main.myPlayer, Terraria.Main.netMode, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.NetMessage.SendData(), Terraria.Item.SetDefaults(), Terraria.Item.stack, and Terraria.Item.type.

Referenced by Terraria.UI.ChestUI.DrawButton().