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_DownloadManager_PanelComponent.c
Go to the documentation of this file.
1
/*
2
Widget component of the download manager panel, which can be added into any menu where you want to have the download manager panel.
3
4
It provides basic data of the current state of downloads.
5
*/
6
7
class
SCR_DownloadManager_PanelComponent
:
ScriptedWidgetComponent
8
{
9
// The panel will be visible for this time, then it will fade out
10
protected
const
float
FADE_OUT_WAIT_TIME
= 5;
11
12
protected
ref
SCR_DownloadManager_PanelWidgets
m_Widgets
=
new
SCR_DownloadManager_PanelWidgets
();
13
protected
Widget
m_wRoot
;
14
protected
ref
SCR_FadeInOutAnimator
m_Animator
;
15
16
protected
int
m_iLastUpdateTimeMs
;
17
18
//------------------------------------------------------------------------------------------
19
override
void
HandlerAttached
(
Widget
w)
20
{
21
m_wRoot
= w;
22
m_Widgets
.Init(w);
23
24
m_iLastUpdateTimeMs
=
System
.GetTickCount();
25
26
if
(
SCR_DownloadManager
.
GetInstance
())
27
SCR_DownloadManager
.
GetInstance
().
m_OnNewDownload
.Insert(
Callback_OnNewDownload
);
28
29
m_Widgets
.m_OpenButtonComponent.m_OnActivated.Insert(
OnOpenButton
);
30
31
m_Animator
=
new
SCR_FadeInOutAnimator
(
m_wRoot
,
UIConstants
.FADE_RATE_FAST,
UIConstants
.FADE_RATE_SLOW,
FADE_OUT_WAIT_TIME
, fadeOutSetVisibleFalse:
true
);
32
m_Animator
.FadeOutInstantly();
33
34
Update
();
35
}
36
37
38
//------------------------------------------------------------------------------------------
39
override
void
HandlerDeattached
(
Widget
w)
40
{
41
if
(
GetGame
().
GetCallqueue
())
42
GetGame
().GetCallqueue().Remove(
Update
);
43
44
if
(
SCR_DownloadManager
.
GetInstance
())
45
SCR_DownloadManager
.
GetInstance
().
m_OnNewDownload
.Remove(
Callback_OnNewDownload
);
46
}
47
48
49
//------------------------------------------------------------------------------------------
50
void
Update
()
51
{
52
int
tDeltaMs =
System
.GetTickCount() -
m_iLastUpdateTimeMs
;
53
float
tDelta = 0.001 * tDeltaMs;
54
55
SCR_DownloadManager
mgr =
SCR_DownloadManager
.
GetInstance
();
56
if
(mgr && !
SCR_Global
.
IsEditMode
())
57
{
58
UpdateAllWidgets
(tDelta);
59
60
GetGame
().GetCallqueue().CallLater(
Update
, 10);
61
}
62
63
m_iLastUpdateTimeMs
=
System
.GetTickCount();
64
}
65
66
67
//------------------------------------------------------------------------------------------
68
protected
void
UpdateAllWidgets
(
float
tDelta)
69
{
70
// Update whole overlay visibility
71
// It's visible when there are some downloads
72
73
SCR_DownloadManager
mgr =
SCR_DownloadManager
.
GetInstance
();
74
int
nTotal, nCompleted;
75
mgr.
GetDownloadQueueState
(nCompleted, nTotal);
76
77
m_Animator
.ForceVisible(nTotal > 0);
78
79
m_Animator
.Update(tDelta);
80
}
81
82
83
//------------------------------------------------------------------------------------------
84
void
Callback_OnNewDownload
(
SCR_WorkshopItem
item,
SCR_WorkshopItemActionDownload
action)
85
{
86
}
87
88
89
//------------------------------------------------------------------------------------------
90
void
OnOpenButton
()
91
{
92
SCR_DownloadManager_Dialog.Create();
93
}
94
95
};
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
GetCallqueue
ScriptCallQueue GetCallqueue()
Returns CallQueue of this AI. It gets updated from EvaluateBehavior, so that it's synchronous with ot...
Definition
SCR_AIUtilityComponent.c:478
SCR_DownloadManager_PanelComponent
Definition
SCR_DownloadManager_PanelComponent.c:8
SCR_DownloadManager_PanelComponent::m_iLastUpdateTimeMs
int m_iLastUpdateTimeMs
Definition
SCR_DownloadManager_PanelComponent.c:16
SCR_DownloadManager_PanelComponent::FADE_OUT_WAIT_TIME
const float FADE_OUT_WAIT_TIME
Definition
SCR_DownloadManager_PanelComponent.c:10
SCR_DownloadManager_PanelComponent::Callback_OnNewDownload
void Callback_OnNewDownload(SCR_WorkshopItem item, SCR_WorkshopItemActionDownload action)
Definition
SCR_DownloadManager_PanelComponent.c:84
SCR_DownloadManager_PanelComponent::m_wRoot
Widget m_wRoot
Definition
SCR_DownloadManager_PanelComponent.c:13
SCR_DownloadManager_PanelComponent::OnOpenButton
void OnOpenButton()
Definition
SCR_DownloadManager_PanelComponent.c:90
SCR_DownloadManager_PanelComponent::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_DownloadManager_PanelComponent.c:19
SCR_DownloadManager_PanelComponent::m_Widgets
ref SCR_DownloadManager_PanelWidgets m_Widgets
Definition
SCR_DownloadManager_PanelComponent.c:12
SCR_DownloadManager_PanelComponent::UpdateAllWidgets
void UpdateAllWidgets(float tDelta)
Definition
SCR_DownloadManager_PanelComponent.c:68
SCR_DownloadManager_PanelComponent::Update
void Update()
Definition
SCR_DownloadManager_PanelComponent.c:50
SCR_DownloadManager_PanelComponent::HandlerDeattached
override void HandlerDeattached(Widget w)
Definition
SCR_DownloadManager_PanelComponent.c:39
SCR_DownloadManager_PanelComponent::m_Animator
ref SCR_FadeInOutAnimator m_Animator
Definition
SCR_DownloadManager_PanelComponent.c:14
SCR_DownloadManager_PanelWidgets
Definition
SCR_DownloadManager_PanelWidgets.c:5
SCR_DownloadManager
Definition
SCR_DownloadManager.c:21
SCR_DownloadManager::GetDownloadQueueState
void GetDownloadQueueState(out int nCompleted, out int nTotal)
Might get delayed by a frame! Just use it for UI.
Definition
SCR_DownloadManager.c:109
SCR_DownloadManager::GetInstance
static SCR_DownloadManager GetInstance()
Definition
SCR_DownloadManager.c:91
SCR_DownloadManager::m_OnNewDownload
ref ScriptInvoker m_OnNewDownload
Definition
SCR_DownloadManager.c:49
SCR_FadeInOutAnimator
Definition
SCR_FadeInOutAnimator.c:9
SCR_Global
Definition
Functions.c:7
SCR_Global::IsEditMode
static bool IsEditMode()
Definition
Functions.c:1566
SCR_WorkshopItemActionDownload
Definition
SCR_WorkshopItemActionDownload.c:10
SCR_WorkshopItem
Definition
SCR_WorkshopItem.c:28
ScriptedWidgetComponent
Definition
ScriptedWidgetComponent.c:13
System
Definition
System.c:13
UIConstants
Definition
Constants.c:151
Widget
Definition
Widget.c:13
scripts
Game
UI
Menu
DownloadManager
SCR_DownloadManager_PanelComponent.c
Generated by
1.17.0