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

◆ ProvideCandidate()

bool Terraria.GameContent.ObjectInteractions.ProjectileSmartInteractCandidateProvider.ProvideCandidate ( SmartInteractScanSettings settings,
out ISmartInteractCandidate candidate )
inline

Implements Terraria.GameContent.ObjectInteractions.ISmartInteractCandidateProvider.

Definition at line 34 of file ProjectileSmartInteractCandidateProvider.cs.

35 {
36 candidate = null;
37 if (!settings.FullInteraction)
38 {
39 return false;
40 }
41 List<int> listOfProjectilesToInteractWithHack = settings.player.GetListOfProjectilesToInteractWithHack();
42 bool flag = false;
43 Vector2 mousevec = settings.mousevec;
44 mousevec.ToPoint();
45 int num = -1;
47 for (int i = 0; i < listOfProjectilesToInteractWithHack.Count; i++)
48 {
50 Projectile projectile = Main.projectile[num2];
51 if (projectile.active)
52 {
53 float num3 = projectile.Hitbox.Distance(mousevec);
54 if (num == -1 || Main.projectile[num].Hitbox.Distance(mousevec) > num3)
55 {
56 num = num2;
58 }
59 if (num3 == 0f)
60 {
61 flag = true;
62 num = num2;
64 break;
65 }
66 }
67 }
68 if (settings.DemandOnlyZeroDistanceTargets && !flag)
69 {
70 return false;
71 }
72 if (num != -1)
73 {
76 return true;
77 }
78 return false;
79 }

References Terraria.GameContent.ObjectInteractions.ProjectileSmartInteractCandidateProvider._candidate, Terraria.Entity.active, System.Collections.Generic.Dictionary< TKey, TValue >.Count, Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings.DemandOnlyZeroDistanceTargets, Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings.FullInteraction, Terraria.Player.GetListOfProjectilesToInteractWithHack(), Terraria.Entity.Hitbox, Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings.mousevec, Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings.player, Terraria.Main.projectile, and Terraria.GameContent.ObjectInteractions.ProjectileSmartInteractCandidateProvider.ReusableCandidate.Reuse().