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

◆ Spawn_ItemTransfer()

static void Terraria.GameContent.Drawing.ParticleOrchestrator.Spawn_ItemTransfer ( ParticleOrchestraSettings settings)
inlinestaticprivate

Definition at line 523 of file ParticleOrchestrator.cs.

524 {
525 Vector2 vector = settings.PositionInWorld + settings.MovementVector;
526 Vector2 vector2 = Main.rand.NextVector2Circular(32f, 32f);
527 Vector2 vector3 = settings.PositionInWorld + vector2;
528 Vector2 vector4 = vector - vector3;
529 int uniqueInfoPiece = settings.UniqueInfoPiece;
530 if (ContentSamples.ItemsByType.TryGetValue(uniqueInfoPiece, out var value) && !value.IsAir)
531 {
532 uniqueInfoPiece = value.type;
533 int num = Main.rand.Next(60, 80);
534 Chest.AskForChestToEatItem(vector3 + vector4 + new Vector2(-8f, -8f), num + 10);
535 ItemTransferParticle itemTransferParticle = _poolItemTransfer.RequestParticle();
536 itemTransferParticle.Prepare(uniqueInfoPiece, num, vector3, vector3 + vector4);
537 Main.ParticleSystem_World_OverPlayers.Add(itemTransferParticle);
538 }
539 }
static ParticlePool< ItemTransferParticle > _poolItemTransfer
void Prepare(int itemType, int lifeTimeTotal, Vector2 playerPosition, Vector2 chestPosition)
static Dictionary< int, Item > ItemsByType

References Terraria.GameContent.Drawing.ParticleOrchestrator._poolItemTransfer, Terraria.Chest.AskForChestToEatItem(), Terraria.ID.ContentSamples.ItemsByType, Terraria.GameContent.Drawing.ParticleOrchestraSettings.MovementVector, Terraria.Main.ParticleSystem_World_OverPlayers, Terraria.Graphics.Renderers.ItemTransferParticle.Prepare(), Terraria.Main.rand, Terraria.GameContent.Drawing.ParticleOrchestraSettings.UniqueInfoPiece, and System.value.

Referenced by Terraria.GameContent.Drawing.ParticleOrchestrator.SpawnParticlesDirect().