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

◆ GetClosestTarget()

static void Terraria.GameInput.LockOnHelper.GetClosestTarget ( Vector2 position)
inlinestaticprivate

Definition at line 353 of file LockOnHelper.cs.

354 {
355 _pickedTarget = -1;
356 float num = -1f;
357 if (UseMode == LockOnMode.ThreeDS)
358 {
359 Vector2 center = Main.player[Main.myPlayer].Center;
360 Vector2 value = Main.player[Main.myPlayer].DirectionTo(Main.MouseWorld);
361 for (int i = 0; i < _targets.Count; i++)
362 {
363 int num2 = _targets[i];
364 NPC obj = Main.npc[num2];
365 float num3 = Vector2.Dot(obj.DirectionFrom(center), value);
366 if (ValidTarget(obj) && (_pickedTarget == -1 || !(num3 <= num)))
367 {
369 num = num3;
370 }
371 }
372 return;
373 }
374 for (int j = 0; j < _targets.Count; j++)
375 {
376 int num4 = _targets[j];
377 NPC nPC = Main.npc[num4];
378 if (ValidTarget(nPC) && (_pickedTarget == -1 || !(nPC.Distance(position) >= num)))
379 {
381 num = nPC.Distance(position);
382 }
383 }
384 }
static float Dot(Vector2 value1, Vector2 value2)
Definition Vector2.cs:121

References Terraria.GameInput.LockOnHelper._pickedTarget, Terraria.GameInput.LockOnHelper._targets, Microsoft.Xna.Framework.Vector2.Dot(), Terraria.Main.MouseWorld, Terraria.Main.myPlayer, Terraria.Main.npc, System.obj, Terraria.Main.player, Terraria.GameInput.LockOnHelper.UseMode, Terraria.GameInput.LockOnHelper.ValidTarget(), and System.value.

Referenced by Terraria.GameInput.LockOnHelper.CycleTargetThreeDS(), Terraria.GameInput.LockOnHelper.FindMostViableTarget(), and Terraria.GameInput.LockOnHelper.SetActive().