Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SmartSelectGamepadPointer.cs
Go to the documentation of this file.
1
using
System
;
2
using
Microsoft.Xna.Framework
;
3
4
namespace
Terraria.GameInput
;
5
6
public
class
SmartSelectGamepadPointer
7
{
8
private
Vector2
_size
;
9
10
private
Vector2
_center
;
11
12
private
Vector2
_distUniform
=
new
Vector2
(80f, 64f);
13
14
public
bool
ShouldBeUsed
()
15
{
16
if
(
PlayerInput
.
UsingGamepad
&&
Main
.
LocalPlayer
.controlTorch)
17
{
18
return
Main
.
SmartCursorIsUsed
;
19
}
20
return
false
;
21
}
22
23
public
void
SmartSelectLookup_GetTargetTile
(
Player
player, out
int
tX, out
int
tY)
24
{
25
tX = (int)(((
float
)
Main
.
mouseX
+
Main
.
screenPosition
.X) / 16f);
26
tY = (int)(((
float
)Main.mouseY +
Main
.
screenPosition
.Y) / 16f);
27
if
(player.
gravDir
== -1f)
28
{
29
tY = (int)((
Main
.
screenPosition
.Y + (
float
)Main.screenHeight - (float)
Main
.
mouseY
) / 16f);
30
}
31
if
(
ShouldBeUsed
())
32
{
33
Point
point =
GetPointerPosition
().ToPoint();
34
tX = (int)(((
float
)point.
X
+
Main
.
screenPosition
.X) / 16f);
35
tY = (int)(((
float
)point.Y +
Main
.
screenPosition
.Y) / 16f);
36
if
(player.
gravDir
== -1f)
37
{
38
tY = (int)((
Main
.
screenPosition
.Y + (
float
)Main.screenHeight - (float)point.
Y
) / 16f);
39
}
40
}
41
}
42
43
public
void
UpdateSize
(
Vector2
size)
44
{
45
_size
= size;
46
}
47
48
public
void
UpdateCenter
(
Vector2
center)
49
{
50
_center
= center;
51
}
52
53
public
Vector2
GetPointerPosition
()
54
{
55
Vector2
vector = (
new
Vector2
(
Main
.
mouseX
,
Main
.
mouseY
) -
_center
) /
_size
;
56
float
num =
Math
.
Abs
(vector.
X
);
57
if
(num <
Math
.
Abs
(vector.
Y
))
58
{
59
num =
Math
.
Abs
(vector.
Y
);
60
}
61
if
(num > 1f)
62
{
63
vector /= num;
64
}
65
vector *=
Main
.
GameViewMatrix
.Zoom.X;
66
return
vector *
_distUniform
+
_center
;
67
}
68
}
System.Math.Abs
static double Abs(double value)
System.Math
Definition
Math.cs:13
Terraria.GameInput.PlayerInput.UsingGamepad
static bool UsingGamepad
Definition
PlayerInput.cs:331
Terraria.GameInput.PlayerInput
Definition
PlayerInput.cs:18
Terraria.GameInput.SmartSelectGamepadPointer.UpdateSize
void UpdateSize(Vector2 size)
Definition
SmartSelectGamepadPointer.cs:43
Terraria.GameInput.SmartSelectGamepadPointer._size
Vector2 _size
Definition
SmartSelectGamepadPointer.cs:8
Terraria.GameInput.SmartSelectGamepadPointer._distUniform
Vector2 _distUniform
Definition
SmartSelectGamepadPointer.cs:12
Terraria.GameInput.SmartSelectGamepadPointer.UpdateCenter
void UpdateCenter(Vector2 center)
Definition
SmartSelectGamepadPointer.cs:48
Terraria.GameInput.SmartSelectGamepadPointer.ShouldBeUsed
bool ShouldBeUsed()
Definition
SmartSelectGamepadPointer.cs:14
Terraria.GameInput.SmartSelectGamepadPointer.GetPointerPosition
Vector2 GetPointerPosition()
Definition
SmartSelectGamepadPointer.cs:53
Terraria.GameInput.SmartSelectGamepadPointer._center
Vector2 _center
Definition
SmartSelectGamepadPointer.cs:10
Terraria.GameInput.SmartSelectGamepadPointer.SmartSelectLookup_GetTargetTile
void SmartSelectLookup_GetTargetTile(Player player, out int tX, out int tY)
Definition
SmartSelectGamepadPointer.cs:23
Terraria.GameInput.SmartSelectGamepadPointer
Definition
SmartSelectGamepadPointer.cs:7
Terraria.Main.screenPosition
static Vector2 screenPosition
Definition
Main.cs:1715
Terraria.Main.GameViewMatrix
static SpriteViewMatrix GameViewMatrix
Definition
Main.cs:227
Terraria.Main.SmartCursorIsUsed
static bool SmartCursorIsUsed
Definition
Main.cs:2855
Terraria.Main.mouseY
static int mouseY
Definition
Main.cs:606
Terraria.Main.LocalPlayer
static Player LocalPlayer
Definition
Main.cs:2829
Terraria.Main.mouseX
static int mouseX
Definition
Main.cs:604
Terraria.Main
Definition
Main.cs:79
Terraria.Player.gravDir
float gravDir
Definition
Player.cs:1587
Terraria.Player
Definition
Player.cs:42
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
System
Definition
BlockingCollection.cs:8
Terraria.GameInput
Definition
CursorMode.cs:1
Microsoft.Xna.Framework.Point.X
int X
Definition
Point.cs:14
Microsoft.Xna.Framework.Point.Y
int Y
Definition
Point.cs:17
Microsoft.Xna.Framework.Point
Definition
Point.cs:12
Microsoft.Xna.Framework.Vector2.X
float X
Definition
Vector2.cs:14
Microsoft.Xna.Framework.Vector2.Y
float Y
Definition
Vector2.cs:17
Microsoft.Xna.Framework.Vector2
Definition
Vector2.cs:12
source
Terraria.GameInput
SmartSelectGamepadPointer.cs
Generated by
1.10.0