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_SaveSessionToolbarAction.c
Go to the documentation of this file.
1
[
BaseContainerProps
(),
SCR_BaseContainerCustomTitleUIInfo
(
"m_Info"
)]
2
class
SCR_SaveSessionToolbarAction
:
SCR_EditorToolbarAction
3
{
4
[
Attribute
(
desc
:
"When enabled, the operation will always bring up a save dialog."
)]
5
protected
bool
m_bSaveAs
;
6
7
//------------------------------------------------------------------------------------------------
8
override
bool
IsServer
()
9
{
10
//--- The action opens local UI
11
return
false
;
12
}
13
14
//------------------------------------------------------------------------------------------------
15
override
bool
CanBeShown
(
SCR_EditableEntityComponent
hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities,
vector
cursorWorldPosition,
int
flags
)
16
{
17
//--- Disallow in MP
18
if
(!
Replication
.IsServer())
19
return
false
;
20
21
//--- Disallow if mission is not configured for saving or currently suppressed
22
return
GetGame
().GetSaveGameManager().IsSavingAllowed();
23
}
24
25
//------------------------------------------------------------------------------------------------
26
override
bool
CanBePerformed
(
SCR_EditableEntityComponent
hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities,
vector
cursorWorldPosition,
int
flags
)
27
{
28
return
CanBeShown
(hoveredEntity, selectedEntities, cursorWorldPosition,
flags
);
29
}
30
31
//------------------------------------------------------------------------------------------------
32
override
void
Perform
(
SCR_EditableEntityComponent
hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities,
vector
cursorWorldPosition,
int
flags
,
int
param = -1)
33
{
34
if
(
m_bSaveAs
)
35
{
36
new
SCR_CreateNewSaveDialog
();
37
return
;
38
}
39
40
const
SaveGameManager
manager =
GetGame
().GetSaveGameManager();
41
manager.GetSaves(manager.GetCurrentMissionResource(),
new
SaveGameObtainCallback
(
OnSavesLoaded
));
42
}
43
44
//------------------------------------------------------------------------------------------------
45
protected
void
OnSavesLoaded
(
bool
success, array<SaveGame> saves)
46
{
47
const
SaveGameManager
manager =
GetGame
().GetSaveGameManager();
48
SaveGame
currentSave = manager.GetActiveSave();
49
if
(currentSave)
50
{
51
// Find the latest non rewind save point for current playthrough to override
52
auto
rewind = SCR_RewindComponent.GetInstance();
53
if
(rewind && rewind.IsRewindPoint(currentSave))
54
{
55
currentSave = null;
56
const
int
currentPlaythrough = manager.GetCurrentPlaythroughNumber();
57
58
foreach
(
SaveGame
save : saves)
59
{
60
if
(rewind.IsRewindPoint(save))
61
continue
;
62
63
if
(save.GetPlaythroughNumber() == currentPlaythrough)
64
currentSave = save;
65
}
66
}
67
}
68
69
ESaveGameRequestFlags
saveFlags;
70
if
(
RplSession
.Mode() ==
RplMode
.None)
71
saveFlags =
ESaveGameRequestFlags
.BLOCKING;
72
73
if
(currentSave)
74
{
75
manager.RequestSavePointOverwrite(currentSave, saveFlags);
76
return
;
77
}
78
79
manager.RequestSavePoint(
ESaveGameType
.MANUAL,
flags
: saveFlags);
80
}
81
}
flags
SCR_EAIThreatSectorFlags flags
Definition
AIControlComponentSerializer.c:16
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
RplMode
RplMode
Mode of replication.
Definition
RplMode.c:9
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
SCR_BaseContainerCustomTitleUIInfo
class SCR_ArsenalGameModeUIDataHolder SCR_BaseContainerCustomTitleUIInfo("m_UIInfo")
Definition
SCR_ArsenalManagerComponent.c:1752
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
Replication
Main replication API.
Definition
Replication.c:14
RplSession
Definition
RplSession.c:8
SCR_CreateNewSaveDialog
Definition
SCR_CreateNewSaveDialog.c:6
SCR_EditableEntityComponent
Definition
SCR_EditableEntityComponent.c:14
SCR_EditorToolbarAction
Definition
SCR_EditorToolbarAction.c:4
SCR_SaveSessionToolbarAction
Definition
SCR_SaveSessionToolbarAction.c:3
SCR_SaveSessionToolbarAction::OnSavesLoaded
void OnSavesLoaded(bool success, array< SaveGame > saves)
Definition
SCR_SaveSessionToolbarAction.c:45
SCR_SaveSessionToolbarAction::CanBePerformed
override bool CanBePerformed(SCR_EditableEntityComponent hoveredEntity, notnull set< SCR_EditableEntityComponent > selectedEntities, vector cursorWorldPosition, int flags)
Definition
SCR_SaveSessionToolbarAction.c:26
SCR_SaveSessionToolbarAction::m_bSaveAs
bool m_bSaveAs
Definition
SCR_SaveSessionToolbarAction.c:5
SCR_SaveSessionToolbarAction::CanBeShown
override bool CanBeShown(SCR_EditableEntityComponent hoveredEntity, notnull set< SCR_EditableEntityComponent > selectedEntities, vector cursorWorldPosition, int flags)
Definition
SCR_SaveSessionToolbarAction.c:15
SCR_SaveSessionToolbarAction::Perform
override void Perform(SCR_EditableEntityComponent hoveredEntity, notnull set< SCR_EditableEntityComponent > selectedEntities, vector cursorWorldPosition, int flags, int param=-1)
Definition
SCR_SaveSessionToolbarAction.c:32
SCR_SaveSessionToolbarAction::IsServer
override bool IsServer()
Definition
SCR_SaveSessionToolbarAction.c:8
SaveGame
Definition
SaveGame.c:13
SaveGameManager
Definition
SaveGameManager.c:13
SaveGameObtainCallback
Definition
SaveGameObtainCallback.c:14
vector
Definition
vector.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
ESaveGameRequestFlags
ESaveGameRequestFlags
Definition
ESaveGameRequestFlags.c:13
ESaveGameType
ESaveGameType
Definition
ESaveGameType.c:13
scripts
Game
Editor
Containers
Actions
ToolbarActions
SCR_SaveSessionToolbarAction.c
Generated by
1.17.0