Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
UIProgressBar.cs
Go to the documentation of this file.
1
using
Microsoft.Xna.Framework
;
2
using
Microsoft.Xna.Framework.Graphics
;
3
using
Terraria.UI
;
4
5
namespace
Terraria.GameContent.UI.Elements
;
6
7
public
class
UIProgressBar
:
UIElement
8
{
9
private
class
UIInnerProgressBar
:
UIElement
10
{
11
protected
override
void
DrawSelf
(
SpriteBatch
spriteBatch)
12
{
13
CalculatedStyle
dimensions =
GetDimensions
();
14
spriteBatch.
Draw
(
TextureAssets
.
MagicPixel
.Value,
new
Vector2
(dimensions.
X
, dimensions.
Y
),
null
,
Color
.
Blue
, 0f,
Vector2
.
Zero
,
new
Vector2
(dimensions.
Width
, dimensions.
Height
/ 1000f),
SpriteEffects
.None, 0f);
15
}
16
}
17
18
private
UIInnerProgressBar
_progressBar
=
new
UIInnerProgressBar
();
19
20
private
float
_visualProgress
;
21
22
private
float
_targetProgress
;
23
24
public
UIProgressBar
()
25
{
26
_progressBar.Height.Precent = 1f;
27
_progressBar
.
Recalculate
();
28
Append
(
_progressBar
);
29
}
30
31
public
void
SetProgress
(
float
value)
32
{
33
_targetProgress
= value;
34
if
(value <
_visualProgress
)
35
{
36
_visualProgress
= value;
37
}
38
}
39
40
protected
override
void
DrawSelf
(
SpriteBatch
spriteBatch)
41
{
42
_visualProgress
=
_visualProgress
* 0.95f + 0.05f *
_targetProgress
;
43
_progressBar.Width.Precent =
_visualProgress
;
44
_progressBar
.
Recalculate
();
45
}
46
}
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
Terraria.GameContent.TextureAssets.MagicPixel
static Asset< Texture2D > MagicPixel
Definition
TextureAssets.cs:84
Terraria.GameContent.TextureAssets
Definition
TextureAssets.cs:8
Terraria.GameContent.UI.Elements.UIProgressBar.UIInnerProgressBar.DrawSelf
override void DrawSelf(SpriteBatch spriteBatch)
Definition
UIProgressBar.cs:11
Terraria.GameContent.UI.Elements.UIProgressBar.UIInnerProgressBar
Definition
UIProgressBar.cs:10
Terraria.GameContent.UI.Elements.UIProgressBar.DrawSelf
override void DrawSelf(SpriteBatch spriteBatch)
Definition
UIProgressBar.cs:40
Terraria.GameContent.UI.Elements.UIProgressBar.UIProgressBar
UIProgressBar()
Definition
UIProgressBar.cs:24
Terraria.GameContent.UI.Elements.UIProgressBar._progressBar
UIInnerProgressBar _progressBar
Definition
UIProgressBar.cs:18
Terraria.GameContent.UI.Elements.UIProgressBar._targetProgress
float _targetProgress
Definition
UIProgressBar.cs:22
Terraria.GameContent.UI.Elements.UIProgressBar._visualProgress
float _visualProgress
Definition
UIProgressBar.cs:20
Terraria.GameContent.UI.Elements.UIProgressBar.SetProgress
void SetProgress(float value)
Definition
UIProgressBar.cs:31
Terraria.GameContent.UI.Elements.UIProgressBar
Definition
UIProgressBar.cs:8
Terraria.UI.UIElement.Append
void Append(UIElement element)
Definition
UIElement.cs:166
Terraria.UI.UIElement.Recalculate
virtual void Recalculate()
Definition
UIElement.cs:281
Terraria.UI.UIElement.GetDimensions
CalculatedStyle GetDimensions()
Definition
UIElement.cs:382
Terraria.UI.UIElement
Definition
UIElement.cs:12
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
Terraria.GameContent.UI.Elements
Definition
AWorldListItem.cs:8
Terraria.UI
Definition
ChatLine.cs:3
Microsoft.Xna.Framework.Color.Blue
static Color Blue
Definition
Color.cs:96
Microsoft.Xna.Framework.Color
Definition
Color.cs:12
Microsoft.Xna.Framework.Vector2.Zero
static Vector2 Zero
Definition
Vector2.cs:27
Microsoft.Xna.Framework.Vector2
Definition
Vector2.cs:12
Terraria.UI.CalculatedStyle.X
float X
Definition
CalculatedStyle.cs:7
Terraria.UI.CalculatedStyle.Y
float Y
Definition
CalculatedStyle.cs:9
Terraria.UI.CalculatedStyle.Height
float Height
Definition
CalculatedStyle.cs:13
Terraria.UI.CalculatedStyle.Width
float Width
Definition
CalculatedStyle.cs:11
Terraria.UI.CalculatedStyle
Definition
CalculatedStyle.cs:6
source
Terraria.GameContent.UI.Elements
UIProgressBar.cs
Generated by
1.10.0