Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ReturnGatePlayerRenderer.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
using
Microsoft.Xna.Framework
;
3
using
Microsoft.Xna.Framework.Graphics
;
4
using
Terraria.DataStructures
;
5
using
Terraria.GameContent
;
6
using
Terraria.GameContent.ObjectInteractions
;
7
8
namespace
Terraria.Graphics.Renderers
;
9
10
internal
class
ReturnGatePlayerRenderer
:
IPlayerRenderer
11
{
12
private
List<DrawData>
_voidLensData
=
new
List<DrawData>
();
13
14
private
PotionOfReturnGateInteractionChecker
_interactionChecker
=
new
PotionOfReturnGateInteractionChecker
();
15
16
public
void
DrawPlayers
(
Camera
camera
,
IEnumerable<Player>
players
)
17
{
18
foreach
(
Player
player
in
players
)
19
{
20
DrawReturnGateInWorld
(
camera
, player);
21
}
22
}
23
24
public
void
DrawPlayerHead
(
Camera
camera
,
Player
drawPlayer,
Vector2
position,
float
alpha = 1f,
float
scale = 1f,
Color
borderColor
=
default
(
Color
))
25
{
26
DrawReturnGateInMap
(
camera
, drawPlayer);
27
}
28
29
public
void
DrawPlayer
(
Camera
camera
,
Player
drawPlayer,
Vector2
position,
float
rotation,
Vector2
rotationOrigin,
float
shadow = 0f,
float
scale = 1f)
30
{
31
DrawReturnGateInWorld
(
camera
, drawPlayer);
32
}
33
34
private
void
DrawReturnGateInMap
(
Camera
camera
,
Player
player)
35
{
36
}
37
38
private
void
DrawReturnGateInWorld
(
Camera
camera
,
Player
player)
39
{
40
Rectangle
homeHitbox
=
Rectangle
.
Empty
;
41
if
(!
PotionOfReturnHelper
.
TryGetGateHitbox
(player,
out
homeHitbox
))
42
{
43
return
;
44
}
45
int
num = 0;
46
AHoverInteractionChecker.HoverStatus
hoverStatus
=
AHoverInteractionChecker
.
HoverStatus
.NotSelectable;
47
if
(player ==
Main
.
LocalPlayer
)
48
{
49
_interactionChecker
.
AttemptInteraction
(player,
homeHitbox
);
50
}
51
if
(
Main
.
SmartInteractPotionOfReturn
)
52
{
53
hoverStatus
=
AHoverInteractionChecker
.
HoverStatus
.Selected;
54
}
55
num = (int)
hoverStatus
;
56
if
(!player.
PotionOfReturnOriginalUsePosition
.HasValue)
57
{
58
return
;
59
}
60
SpriteBatch
spriteBatch =
camera
.SpriteBatch;
61
SamplerState
sampler
=
camera
.Sampler;
62
spriteBatch.
Begin
(
SpriteSortMode
.Immediate,
BlendState
.
AlphaBlend
,
sampler
,
DepthStencilState
.
None
,
camera
.Rasterizer,
null
,
camera
.GameViewMatrix.TransformationMatrix);
63
float
opacity
= ((player.whoAmI ==
Main
.
myPlayer
) ? 1f : 0.1f);
64
Vector2
value = player.
PotionOfReturnOriginalUsePosition
.Value;
65
Vector2
vector
=
new
Vector2
(0f, -21f);
66
Vector2
worldPosition
= value +
vector
;
67
Vector2
worldPosition2
=
homeHitbox
.Center.ToVector2();
68
PotionOfReturnGateHelper
potionOfReturnGateHelper
=
new
PotionOfReturnGateHelper
(
PotionOfReturnGateHelper
.
GateType
.ExitPoint,
worldPosition
,
opacity
);
69
PotionOfReturnGateHelper
potionOfReturnGateHelper2
=
new
PotionOfReturnGateHelper
(
PotionOfReturnGateHelper
.
GateType
.EntryPoint,
worldPosition2
,
opacity
);
70
if
(!
Main
.
gamePaused
)
71
{
72
potionOfReturnGateHelper
.Update();
73
potionOfReturnGateHelper2
.Update();
74
}
75
_voidLensData
.
Clear
();
76
potionOfReturnGateHelper
.DrawToDrawData(
_voidLensData
, 0);
77
potionOfReturnGateHelper2
.DrawToDrawData(
_voidLensData
, num);
78
foreach
(
DrawData
voidLensDatum
in
_voidLensData
)
79
{
80
voidLensDatum
.Draw(spriteBatch);
81
}
82
spriteBatch.End();
83
}
84
}
Microsoft.Xna.Framework.Graphics.BlendState.AlphaBlend
static readonly BlendState AlphaBlend
Definition
BlendState.cs:36
Microsoft.Xna.Framework.Graphics.BlendState
Definition
BlendState.cs:9
Microsoft.Xna.Framework.Graphics.DepthStencilState.None
static readonly DepthStencilState None
Definition
DepthStencilState.cs:42
Microsoft.Xna.Framework.Graphics.DepthStencilState
Definition
DepthStencilState.cs:9
Microsoft.Xna.Framework.Graphics.SamplerState
Definition
SamplerState.cs:9
Microsoft.Xna.Framework.Graphics.SpriteBatch.Begin
void Begin()
Definition
SpriteBatch.cs:325
Microsoft.Xna.Framework.Graphics.SpriteBatch
Definition
SpriteBatch.cs:8
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Collections.Generic.List.Clear
void Clear()
Definition
List.cs:313
Terraria.GameContent.ObjectInteractions.AHoverInteractionChecker.AttemptInteraction
HoverStatus AttemptInteraction(Player player, Rectangle Hitbox)
Definition
AHoverInteractionChecker.cs:16
Terraria.GameContent.ObjectInteractions.AHoverInteractionChecker.HoverStatus
HoverStatus
Definition
AHoverInteractionChecker.cs:10
Terraria.GameContent.ObjectInteractions.AHoverInteractionChecker
Definition
AHoverInteractionChecker.cs:8
Terraria.GameContent.ObjectInteractions.PotionOfReturnGateInteractionChecker
Definition
PotionOfReturnGateInteractionChecker.cs:6
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.Graphics.Camera
Definition
Camera.cs:7
Terraria.Graphics.Renderers.ReturnGatePlayerRenderer.DrawPlayers
void DrawPlayers(Camera camera, IEnumerable< Player > players)
Definition
ReturnGatePlayerRenderer.cs:16
Terraria.Graphics.Renderers.ReturnGatePlayerRenderer.DrawPlayer
void DrawPlayer(Camera camera, Player drawPlayer, Vector2 position, float rotation, Vector2 rotationOrigin, float shadow=0f, float scale=1f)
Definition
ReturnGatePlayerRenderer.cs:29
Terraria.Graphics.Renderers.ReturnGatePlayerRenderer.DrawReturnGateInWorld
void DrawReturnGateInWorld(Camera camera, Player player)
Definition
ReturnGatePlayerRenderer.cs:38
Terraria.Graphics.Renderers.ReturnGatePlayerRenderer._interactionChecker
PotionOfReturnGateInteractionChecker _interactionChecker
Definition
ReturnGatePlayerRenderer.cs:14
Terraria.Graphics.Renderers.ReturnGatePlayerRenderer.DrawReturnGateInMap
void DrawReturnGateInMap(Camera camera, Player player)
Definition
ReturnGatePlayerRenderer.cs:34
Terraria.Graphics.Renderers.ReturnGatePlayerRenderer.DrawPlayerHead
void DrawPlayerHead(Camera camera, Player drawPlayer, Vector2 position, float alpha=1f, float scale=1f, Color borderColor=default(Color))
Definition
ReturnGatePlayerRenderer.cs:24
Terraria.Graphics.Renderers.ReturnGatePlayerRenderer._voidLensData
List< DrawData > _voidLensData
Definition
ReturnGatePlayerRenderer.cs:12
Terraria.Graphics.Renderers.ReturnGatePlayerRenderer
Definition
ReturnGatePlayerRenderer.cs:11
Terraria.Main.myPlayer
static int myPlayer
Definition
Main.cs:1801
Terraria.Main.SmartInteractPotionOfReturn
static bool SmartInteractPotionOfReturn
Definition
Main.cs:2167
Terraria.Main.LocalPlayer
static Player LocalPlayer
Definition
Main.cs:2829
Terraria.Main.gamePaused
static bool gamePaused
Definition
Main.cs:1072
Terraria.Main
Definition
Main.cs:79
Terraria.Player.PotionOfReturnOriginalUsePosition
Vector2? PotionOfReturnOriginalUsePosition
Definition
Player.cs:2063
Terraria.Player
Definition
Player.cs:42
Terraria.Graphics.Renderers.IPlayerRenderer
Definition
IPlayerRenderer.cs:7
Microsoft.Xna.Framework.Graphics.SurfaceFormat.Vector2
@ Vector2
Microsoft.Xna.Framework.Graphics.SpriteSortMode
SpriteSortMode
Definition
SpriteSortMode.cs:4
Microsoft.Xna.Framework.Graphics
Definition
AlphaTestEffect.cs:1
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
Terraria.DataStructures
Definition
AEntitySource_OnHit.cs:1
Terraria.GameContent.ObjectInteractions
Definition
AHoverInteractionChecker.cs:5
Terraria.GameContent
Definition
AchievementsHelper.cs:1
Terraria.Graphics.Renderers
Definition
ABasicParticle.cs:5
Microsoft.Xna.Framework.Color
Definition
Color.cs:12
Microsoft.Xna.Framework.Rectangle.Empty
static Rectangle Empty
Definition
Rectangle.cs:50
Microsoft.Xna.Framework.Rectangle
Definition
Rectangle.cs:12
Microsoft.Xna.Framework.Vector2
Definition
Vector2.cs:12
Terraria.DataStructures.DrawData
Definition
DrawData.cs:7
Terraria.GameContent.PotionOfReturnGateHelper.GateType
GateType
Definition
PotionOfReturnGateHelper.cs:14
Terraria.GameContent.PotionOfReturnGateHelper
Definition
PotionOfReturnGateHelper.cs:12
source
Terraria.Graphics.Renderers
ReturnGatePlayerRenderer.cs
Generated by
1.10.0