Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
NPCKillCounterInfoElement.cs
Go to the documentation of this file.
1
using
System
;
2
using
Microsoft.Xna.Framework
;
3
using
Microsoft.Xna.Framework.Graphics
;
4
using
ReLogic.Content
;
5
using
Terraria.DataStructures
;
6
using
Terraria.GameContent.UI.Elements
;
7
using
Terraria.Localization
;
8
using
Terraria.UI
;
9
10
namespace
Terraria.GameContent.Bestiary
;
11
12
public
class
NPCKillCounterInfoElement
:
IBestiaryInfoElement
13
{
14
private
NPC
_instance
;
15
16
public
NPCKillCounterInfoElement
(
int
npcNetId)
17
{
18
_instance
=
new
NPC
();
19
_instance
.
SetDefaults
(npcNetId,
new
NPCSpawnParams
20
{
21
gameModeData =
GameModeData
.
NormalMode
,
22
strengthMultiplierOverride =
null
23
});
24
}
25
26
public
UIElement
ProvideUIElement
(
BestiaryUICollectionInfo
info
)
27
{
28
int
? killCount =
GetKillCount
();
29
if
(!killCount.HasValue || killCount.Value < 1)
30
{
31
return
null
;
32
}
33
UIElement
obj
=
new
UIElement
34
{
35
Width =
new
StyleDimension
(0f, 1f),
36
Height =
new
StyleDimension
(109f, 0f)
37
};
38
if
(killCount.HasValue)
39
{
40
_ = killCount.Value > 0;
41
}
42
else
43
_ = 0;
44
_ = 3;
45
int
num = 0;
46
int
num2 = 30;
47
int
num3 = num2;
48
string
text
= killCount.Value.ToString();
49
_ =
text
.Length;
50
int
num4 =
Math
.
Max
(0, -48 + 8 *
text
.Length);
51
float
num5 = 0.5f;
52
_ = 0;
53
num4 = -3;
54
num5 = 1f;
55
int
num6 = 8;
56
UIElement
uIElement =
new
UIPanel
(
Main
.
Assets
.Request<
Texture2D
>(
"Images/UI/Bestiary/Stat_Panel"
, (
AssetRequestMode
)1),
null
, 12, 7)
57
{
58
Width =
new
StyleDimension
(-8 + num4, num5),
59
Height =
new
StyleDimension
(num2, 0f),
60
BackgroundColor =
new
Color
(43, 56, 101),
61
BorderColor =
Color
.
Transparent
,
62
Top =
new
StyleDimension
(num, 0f),
63
Left =
new
StyleDimension
(-num6, 0f),
64
HAlign = 1f
65
};
66
uIElement.
SetPadding
(0f);
67
uIElement.PaddingRight = 5f;
68
obj
.Append(uIElement);
69
uIElement.OnUpdate +=
ShowDescription
;
70
float
textScale = 0.85f;
71
UIText
element =
new
UIText
(
text
, textScale)
72
{
73
HAlign = 1f,
74
VAlign = 0.5f,
75
Left =
new
StyleDimension
(-3f, 0f),
76
Top =
new
StyleDimension
(0f, 0f)
77
};
78
Item
item
=
new
Item
();
79
item
.SetDefaults(321);
80
item.scale = 0.8f;
81
UIItemIcon
element2 =
new
UIItemIcon
(
item
, blackedOut:
false
)
82
{
83
IgnoresMouseInteraction =
true
,
84
HAlign = 0f,
85
Left =
new
StyleDimension
(-1f, 0f)
86
};
87
obj.Height.Pixels = num3;
88
uIElement.
Append
(element2);
89
uIElement.
Append
(element);
90
return
obj
;
91
}
92
93
private
void
ShowDescription
(
UIElement
element)
94
{
95
if
(element.
IsMouseHovering
)
96
{
97
Main
.
instance
.MouseText(
Language
.
GetTextValue
(
"BestiaryInfo.Slain"
), 0, 0);
98
}
99
}
100
101
private
int
?
GetKillCount
()
102
{
103
return
Main
.
BestiaryTracker
.Kills.GetKillCount(
_instance
);
104
}
105
}
Microsoft.Xna.Framework.Graphics.Texture2D
Definition
Texture2D.cs:13
System.Math.Max
static byte Max(byte val1, byte val2)
Definition
Math.cs:738
System.Math
Definition
Math.cs:13
Terraria.DataStructures.GameModeData.NormalMode
static readonly GameModeData NormalMode
Definition
GameModeData.cs:5
Terraria.DataStructures.GameModeData
Definition
GameModeData.cs:4
Terraria.GameContent.Bestiary.NPCKillCounterInfoElement.NPCKillCounterInfoElement
NPCKillCounterInfoElement(int npcNetId)
Definition
NPCKillCounterInfoElement.cs:16
Terraria.GameContent.Bestiary.NPCKillCounterInfoElement.GetKillCount
int? GetKillCount()
Definition
NPCKillCounterInfoElement.cs:101
Terraria.GameContent.Bestiary.NPCKillCounterInfoElement.ProvideUIElement
UIElement ProvideUIElement(BestiaryUICollectionInfo info)
Definition
NPCKillCounterInfoElement.cs:26
Terraria.GameContent.Bestiary.NPCKillCounterInfoElement._instance
NPC _instance
Definition
NPCKillCounterInfoElement.cs:14
Terraria.GameContent.Bestiary.NPCKillCounterInfoElement.ShowDescription
void ShowDescription(UIElement element)
Definition
NPCKillCounterInfoElement.cs:93
Terraria.GameContent.Bestiary.NPCKillCounterInfoElement
Definition
NPCKillCounterInfoElement.cs:13
Terraria.GameContent.UI.Elements.UIItemIcon
Definition
UIItemIcon.cs:8
Terraria.GameContent.UI.Elements.UIPanel
Definition
UIPanel.cs:9
Terraria.GameContent.UI.Elements.UIText
Definition
UIText.cs:12
Terraria.Item
Definition
Item.cs:22
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.BestiaryTracker
static BestiaryUnlocksTracker BestiaryTracker
Definition
Main.cs:1868
Terraria.Main.Assets
static IAssetRepository Assets
Definition
Main.cs:209
Terraria.Main
Definition
Main.cs:79
Terraria.NPC.SetDefaults
void SetDefaults(int Type, NPCSpawnParams spawnparams=default(NPCSpawnParams))
Definition
NPC.cs:2523
Terraria.NPC
Definition
NPC.cs:30
Terraria.UI.UIElement.Append
void Append(UIElement element)
Definition
UIElement.cs:166
Terraria.UI.UIElement.IsMouseHovering
bool IsMouseHovering
Definition
UIElement.cs:91
Terraria.UI.UIElement.SetPadding
void SetPadding(float pixels)
Definition
UIElement.cs:361
Terraria.UI.UIElement
Definition
UIElement.cs:12
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
System.ExceptionArgument.text
@ text
System.ExceptionArgument.item
@ item
System.ExceptionArgument.obj
@ obj
System.ExceptionArgument.info
@ info
System
Definition
BlockingCollection.cs:8
Terraria.DataStructures
Definition
AEntitySource_OnHit.cs:1
Terraria.GameContent.Bestiary
Definition
BestiaryDatabase.cs:5
Terraria.GameContent.UI.Elements
Definition
AWorldListItem.cs:8
Terraria.Localization
Definition
GameCulture.cs:5
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.NPCSpawnParams
Definition
NPCSpawnParams.cs:6
Terraria.UI.StyleDimension
Definition
StyleDimension.cs:4
source
Terraria.GameContent.Bestiary
NPCKillCounterInfoElement.cs
Generated by
1.10.0