Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PotionOfReturnSmartInteractCandidateProvider.cs
Go to the documentation of this file.
1
using
Microsoft.Xna.Framework
;
2
3
namespace
Terraria.GameContent.ObjectInteractions
;
4
5
public
class
PotionOfReturnSmartInteractCandidateProvider
:
ISmartInteractCandidateProvider
6
{
7
private
class
ReusableCandidate
:
ISmartInteractCandidate
8
{
9
public
float
DistanceFromCursor
{
get
;
private
set
; }
10
11
public
void
WinCandidacy
()
12
{
13
Main.SmartInteractPotionOfReturn =
true
;
14
Main.SmartInteractShowingGenuine =
true
;
15
}
16
17
public
void
Reuse
(
float
distanceFromCursor)
18
{
19
DistanceFromCursor
= distanceFromCursor;
20
}
21
}
22
23
private
ReusableCandidate
_candidate
=
new
ReusableCandidate
();
24
25
public
void
ClearSelfAndPrepareForCheck
()
26
{
27
Main.SmartInteractPotionOfReturn =
false
;
28
}
29
30
public
bool
ProvideCandidate
(
SmartInteractScanSettings
settings, out
ISmartInteractCandidate
candidate)
31
{
32
candidate =
null
;
33
if
(!
PotionOfReturnHelper
.
TryGetGateHitbox
(settings.
player
, out var homeHitbox))
34
{
35
return
false
;
36
}
37
Vector2
vector = homeHitbox.ClosestPointInRect(settings.
mousevec
);
38
float
distanceFromCursor = vector.
Distance
(settings.
mousevec
);
39
Point
point = vector.ToTileCoordinates();
40
if
(point.
X
< settings.
LX
|| point.
X
> settings.
HX
|| point.
Y
< settings.
LY
|| point.
Y
> settings.
HY
)
41
{
42
return
false
;
43
}
44
_candidate
.
Reuse
(distanceFromCursor);
45
candidate =
_candidate
;
46
return
true
;
47
}
48
}
Terraria.GameContent.ObjectInteractions.PotionOfReturnHelper.TryGetGateHitbox
static bool TryGetGateHitbox(Player player, out Rectangle homeHitbox)
Definition
PotionOfReturnHelper.cs:7
Terraria.GameContent.ObjectInteractions.PotionOfReturnHelper
Definition
PotionOfReturnHelper.cs:6
Terraria.GameContent.ObjectInteractions.PotionOfReturnSmartInteractCandidateProvider.ReusableCandidate.DistanceFromCursor
float DistanceFromCursor
Definition
PotionOfReturnSmartInteractCandidateProvider.cs:9
Terraria.GameContent.ObjectInteractions.PotionOfReturnSmartInteractCandidateProvider.ReusableCandidate.WinCandidacy
void WinCandidacy()
Definition
PotionOfReturnSmartInteractCandidateProvider.cs:11
Terraria.GameContent.ObjectInteractions.PotionOfReturnSmartInteractCandidateProvider.ReusableCandidate.Reuse
void Reuse(float distanceFromCursor)
Definition
PotionOfReturnSmartInteractCandidateProvider.cs:17
Terraria.GameContent.ObjectInteractions.PotionOfReturnSmartInteractCandidateProvider.ReusableCandidate
Definition
PotionOfReturnSmartInteractCandidateProvider.cs:8
Terraria.GameContent.ObjectInteractions.PotionOfReturnSmartInteractCandidateProvider._candidate
ReusableCandidate _candidate
Definition
PotionOfReturnSmartInteractCandidateProvider.cs:23
Terraria.GameContent.ObjectInteractions.PotionOfReturnSmartInteractCandidateProvider.ClearSelfAndPrepareForCheck
void ClearSelfAndPrepareForCheck()
Definition
PotionOfReturnSmartInteractCandidateProvider.cs:25
Terraria.GameContent.ObjectInteractions.PotionOfReturnSmartInteractCandidateProvider.ProvideCandidate
bool ProvideCandidate(SmartInteractScanSettings settings, out ISmartInteractCandidate candidate)
Definition
PotionOfReturnSmartInteractCandidateProvider.cs:30
Terraria.GameContent.ObjectInteractions.PotionOfReturnSmartInteractCandidateProvider
Definition
PotionOfReturnSmartInteractCandidateProvider.cs:6
Terraria.GameContent.ObjectInteractions.ISmartInteractCandidateProvider
Definition
ISmartInteractCandidateProvider.cs:4
Terraria.GameContent.ObjectInteractions.ISmartInteractCandidate
Definition
ISmartInteractCandidate.cs:4
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
Terraria.GameContent.ObjectInteractions
Definition
AHoverInteractionChecker.cs:5
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.Distance
static float Distance(Vector2 value1, Vector2 value2)
Definition
Vector2.cs:91
Microsoft.Xna.Framework.Vector2
Definition
Vector2.cs:12
Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings.player
Player player
Definition
SmartInteractScanSettings.cs:7
Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings.LX
int LX
Definition
SmartInteractScanSettings.cs:15
Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings.mousevec
Vector2 mousevec
Definition
SmartInteractScanSettings.cs:13
Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings.LY
int LY
Definition
SmartInteractScanSettings.cs:19
Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings.HX
int HX
Definition
SmartInteractScanSettings.cs:17
Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings.HY
int HY
Definition
SmartInteractScanSettings.cs:21
Terraria.GameContent.ObjectInteractions.SmartInteractScanSettings
Definition
SmartInteractScanSettings.cs:6
source
Terraria.GameContent.ObjectInteractions
PotionOfReturnSmartInteractCandidateProvider.cs
Generated by
1.10.0