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

◆ Update()

void Terraria.Player.SelectionRadial.Update ( )
inline

Definition at line 414 of file Player.cs.

415 {
416 switch (Mode)
417 {
418 case SelectionMode.Dpad4:
419 if (PlayerInput.Triggers.JustPressed.DpadRadial1)
420 {
422 }
423 if (PlayerInput.Triggers.JustPressed.DpadRadial2)
424 {
426 }
427 if (PlayerInput.Triggers.JustPressed.DpadRadial3)
428 {
430 }
431 if (PlayerInput.Triggers.JustPressed.DpadRadial4)
432 {
434 }
435 break;
436 case SelectionMode.RadialCircular:
437 case SelectionMode.RadialQuicks:
438 {
439 for (int i = 0; i < RadialCount; i++)
440 {
441 Bindings[i] = i;
442 }
443 if ((Mode != SelectionMode.RadialCircular || !PlayerInput.Triggers.Current.RadialHotbar) && (Mode != SelectionMode.RadialQuicks || !PlayerInput.Triggers.Current.RadialQuickbar))
444 {
445 break;
446 }
447 bool flag = Mode == SelectionMode.RadialCircular;
448 float num = (float)Math.PI * 2f / (float)RadialCount / 2f;
449 Vector2 vector = PlayerInput.GamepadThumbstickRight.RotatedBy(-(float)Math.PI / 2f + num);
450 if (vector.Length() == 0f)
451 {
452 vector = PlayerInput.GamepadThumbstickLeft.RotatedBy(-(float)Math.PI / 2f + num);
453 }
454 int num2 = -1;
455 if (vector.Length() > 0.3f)
456 {
457 num2 = (int)((vector.ToRotation() + (float)Math.PI) / ((float)Math.PI * 2f / (float)RadialCount));
458 if (num2 >= RadialCount)
459 {
460 num2 -= RadialCount;
461 }
462 }
463 if ((num2 != -1 || !flag) && _SelectedBinding != num2 && (num2 != -1 || !(vector != Vector2.Zero)))
464 {
466 }
467 break;
468 }
469 }
470 }
const double PI
Definition Math.cs:16
static TriggersPack Triggers
static Vector2 GamepadThumbstickLeft
static Vector2 GamepadThumbstickRight

References Terraria.Player.SelectionRadial._SelectedBinding, Terraria.Player.SelectionRadial.Bindings, Terraria.Player.SelectionRadial.ChangeSelection(), Terraria.GameInput.PlayerInput.GamepadThumbstickLeft, Terraria.GameInput.PlayerInput.GamepadThumbstickRight, System.Math.PI, Terraria.Player.SelectionRadial.RadialCount, Terraria.GameInput.PlayerInput.Triggers, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.Player.Update().