Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
IssueReportsIndicator.cs
Go to the documentation of this file.
1
using
Microsoft.Xna.Framework
;
2
using
Microsoft.Xna.Framework.Graphics
;
3
using
ReLogic.Content
;
4
using
Terraria.Audio
;
5
using
Terraria.ID
;
6
using
Terraria.Localization
;
7
8
namespace
Terraria.GameContent.UI
;
9
10
public
class
IssueReportsIndicator
11
{
12
private
float
_displayUpPercent
;
13
14
private
bool
_shouldBeShowing
;
15
16
private
Asset<Texture2D>
_buttonTexture
;
17
18
private
Asset<Texture2D>
_buttonOutlineTexture
;
19
20
public
void
AttemptLettingPlayerKnow
()
21
{
22
Setup
();
23
_shouldBeShowing
=
true
;
24
SoundEngine
.
PlaySound
(
SoundID
.
DD2_ExplosiveTrapExplode
);
25
}
26
27
public
void
Hide
()
28
{
29
_shouldBeShowing
=
false
;
30
_displayUpPercent
= 0f;
31
}
32
33
private
void
OpenUI
()
34
{
35
Setup
();
36
Main
.
OpenReportsMenu
();
37
}
38
39
private
void
Setup
()
40
{
41
_buttonTexture
=
Main
.
Assets
.Request<
Texture2D
>(
"Images/UI/Workshop/IssueButton"
, (
AssetRequestMode
)1);
42
_buttonOutlineTexture
=
Main
.
Assets
.Request<
Texture2D
>(
"Images/UI/Workshop/IssueButton_Outline"
, (
AssetRequestMode
)1);
43
}
44
45
public
void
Draw
(
SpriteBatch
spriteBatch)
46
{
47
bool
shouldBeShowing =
_shouldBeShowing
;
48
_displayUpPercent
=
MathHelper
.
Clamp
(
_displayUpPercent
+ (
float
)shouldBeShowing.ToDirectionInt(), 0f, 1f);
49
if
(
_displayUpPercent
== 0f)
50
{
51
return
;
52
}
53
Texture2D
value =
_buttonTexture
.
Value
;
54
Vector2
vector =
Main
.
ScreenSize
.ToVector2() +
new
Vector2
(40f, -80f);
55
Vector2
value2 = vector +
new
Vector2
(-80f, 0f);
56
Vector2
vector2 =
Vector2
.
Lerp
(vector, value2,
_displayUpPercent
);
57
Rectangle
rectangle = value.Frame();
58
Vector2
origin = rectangle.Size() / 2f;
59
bool
flag =
false
;
60
if
(
Utils
.
CenteredRectangle
(vector2, rectangle.Size()).Contains(
Main
.
MouseScreen
.ToPoint()))
61
{
62
flag =
true
;
63
string
textValue =
Language
.
GetTextValue
(
"UI.IssueReporterHasThingsToShow"
);
64
Main
.
instance
.MouseText(textValue, 0, 0);
65
if
(
Main
.
mouseLeft
)
66
{
67
OpenUI
();
68
Hide
();
69
return
;
70
}
71
}
72
float
scale = 1f;
73
spriteBatch.
Draw
(value, vector2, rectangle,
Color
.
White
, 0f, origin, scale,
SpriteEffects
.None, 0f);
74
if
(flag)
75
{
76
Texture2D
value3 =
_buttonOutlineTexture
.
Value
;
77
Rectangle
rectangle2 = value3.Frame();
78
spriteBatch.
Draw
(value3, vector2, rectangle2,
Color
.
White
, 0f, rectangle2.Size() / 2f, scale,
SpriteEffects
.None, 0f);
79
}
80
}
81
}
Microsoft.Xna.Framework.Graphics.SpriteBatch.Draw
void Draw(Texture2D texture, Vector2 position, Color color)
Definition
SpriteBatch.cs:397
Microsoft.Xna.Framework.Graphics.SpriteBatch
Definition
SpriteBatch.cs:8
Microsoft.Xna.Framework.Graphics.Texture2D
Definition
Texture2D.cs:13
Microsoft.Xna.Framework.MathHelper.Clamp
static float Clamp(float value, float min, float max)
Definition
MathHelper.cs:46
Microsoft.Xna.Framework.MathHelper
Definition
MathHelper.cs:6
ReLogic.Content.Asset.Value
T Value
Definition
Asset.cs:26
ReLogic.Content.Asset
Definition
Asset.cs:8
Terraria.Audio.SoundEngine.PlaySound
static void PlaySound(int type, Vector2 position, int style=1)
Definition
SoundEngine.cs:71
Terraria.Audio.SoundEngine
Definition
SoundEngine.cs:10
Terraria.GameContent.UI.IssueReportsIndicator._shouldBeShowing
bool _shouldBeShowing
Definition
IssueReportsIndicator.cs:14
Terraria.GameContent.UI.IssueReportsIndicator._buttonOutlineTexture
Asset< Texture2D > _buttonOutlineTexture
Definition
IssueReportsIndicator.cs:18
Terraria.GameContent.UI.IssueReportsIndicator.AttemptLettingPlayerKnow
void AttemptLettingPlayerKnow()
Definition
IssueReportsIndicator.cs:20
Terraria.GameContent.UI.IssueReportsIndicator.Draw
void Draw(SpriteBatch spriteBatch)
Definition
IssueReportsIndicator.cs:45
Terraria.GameContent.UI.IssueReportsIndicator._buttonTexture
Asset< Texture2D > _buttonTexture
Definition
IssueReportsIndicator.cs:16
Terraria.GameContent.UI.IssueReportsIndicator.OpenUI
void OpenUI()
Definition
IssueReportsIndicator.cs:33
Terraria.GameContent.UI.IssueReportsIndicator.Setup
void Setup()
Definition
IssueReportsIndicator.cs:39
Terraria.GameContent.UI.IssueReportsIndicator.Hide
void Hide()
Definition
IssueReportsIndicator.cs:27
Terraria.GameContent.UI.IssueReportsIndicator._displayUpPercent
float _displayUpPercent
Definition
IssueReportsIndicator.cs:12
Terraria.GameContent.UI.IssueReportsIndicator
Definition
IssueReportsIndicator.cs:11
Terraria.ID.SoundID.DD2_ExplosiveTrapExplode
static readonly LegacySoundStyle DD2_ExplosiveTrapExplode
Definition
SoundID.cs:790
Terraria.ID.SoundID
Definition
SoundID.cs:9
Terraria.Localization.Language.GetTextValue
static string GetTextValue(string key)
Definition
Language.cs:15
Terraria.Localization.Language
Definition
Language.cs:7
Terraria.Main.instance
static Main instance
Definition
Main.cs:283
Terraria.Main.MouseScreen
static Vector2 MouseScreen
Definition
Main.cs:2773
Terraria.Main.OpenReportsMenu
static void OpenReportsMenu()
Definition
Main.cs:49242
Terraria.Main.ScreenSize
static Microsoft.Xna.Framework.Point ScreenSize
Definition
Main.cs:2925
Terraria.Main.Assets
static IAssetRepository Assets
Definition
Main.cs:209
Terraria.Main.mouseLeft
static bool mouseLeft
Definition
Main.cs:614
Terraria.Main
Definition
Main.cs:79
Terraria.Utils.CenteredRectangle
static Rectangle CenteredRectangle(Vector2 center, Vector2 size)
Definition
Utils.cs:604
Terraria.Utils
Definition
Utils.cs:29
Microsoft.Xna.Framework.Graphics.SurfaceFormat.Vector2
@ Vector2
Microsoft.Xna.Framework.Graphics.SpriteEffects
SpriteEffects
Definition
SpriteEffects.cs:7
Microsoft.Xna.Framework.Graphics
Definition
AlphaTestEffect.cs:1
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
ReLogic.Content.AssetRequestMode
AssetRequestMode
Definition
AssetRequestMode.cs:4
ReLogic.Content
Definition
IAssetReader.cs:5
Terraria.Audio
Definition
ActiveSound.cs:4
Terraria.GameContent.UI
Definition
BigProgressBarCache.cs:1
Terraria.ID
Definition
AchievementHelperID.cs:1
Terraria.Localization
Definition
GameCulture.cs:5
Microsoft.Xna.Framework.Color.White
static Color White
Definition
Color.cs:350
Microsoft.Xna.Framework.Color
Definition
Color.cs:12
Microsoft.Xna.Framework.Rectangle
Definition
Rectangle.cs:12
Microsoft.Xna.Framework.Vector2.Lerp
static Vector2 Lerp(Vector2 value1, Vector2 value2, float amount)
Definition
Vector2.cs:227
Microsoft.Xna.Framework.Vector2
Definition
Vector2.cs:12
source
Terraria.GameContent.UI
IssueReportsIndicator.cs
Generated by
1.10.0