Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
EmotesGroupListItem.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.Localization
;
5
using
Terraria.UI
;
6
7
namespace
Terraria.GameContent.UI.Elements
;
8
9
public
class
EmotesGroupListItem
:
UIElement
10
{
11
private
const
int
TITLE_HEIGHT
= 20;
12
13
private
const
int
SEPARATOR_HEIGHT
= 10;
14
15
private
const
int
SIZE_PER_EMOTE
= 36;
16
17
private
Asset<Texture2D>
_tempTex
;
18
19
private
int
_groupIndex
;
20
21
private
int
_maxEmotesPerRow
= 10;
22
23
public
EmotesGroupListItem
(
LocalizedText
groupTitle,
int
groupIndex,
int
maxEmotesPerRow, params
int
[] emotes)
24
{
25
maxEmotesPerRow = 14;
26
SetPadding
(0f);
27
_groupIndex
= groupIndex;
28
_maxEmotesPerRow
= maxEmotesPerRow;
29
_tempTex
=
Main
.
Assets
.Request<
Texture2D
>(
"Images/UI/ButtonFavoriteInactive"
, (
AssetRequestMode
)1);
30
int
num = emotes.Length /
_maxEmotesPerRow
;
31
if
(emotes.Length %
_maxEmotesPerRow
!= 0)
32
{
33
num++;
34
}
35
Height
.
Set
(30 + 36 * num, 0f);
36
Width
.
Set
(0f, 1f);
37
UIElement
uIElement =
new
UIElement
38
{
39
Height
=
StyleDimension
.
FromPixels
(30f),
40
Width
=
StyleDimension
.
FromPixelsAndPercent
(-20f, 1f),
41
HAlign
= 0.5f
42
};
43
uIElement.
SetPadding
(0f);
44
Append
(uIElement);
45
UIHorizontalSeparator
element =
new
UIHorizontalSeparator
46
{
47
Width
=
StyleDimension
.
FromPixelsAndPercent
(0f, 1f),
48
VAlign
= 1f,
49
HAlign
= 0.5f,
50
Color
=
Color
.
Lerp
(
Color
.
White
,
new
Color
(63, 65, 151, 255), 0.85f) * 0.9f
51
};
52
uIElement.
Append
(element);
53
UIText
element2 =
new
UIText
(groupTitle)
54
{
55
VAlign
= 1f,
56
HAlign
= 0.5f,
57
Top
=
StyleDimension
.
FromPixels
(-6f)
58
};
59
uIElement.
Append
(element2);
60
float
num2 = 6f;
61
for
(
int
i = 0; i < emotes.Length; i++)
62
{
63
int
emoteIndex = emotes[i];
64
int
num3 = i /
_maxEmotesPerRow
;
65
int
num4 = i %
_maxEmotesPerRow
;
66
int
num5 = emotes.Length %
_maxEmotesPerRow
;
67
if
(emotes.Length /
_maxEmotesPerRow
!= num3)
68
{
69
num5 =
_maxEmotesPerRow
;
70
}
71
if
(num5 == 0)
72
{
73
num5 =
_maxEmotesPerRow
;
74
}
75
float
num6 = 36f * ((float)num5 / 2f);
76
num6 -= 16f;
77
num6 = -16f;
78
EmoteButton
emoteButton =
new
EmoteButton
(emoteIndex)
79
{
80
HAlign
= 0f,
81
VAlign
= 0f,
82
Top
=
StyleDimension
.
FromPixels
((
float
)(30 + num3 * 36) + num2),
83
Left
=
StyleDimension
.
FromPixels
((
float
)(36 * num4) - num6)
84
};
85
Append
(emoteButton);
86
emoteButton.
SetSnapPoint
(
"Group "
+ groupIndex, i);
87
}
88
}
89
90
public
override
int
CompareTo
(
object
obj)
91
{
92
if
(obj is
EmotesGroupListItem
emotesGroupListItem)
93
{
94
return
_groupIndex
.CompareTo(emotesGroupListItem._groupIndex);
95
}
96
return
base.CompareTo(obj);
97
}
98
}
Microsoft.Xna.Framework.Graphics.Texture2D
Definition
Texture2D.cs:13
ReLogic.Content.Asset
Definition
Asset.cs:8
Terraria.GameContent.UI.Elements.EmoteButton
Definition
EmoteButton.cs:11
Terraria.GameContent.UI.Elements.EmotesGroupListItem._groupIndex
int _groupIndex
Definition
EmotesGroupListItem.cs:19
Terraria.GameContent.UI.Elements.EmotesGroupListItem._maxEmotesPerRow
int _maxEmotesPerRow
Definition
EmotesGroupListItem.cs:21
Terraria.GameContent.UI.Elements.EmotesGroupListItem.EmotesGroupListItem
EmotesGroupListItem(LocalizedText groupTitle, int groupIndex, int maxEmotesPerRow, params int[] emotes)
Definition
EmotesGroupListItem.cs:23
Terraria.GameContent.UI.Elements.EmotesGroupListItem.CompareTo
override int CompareTo(object obj)
Definition
EmotesGroupListItem.cs:90
Terraria.GameContent.UI.Elements.EmotesGroupListItem.TITLE_HEIGHT
const int TITLE_HEIGHT
Definition
EmotesGroupListItem.cs:11
Terraria.GameContent.UI.Elements.EmotesGroupListItem.SIZE_PER_EMOTE
const int SIZE_PER_EMOTE
Definition
EmotesGroupListItem.cs:15
Terraria.GameContent.UI.Elements.EmotesGroupListItem.SEPARATOR_HEIGHT
const int SEPARATOR_HEIGHT
Definition
EmotesGroupListItem.cs:13
Terraria.GameContent.UI.Elements.EmotesGroupListItem._tempTex
Asset< Texture2D > _tempTex
Definition
EmotesGroupListItem.cs:17
Terraria.GameContent.UI.Elements.EmotesGroupListItem
Definition
EmotesGroupListItem.cs:10
Terraria.GameContent.UI.Elements.UIHorizontalSeparator
Definition
UIHorizontalSeparator.cs:9
Terraria.GameContent.UI.Elements.UIText
Definition
UIText.cs:12
Terraria.Localization.LocalizedText
Definition
LocalizedText.cs:7
Terraria.Main.Assets
static IAssetRepository Assets
Definition
Main.cs:209
Terraria.Main
Definition
Main.cs:79
Terraria.UI.UIElement.Height
StyleDimension Height
Definition
UIElement.cs:29
Terraria.UI.UIElement.HAlign
float HAlign
Definition
UIElement.cs:63
Terraria.UI.UIElement.Append
void Append(UIElement element)
Definition
UIElement.cs:166
Terraria.UI.UIElement.Left
StyleDimension Left
Definition
UIElement.cs:25
Terraria.UI.UIElement.SetSnapPoint
void SetSnapPoint(string name, int id, Vector2? anchor=null, Vector2? offset=null)
Definition
UIElement.cs:122
Terraria.UI.UIElement.Width
StyleDimension Width
Definition
UIElement.cs:27
Terraria.UI.UIElement.VAlign
float VAlign
Definition
UIElement.cs:65
Terraria.UI.UIElement.SetPadding
void SetPadding(float pixels)
Definition
UIElement.cs:361
Terraria.UI.UIElement.Top
StyleDimension Top
Definition
UIElement.cs:23
Terraria.UI.UIElement
Definition
UIElement.cs:12
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.UI.Elements
Definition
AWorldListItem.cs:8
Terraria.Localization
Definition
GameCulture.cs:5
Terraria.UI
Definition
ChatLine.cs:3
Microsoft.Xna.Framework.Color.Lerp
static Color Lerp(Color value1, Color value2, float amount)
Definition
Color.cs:491
Microsoft.Xna.Framework.Color.White
static Color White
Definition
Color.cs:350
Microsoft.Xna.Framework.Color
Definition
Color.cs:12
Terraria.UI.StyleDimension.FromPixels
static StyleDimension FromPixels(float pixels)
Definition
StyleDimension.cs:30
Terraria.UI.StyleDimension.Set
void Set(float pixels, float precent)
Definition
StyleDimension.cs:19
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.UI.Elements
EmotesGroupListItem.cs
Generated by
1.10.0