Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_ScenarioDetailsPanelComponent.c
Go to the documentation of this file.
1
/*
2
Panel which shows state of a scenario.
3
It refreshes itself periodically.
4
*/
5
6
class
SCR_ScenarioDetailsPanelComponent
:
SCR_ContentDetailsPanelBase
7
{
8
protected
ref
MissionWorkshopItem
m_Scenario
;
9
protected
SCR_MissionHeader
m_Header
;
10
11
protected
SCR_ScenarioBackendImageComponent
m_BackendImageComponent
;
12
13
//------------------------------------------------------------------------------------------------
14
override
void
HandlerAttached
(
Widget
w)
15
{
16
super.HandlerAttached(w);
17
18
m_BackendImageComponent
=
SCR_ScenarioBackendImageComponent
.Cast(
m_CommonWidgets
.m_wBackendImage.FindHandler(
SCR_ScenarioBackendImageComponent
));
19
20
UpdateAllWidgets
();
21
}
22
23
// -------- Public API -----------
24
//-----------------------------------------------------------------------------------
25
void
SetScenario
(
MissionWorkshopItem
scenario)
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
34
UpdateAllWidgets
();
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
50
if
(
m_BackendImageComponent
)
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.
67
UpdateAuthorNameText
();
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
76
if
(
m_BackendImageComponent
)
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;
89
bool
restricted =
SCR_ScenarioUICommon
.
IsOwnerRestricted
(
m_Scenario
);
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
97
m_CommonWidgets
.m_WarningOverlayComponent.SetWarning(
SCR_WorkshopUiCommon
.
GetRevisionAvailabilityErrorMessageVerbose
(availability),
SCR_WorkshopUiCommon
.
GetRevisionAvailabilityErrorTexture
(availability));
98
99
if
(
m_BackendImageComponent
)
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
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BackendImage
Definition
BackendImage.c:13
MissionWorkshopItem
Definition
MissionWorkshopItem.c:13
SCR_ContentDetailsPanelBase
Definition
SCR_ContentDetailsPanelBase.c:2
SCR_ContentDetailsPanelBase::m_CommonWidgets
ref SCR_ContentDetailsPanelBaseWidgets m_CommonWidgets
Definition
SCR_ContentDetailsPanelBase.c:3
SCR_ContentDetailsPanelBase::SetDescriptionText
void SetDescriptionText(string text)
Set description text with enforced text lenght limit.
Definition
SCR_ContentDetailsPanelBase.c:76
SCR_MissionHeader
Definition
SCR_MissionHeader.c:2
SCR_ScenarioBackendImageComponent
Same as SCR_BackendImageComponent, but implements default image based on scenario.
Definition
SCR_BackendImageComponent.c:402
SCR_ScenarioDetailsPanelComponent
Definition
SCR_ScenarioDetailsPanelComponent.c:7
SCR_ScenarioDetailsPanelComponent::m_Scenario
ref MissionWorkshopItem m_Scenario
Definition
SCR_ScenarioDetailsPanelComponent.c:8
SCR_ScenarioDetailsPanelComponent::UpdateAuthorNameText
void UpdateAuthorNameText()
Definition
SCR_ScenarioDetailsPanelComponent.c:109
SCR_ScenarioDetailsPanelComponent::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_ScenarioDetailsPanelComponent.c:14
SCR_ScenarioDetailsPanelComponent::m_BackendImageComponent
SCR_ScenarioBackendImageComponent m_BackendImageComponent
Definition
SCR_ScenarioDetailsPanelComponent.c:11
SCR_ScenarioDetailsPanelComponent::m_Header
SCR_MissionHeader m_Header
Definition
SCR_ScenarioDetailsPanelComponent.c:9
SCR_ScenarioDetailsPanelComponent::SetScenario
void SetScenario(MissionWorkshopItem scenario)
Definition
SCR_ScenarioDetailsPanelComponent.c:25
SCR_ScenarioDetailsPanelComponent::UpdateAllWidgets
void UpdateAllWidgets()
Definition
SCR_ScenarioDetailsPanelComponent.c:39
SCR_ScenarioUICommon
Definition
SCR_ScenarioUICommon.c:5
SCR_ScenarioUICommon::IsOwnerRestricted
static bool IsOwnerRestricted(MissionWorkshopItem mission)
Definition
SCR_ScenarioUICommon.c:207
SCR_ScenarioUICommon::GetOwnerRevisionAvailability
static SCR_ERevisionAvailability GetOwnerRevisionAvailability(MissionWorkshopItem mission)
Definition
SCR_ScenarioUICommon.c:192
SCR_WorkshopUiCommon
Definition
SCR_WorkshopUiCommon.c:6
SCR_WorkshopUiCommon::GetRevisionAvailabilityErrorTexture
static string GetRevisionAvailabilityErrorTexture(WorkshopItem item)
Definition
SCR_WorkshopUiCommon.c:689
SCR_WorkshopUiCommon::GetRevisionAvailabilityErrorMessageVerbose
static string GetRevisionAvailabilityErrorMessageVerbose(WorkshopItem item)
Definition
SCR_WorkshopUiCommon.c:664
UIConstants
Definition
Constants.c:151
Widget
Definition
Widget.c:13
scripts
Game
UI
Menu
Common
SCR_ScenarioDetailsPanelComponent.c
Generated by
1.17.0