Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_CareerProfileHUD.c
Go to the documentation of this file.
1//------------------------------------------------------------------------------------------------
3{
6
7 [Attribute()]
8 protected ref array<ResourceName> m_aBackgroundImages;
9
10 [Attribute()]
11 protected ref array<ResourceName> m_aRankImages;
12
18
19 [Attribute("0", "auto", "Min progress bar value")]
20 protected int m_iMinBarValue;
21
22 [Attribute("100", "auto", "Value to display when progress is 0")]
24
25 [Attribute("10000", "auto", "Max progress bar value")]
26 protected int m_iMaxBarValue;
27
28 [Attribute("{9F18C476AB860F3B}Prefabs/World/Game/ItemPreviewManager.et")]
30
31 [Attribute("{5B1996C05B1E51A4}Prefabs/Characters/Factions/BLUFOR/US_Army/Character_US_AR.et")]
33
34 //------------------------------------------------------------------------------------------------
35 protected override void HandlerAttached(Widget w)
36 {
37 m_wRootWidget = w;
38 }
39
40 //------------------------------------------------------------------------------------------------
41 void PrepareHUD(string rankImageName, string rankLevelName, string backgroundUserPictureName, string CharacterLoadoutName, string LevelProgressName, string PlayerLevelName, string ProgressBarName, string EditAppearanceButtonName)
42 {
43 if (!m_wRootWidget)
44 return;
45
46 if (rankImageName.IsEmpty())
47 m_RankImageWidget = ImageWidget.Cast(m_wRootWidget.FindAnyWidget(rankImageName));
48
49 if (rankLevelName != "")
50 m_RankLevel = RichTextWidget.Cast(m_wRootWidget.FindAnyWidget(rankLevelName));
51
52 if (backgroundUserPictureName != "")
53 m_BackgroundUserPictureImageWidget = ImageWidget.Cast(m_wRootWidget.FindAnyWidget(backgroundUserPictureName));
54
55 if (CharacterLoadoutName != "")
56 {
57 Widget characterLoadout = m_wRootWidget.FindAnyWidget(CharacterLoadoutName);
58 if (characterLoadout)
59 {
60 SCR_LoadoutPreviewComponent characterLoadoutHandler = SCR_LoadoutPreviewComponent.Cast(characterLoadout.FindHandler(SCR_LoadoutPreviewComponent));
61 if (characterLoadoutHandler)
62 {
63 ItemPreviewManagerEntity previewManager = characterLoadoutHandler.GetPreviewManagerEntity();
64 ItemPreviewWidget previewWidget = characterLoadoutHandler.GetItemPreviewWidget();
65
66 if (previewManager && previewWidget)
67 {
68 characterLoadoutHandler.SetPreviewManagerEntity(previewManager);
69 characterLoadoutHandler.SetItemPreviewWidget(previewWidget);
70
71 previewManager.SetPreviewItemFromPrefab(previewWidget, loadoutResource);
72 characterLoadoutHandler.SetReloadLoadout(false);
73 }
74 }
75 }
76 }
77
78 if (ProgressBarName != "")
79 {
81
82 if (!m_ProgressBar)
83 return;
84
87
88 if (LevelProgressName != "")
89 m_LevelProgress = RichTextWidget.Cast(m_wRootWidget.FindAnyWidget(LevelProgressName));
90
91 if (PlayerLevelName != "")
92 m_PlayerLevel = RichTextWidget.Cast(m_wRootWidget.FindAnyWidget(PlayerLevelName));
93 }
94
95 if (EditAppearanceButtonName != "")
96 {
99 return;
100
101 m_EditAppearance.m_OnClicked.Insert(OnEditAppearance);
102 }
103 }
104
105 //------------------------------------------------------------------------------------------------
107 {
108 GetGame().GetMenuManager().OpenMenu(ChimeraMenuPreset.CreditsMenu); //To remove
109 }
110
111 //------------------------------------------------------------------------------------------------
113 {
114 RichTextWidget levelProgressGain = RichTextWidget.Cast(m_wRootWidget.FindAnyWidget("LevelGained"));
115 if (!levelProgressGain)
116 return;
117
118 if (f != 0)
119 {
120 levelProgressGain.SetText("+"+f);
121 levelProgressGain.SetEnabled(true);
122 levelProgressGain.SetVisible(true);
123 return;
124 }
125
126 levelProgressGain.SetText("");
127 levelProgressGain.SetEnabled(false);
128 levelProgressGain.SetVisible(false);
129 }
130
131 //------------------------------------------------------------------------------------------------
132 void SetPlayerRank(int rank)
133 {
134 if (rank < 0)
135 return;
136 else if (rank == 0)
137 rank = 1;
138
139 if (m_RankLevel)
140 m_RankLevel.SetTextFormat("#AR-CareerProfile_RankTitle",rank);
141
142 if (m_RankImageWidget && m_aRankImages && m_aRankImages.Count() >= rank)
144 }
145
146 //------------------------------------------------------------------------------------------------
148 {
150 {
151 m_BackgroundUserPictureImageWidget.SetColor(Color.FromSRGBA(255,255,255,204)); //60% opacity
153 }
154
155 }
156
157 //------------------------------------------------------------------------------------------------
158 void SetPlayerLevel(int n)
159 {
160 if (m_PlayerLevel)
161 m_PlayerLevel.SetTextFormat("#AR-CareerProfile_PlayerLv",n);
162 }
163
164 //------------------------------------------------------------------------------------------------
166 {
167 if (n < m_iMinBarValue || n > m_iMaxBarValue)
168 return;
169
170 if (m_LevelProgress)
171 m_LevelProgress.SetText ("" + n + "/" + m_iMaxBarValue);
172
173 if (m_ProgressBar)
174 {
176 m_ProgressBar.SetValue(n);
177 else
179 }
180 }
181}
ChimeraMenuPreset
Menu presets.
ArmaReforgerScripted GetGame()
Definition game.c:1398
Definition Color.c:13
Definition Math.c:13
static SCR_ButtonTextComponent GetButtonText(string name, Widget parent, bool searchAllChildren=true)
void PrepareHUD(string rankImageName, string rankLevelName, string backgroundUserPictureName, string CharacterLoadoutName, string LevelProgressName, string PlayerLevelName, string ProgressBarName, string EditAppearanceButtonName)
ImageWidget m_BackgroundUserPictureImageWidget
ref array< ResourceName > m_aBackgroundImages
SCR_ButtonTextComponent m_EditAppearance
SCR_WLibProgressBarComponent m_ProgressBar
ref array< ResourceName > m_aRankImages
ResourceName previewManagerResource
override void HandlerAttached(Widget w)
void SetPreviewManagerEntity(ItemPreviewManagerEntity instance)
ItemPreviewManagerEntity GetPreviewManagerEntity()
void SetItemPreviewWidget(ItemPreviewWidget instance)
Base class for all final Reforger interactive elements.
static bool SetTexture(ImageWidget widget, ResourceName texture, string image="")
Minimalist progress bar.
static SCR_WLibProgressBarComponent GetProgressBar(string name, Widget parent, bool searchAllChildren=true)
SCR_FieldOfViewSettings Attribute