33 super.DisplayInit(owner);
35 BaseGameMode gameMode =
GetGame().GetGameMode();
40 m_PlayerXPComponent = SCR_XPHandlerComponent.Cast(gameMode.FindComponent(SCR_XPHandlerComponent));
67 SCR_XPInfoWidgetData hudXPWidget =
new SCR_XPInfoWidgetData();
68 hudXPWidget.InitWidgets(
m_wRoot);
112 hudXPWidget.UpdateXPTexts(
false,
false,
m_iSavedXPIncrease, totalXP,
true,
m_EReward, ranks,
m_ECurrentRank,
m_sCurrentRankIcon,
m_sCurrentRankName,
m_sNextRankIcon,
m_sRewardName);
116 hudXPWidget.UpdateXPTexts(
false,
false, 0, totalXP,
false,
m_EReward, ranks,
m_ECurrentRank,
m_sCurrentRankIcon,
m_sCurrentRankName,
m_sNextRankIcon,
m_sRewardName);
117 hudXPWidget.UpdateInventoryBarColor(
m_ECurrentRank, totalXP, ranks);
135 if (!interfaceSettings)
158 color =
UIColors.WARNING.PackToInt();
160 color =
UIColors.IDLE_DISABLED.PackToInt();
162 color =
UIColors.CONTRAST_COLOR.PackToInt();
164 foreach(
int id, SCR_XPInfoWidgetData widgetData:
m_Widgets)
166 widgetData.RecolorXPBar(color);
173 foreach(
int id, SCR_XPInfoWidgetData widgetData:
m_Widgets)
175 widgetData.RecolorXPText();
195 bool toggled = (XP == 0);
200 if (nonSpecific && !toggled)
225 foreach(
int id, SCR_XPInfoWidgetData widgetData:
m_Widgets)
227 widgetData.UpdateXPTexts(toggled, volunteer, XP, totalXP, notify,
m_EReward, ranks,
m_ECurrentRank,
m_sCurrentRankIcon,
m_sCurrentRankName,
m_sNextRankIcon,
m_sRewardName);
253 if (!notify && !toggled)
354class SCR_XPInfoWidgetData
396 void UpdateXPTexts(
bool toggled,
bool volunteer,
int XP,
int totalXP,
bool notify,
SCR_EXPRewards rewardID, notnull
SCR_RankContainer ranks, SCR_ECharacterRank currentRank,
string rankIconName,
string rankText,
string nextRankIconName,
string rewardName)
398 if (rankIconName.IsEmpty())
402 m_wRank.SetTextFormat(
string.Empty);
410 m_wRank.SetTextFormat(rankText);
415 if (nextRankIconName.IsEmpty())
430 if (toggled || !notify)
446 if (XP < 0 || ranks.IsRankRenegade(currentRank))
453 titleColor =
UIColors.NEUTRAL_INFORMATION;
471 if (ranks.IsRankRenegade(currentRank))
486 if (ranks.GetNextRank(curRank) == SCR_ECharacterRank.INVALID)
498 if (ranks.GetPreviousRank(curRank) == SCR_ECharacterRank.INVALID && XP < 0)
510 int XPCurRank = ranks.GetRequiredRankXP(curRank);
511 int XPNextRank = ranks.GetRequiredRankXP(ranks.GetNextRank(curRank));
513 if (curRank == prevRank)
515 if (ranks.GetPreviousRank(curRank) != SCR_ECharacterRank.INVALID)
556 if (curRank > prevRank)
ArmaReforgerScripted GetGame()
SCR_HUDManagerComponent m_HUDManager
void SCR_FactionManager(IEntitySource src, IEntity parent)
SCR_FastTravelComponentClass m_PlayerController
string m_sInterfaceSettingName
void RecolorXPBar(int color)
void UpdateXPTexts(bool toggled, bool volunteer, int XP, int totalXP, bool notify, SCR_EXPRewards rewardID, notnull SCR_RankContainer ranks, SCR_ECharacterRank currentRank, string rankIconName, string rankText, string nextRankIconName, string rewardName)
void UpdateInventoryBarColor(SCR_ECharacterRank currentRank, int XP, notnull SCR_RankContainer ranks)
void UpdateXPProgressBar(SCR_ECharacterRank curRank, SCR_ECharacterRank prevRank, int XP, int totalXP, bool notify, notnull SCR_RankContainer ranks)
ImageWidget m_wNextRankArrowIcon
ProgressBarWidget m_wProgressDiff
ImageWidget m_wNextRankIcon
enum SCR_EXPInfoWidget STRING_REWARD_VOLUNTEER
ProgressBarWidget m_wProgress
SCR_ECharacterRank GetNextRank(SCR_ECharacterRank rankID)
bool IsRankRenegade(SCR_ECharacterRank rankID)
SCR_ECharacterRank GetRankByXP(int XP)
string GetRankInsignia(SCR_ECharacterRank rankID)
string GetRankName(SCR_ECharacterRank rankID)
static SCR_TaskManagerUIComponent GetInstance()
ScriptInvokerBool GetOnTaskHUDVisible()
static const int XP_INFO_DURATION
void ~SCR_XPInfoDisplay()
override void DisplayInit(IEntity owner)
bool RemoveWidgetsById(int widgetDataId)
override void OnSettingsChanged()
static ResourceName GetRankIconImageSet()
override bool DisplayStartDrawInit(IEntity owner)
bool EnsurePlayerXPHandlerComp()
SCR_XPHandlerComponent m_PlayerXPComponent
SCR_ECharacterRank m_EPrevRank
string m_sCurrentRankIcon
SCR_PlayerXPHandlerComponent m_PlayerXPHandlerComp
static const ResourceName RANK_ICON_IMAGESET
void ToggleXPInfo(bool visible)
SCR_FactionManager m_FactionManager
SCR_ECharacterRank m_ECurrentRank
void AllowShowingInfo(bool allow)
override void DisplayStartDraw(IEntity owner)
void ShowXPInfo(int totalXP, SCR_EXPRewards rewardID, int XP, bool volunteer, bool profileUsed, int skillLevel)
void AddNewWidgets(notnull SCR_XPInfoWidgetData hudXPWidget, int id)
string m_sCurrentRankName
ref map< int, ref SCR_XPInfoWidgetData > m_Widgets
ScriptCallQueue Class provide "lazy" calls - when we don't want to execute function immediately but l...