Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
UnlockProgressDisplayBestiaryInfoElement.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.GameContent.UI.Elements
;
5
using
Terraria.UI
;
6
7
namespace
Terraria.GameContent.Bestiary
;
8
9
public
class
UnlockProgressDisplayBestiaryInfoElement
:
IBestiaryInfoElement
10
{
11
private
BestiaryUnlockProgressReport
_progressReport
;
12
13
private
UIElement
_text1
;
14
15
private
UIElement
_text2
;
16
17
public
UnlockProgressDisplayBestiaryInfoElement
(
BestiaryUnlockProgressReport
progressReport)
18
{
19
_progressReport
= progressReport;
20
}
21
22
public
UIElement
ProvideUIElement
(
BestiaryUICollectionInfo
info)
23
{
24
UIElement
uIElement =
new
UIPanel
(
Main
.
Assets
.Request<
Texture2D
>(
"Images/UI/Bestiary/Stat_Panel"
, (
AssetRequestMode
)1),
null
, 12, 7)
25
{
26
Width =
new
StyleDimension
(-11f, 1f),
27
Height =
new
StyleDimension
(109f, 0f),
28
BackgroundColor =
new
Color
(43, 56, 101),
29
BorderColor =
Color
.
Transparent
,
30
Left =
new
StyleDimension
(3f, 0f)
31
};
32
uIElement.PaddingLeft = 4f;
33
uIElement.PaddingRight = 4f;
34
string
arg =
Utils
.
PrettifyPercentDisplay
((
float
)info.UnlockState / 4f,
"P2"
);
35
string
text = $
"{arg} Entry Collected"
;
36
string
arg2 =
Utils
.
PrettifyPercentDisplay
(
_progressReport
.
CompletionPercent
,
"P2"
);
37
string
text2 = $
"{arg2} Bestiary Collected"
;
38
int
num = 8;
39
UIText
uIText =
new
UIText
(text, 0.8f)
40
{
41
HAlign = 0f,
42
VAlign = 0f,
43
Width =
StyleDimension
.
FromPixelsAndPercent
(0f, 1f),
44
Height =
StyleDimension
.
FromPixelsAndPercent
(0f, 1f),
45
IsWrapped =
true
,
46
PaddingTop = -num,
47
PaddingBottom = -num
48
};
49
UIText
uIText2 =
new
UIText
(text2, 0.8f)
50
{
51
HAlign = 0f,
52
VAlign = 0f,
53
Width =
StyleDimension
.
FromPixelsAndPercent
(0f, 1f),
54
Height =
StyleDimension
.
FromPixelsAndPercent
(0f, 1f),
55
IsWrapped =
true
,
56
PaddingTop = -num,
57
PaddingBottom = -num
58
};
59
_text1
= uIText;
60
_text2
= uIText2;
61
AddDynamicResize
(uIElement, uIText);
62
uIElement.
Append
(uIText);
63
uIElement.
Append
(uIText2);
64
return
uIElement;
65
}
66
67
private
void
AddDynamicResize
(
UIElement
container,
UIText
text)
68
{
69
text.OnInternalTextChange += delegate
70
{
71
container.Height =
new
StyleDimension
(
_text1
.
MinHeight
.
Pixels
+ 4f +
_text2
.
MinHeight
.
Pixels
, 0f);
72
_text2.Top =
new
StyleDimension
(
_text1
.
MinHeight
.
Pixels
+ 4f, 0f);
73
};
74
}
75
}
Microsoft.Xna.Framework.Graphics.Texture2D
Definition
Texture2D.cs:13
Terraria.GameContent.Bestiary.UnlockProgressDisplayBestiaryInfoElement._text2
UIElement _text2
Definition
UnlockProgressDisplayBestiaryInfoElement.cs:15
Terraria.GameContent.Bestiary.UnlockProgressDisplayBestiaryInfoElement._progressReport
BestiaryUnlockProgressReport _progressReport
Definition
UnlockProgressDisplayBestiaryInfoElement.cs:11
Terraria.GameContent.Bestiary.UnlockProgressDisplayBestiaryInfoElement.AddDynamicResize
void AddDynamicResize(UIElement container, UIText text)
Definition
UnlockProgressDisplayBestiaryInfoElement.cs:67
Terraria.GameContent.Bestiary.UnlockProgressDisplayBestiaryInfoElement.ProvideUIElement
UIElement ProvideUIElement(BestiaryUICollectionInfo info)
Definition
UnlockProgressDisplayBestiaryInfoElement.cs:22
Terraria.GameContent.Bestiary.UnlockProgressDisplayBestiaryInfoElement.UnlockProgressDisplayBestiaryInfoElement
UnlockProgressDisplayBestiaryInfoElement(BestiaryUnlockProgressReport progressReport)
Definition
UnlockProgressDisplayBestiaryInfoElement.cs:17
Terraria.GameContent.Bestiary.UnlockProgressDisplayBestiaryInfoElement._text1
UIElement _text1
Definition
UnlockProgressDisplayBestiaryInfoElement.cs:13
Terraria.GameContent.Bestiary.UnlockProgressDisplayBestiaryInfoElement
Definition
UnlockProgressDisplayBestiaryInfoElement.cs:10
Terraria.GameContent.UI.Elements.UIPanel
Definition
UIPanel.cs:9
Terraria.GameContent.UI.Elements.UIText
Definition
UIText.cs:12
Terraria.Main.Assets
static IAssetRepository Assets
Definition
Main.cs:209
Terraria.Main
Definition
Main.cs:79
Terraria.UI.UIElement.Append
void Append(UIElement element)
Definition
UIElement.cs:166
Terraria.UI.UIElement.MinHeight
StyleDimension MinHeight
Definition
UIElement.cs:37
Terraria.UI.UIElement
Definition
UIElement.cs:12
Terraria.Utils.PrettifyPercentDisplay
static string PrettifyPercentDisplay(float percent, string originalFormat)
Definition
Utils.cs:717
Terraria.Utils
Definition
Utils.cs:29
Terraria.GameContent.Bestiary.IBestiaryInfoElement
Definition
IBestiaryInfoElement.cs:6
Microsoft.Xna.Framework.Graphics.SurfaceFormat.Color
@ Color
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.GameContent.Bestiary
Definition
BestiaryDatabase.cs:5
Terraria.GameContent.UI.Elements
Definition
AWorldListItem.cs:8
Terraria.UI
Definition
ChatLine.cs:3
Microsoft.Xna.Framework.Color.Transparent
static Color Transparent
Definition
Color.cs:76
Microsoft.Xna.Framework.Color
Definition
Color.cs:12
Terraria.GameContent.Bestiary.BestiaryUICollectionInfo
Definition
BestiaryUICollectionInfo.cs:4
Terraria.GameContent.Bestiary.BestiaryUnlockProgressReport.CompletionPercent
float CompletionPercent
Definition
BestiaryUnlockProgressReport.cs:10
Terraria.GameContent.Bestiary.BestiaryUnlockProgressReport
Definition
BestiaryUnlockProgressReport.cs:4
Terraria.UI.StyleDimension.Pixels
float Pixels
Definition
StyleDimension.cs:9
Terraria.UI.StyleDimension.FromPixelsAndPercent
static StyleDimension FromPixelsAndPercent(float pixels, float percent)
Definition
StyleDimension.cs:40
Terraria.UI.StyleDimension
Definition
StyleDimension.cs:4
source
Terraria.GameContent.Bestiary
UnlockProgressDisplayBestiaryInfoElement.cs
Generated by
1.10.0