Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_ScenarioDetailsPanelComponent.c
Go to the documentation of this file.
1/*
2Panel which shows state of a scenario.
3It refreshes itself periodically.
4*/
5
7{
10
12
13 //------------------------------------------------------------------------------------------------
14 override void HandlerAttached(Widget w)
15 {
16 super.HandlerAttached(w);
17
19
21 }
22
23 // -------- Public API -----------
24 //-----------------------------------------------------------------------------------
26 {
27 SCR_MissionHeader header;
28 if (scenario)
29 header = SCR_MissionHeader.Cast(scenario.GetHeader());
30
31 m_Header = header;
32 m_Scenario = scenario;
33
35 }
36
37 // -------- Protected / Private -----------
38 //-----------------------------------------------------------------------------------
39 protected void UpdateAllWidgets()
40 {
41 if (!GetGame().InPlayMode())
42 return;
43
44 if (!m_Scenario && !m_Header)
45 {
46 m_CommonWidgets.m_wNameText.SetText(string.Empty);
47 m_CommonWidgets.m_wAuthorNameText.SetText(string.Empty);
48 SetDescriptionText(string.Empty);
49
51 m_BackendImageComponent.SetImage(null);
52
53 return;
54 }
55
56 // Name
57 string title;
58 if (m_Header)
59 title = m_Header.m_sName;
60 else if (m_Scenario)
61 title = m_Scenario.Name();
62
63 m_CommonWidgets.m_wNameText.SetText(title);
64
65 // Author name
66 // We don't have author name in scenario header now.
68
69 // Description
70 if (m_Header)
71 SetDescriptionText(m_Header.m_sDescription);
72 else if(m_Scenario)
73 SetDescriptionText(m_Scenario.Description());
74
75 // Image
77 {
78 BackendImage image;
79
80 if (m_Scenario)
81 image = m_Scenario.Thumbnail();
82
83 m_BackendImageComponent.SetImage(image);
84 }
85
86 // Error message
87 SCR_ERevisionAvailability availability = SCR_ScenarioUICommon.GetOwnerRevisionAvailability(m_Scenario);
88 bool isInError = availability != SCR_ERevisionAvailability.ERA_AVAILABLE && availability != SCR_ERevisionAvailability.ERA_UNKNOWN_AVAILABILITY;
90
91 m_CommonWidgets.m_WarningOverlayComponent.SetWarningVisible(isInError || restricted, false);
92 m_CommonWidgets.m_WarningOverlayComponent.SetBlurUnderneath(restricted);
93
94 if (restricted)
95 m_CommonWidgets.m_WarningOverlayComponent.SetWarning(SCR_WorkshopUiCommon.MESSAGE_RESTRICTED_GENERIC, SCR_WorkshopUiCommon.ICON_REPORTED);
96 else
98
100 {
101 if (isInError)
102 m_BackendImageComponent.SetImageSaturation(UIConstants.DISABLED_WIDGET_SATURATION);
103 else
104 m_BackendImageComponent.SetImageSaturation(UIConstants.ENABLED_WIDGET_SATURATION);
105 }
106 }
107
108 //-----------------------------------------------------------------------------------
109 protected void UpdateAuthorNameText()
110 {
111 if (!m_Scenario)
112 return;
113
114 if (m_Scenario.GetOwner() && m_Scenario.GetOwner().Author())
115 m_CommonWidgets.m_wAuthorNameText.SetText(m_Scenario.Author());
116 else
117 m_CommonWidgets.m_wAuthorNameText.SetText(UIConstants.BOHEMIA_INTERACTIVE);
118 }
119}
ArmaReforgerScripted GetGame()
Definition game.c:1398
ref SCR_ContentDetailsPanelBaseWidgets m_CommonWidgets
void SetDescriptionText(string text)
Set description text with enforced text lenght limit.
Same as SCR_BackendImageComponent, but implements default image based on scenario.
SCR_ScenarioBackendImageComponent m_BackendImageComponent
void SetScenario(MissionWorkshopItem scenario)
static bool IsOwnerRestricted(MissionWorkshopItem mission)
static SCR_ERevisionAvailability GetOwnerRevisionAvailability(MissionWorkshopItem mission)
static string GetRevisionAvailabilityErrorTexture(WorkshopItem item)
static string GetRevisionAvailabilityErrorMessageVerbose(WorkshopItem item)