Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_EditorSaveLoadUIComponent.c
Go to the documentation of this file.
2{
3 //------------------------------------------------------------------------------------------------
4 override protected void OnConfirm(SCR_InputButtonComponent button, string actionName)
5 {
6 // Save dialogs
7 if (!m_bIsLoad)
8 {
9 string customName = m_Widgets.m_SaveNameInputComponent0.GetValue();
10 /*if (!GetGame().GetSaveManager().FileExists(m_eWriteSaveType, customName))
11 {
12 //--- Creating a new file - save directly
13 OnConfirmPrompt();
14 return;
15 }*/
16
17 //--- Confirm prompt
19 m_ConfirmPrompt.m_OnConfirm.Insert(OnConfirmPrompt);
20 m_ConfirmPrompt.SetTitle(customName);
21 return;
22 }
23
24 //--- Loading a file leads to restart, ask first
25
26 Widget focusedEntry = GetGame().GetWorkspace().GetFocusedWidget();
27 SCR_SaveLoadEntryComponent entry = m_mComponentEntries.Get(focusedEntry);
28 if (!entry)
29 return;
30
31 SaveGame save = entry.GetSaveData();
32 const string displayName = GetSaveDisplayName(save);
33 if (!save.IsSavePointGameVersionCompatible())
34 {
35 // Warning - incompatible version
37 m_LoadBadVersionPrompt.m_OnConfirm.Insert(LoadEntry);
38 m_LoadBadVersionPrompt.SetTitle(displayName);
39 return;
40 }
41
42 if (!save.AreSavePointAddonsCompatible())
43 {
44 // Warning - incompatible addons
46 m_LoadBadAddonsPrompt.m_OnConfirm.Insert(LoadEntry);
47 m_LoadBadAddonsPrompt.SetTitle(displayName);
48 return;
49 }
50
51 //--- Confirm prompt
53 m_ConfirmPrompt.m_OnConfirm.Insert(OnConfirmPrompt);
54 m_ConfirmPrompt.SetTitle(displayName);
55 }
56
57 //------------------------------------------------------------------------------------------------
58 override protected void SaveEntry()
59 {
60 const string customName = m_Widgets.m_SaveNameInputComponent0.GetValue();
61
63 if (RplSession.Mode() == RplMode.None)
65
66 GetGame().GetSaveGameManager().RequestSavePoint(ESaveGameType.MANUAL, customName, flags);
67 }
68
69 //------------------------------------------------------------------------------------------------
70 override protected void OnDeletePrompt()
71 {
74
75 super.OnDeletePrompt();
76 }
77
78 //------------------------------------------------------------------------------------------------
79 protected void OnSaveDeleted(bool success, Managed context)
80 {
81 if (!success)
82 return;
83
84 auto save = SaveGame.Cast(context);
85 if (save)
86 RemoveSaveEntry(save);
87 }
88
89 //------------------------------------------------------------------------------------------------
90 override protected void LoadEntry()
91 {
92 if (!m_SelectedSave)
93 return;
94
95 GetGame().GetSaveGameManager().Load(m_SelectedSave);
96
97 /*
98 SCR_ServerSaveRequestCallback uploadCallback = saveManager.GetUploadCallback();
99 if (uploadCallback)
100 {
101 uploadCallback.SetOnSuccess(OnLoadEntryUploadResponse);
102 uploadCallback.SetOnError(OnLoadEntryUploadError);
103 m_LoadingOverlay = SCR_LoadingOverlayDialog.Create();
104 }
105 */
106 }
107
108 //------------------------------------------------------------------------------------------------
109 override protected void SelectEntry(Widget w, SCR_SaveLoadEntryComponent entryComponent)
110 {
111 super.SelectEntry(w, entryComponent);
112
113 const string customName = GetSaveDisplayName(entryComponent);
114 m_Widgets.m_SaveNameInputComponent0.SetValue(customName);
115 }
116
117 //------------------------------------------------------------------------------------------------
118 override protected void UpdateButtons()
119 {
120 if (m_mComponentEntries.IsEmpty())
121 {
122 m_Widgets.m_DeleteButtonComponent.SetVisible(false);
123 m_Widgets.m_OverrideButtonComponent.SetVisible(false);
124 m_Widgets.m_ConfirmButtonComponent.SetVisible(false);
125 return;
126 }
127
128 string customName = m_Widgets.m_SaveNameInputComponent0.GetValue();
129 bool isValid = !customName.IsEmpty();
130 bool isOverride = false;
131
132 if (m_bIsLoad)
133 {
134 m_Widgets.m_DeleteButtonComponent.SetVisible(m_SelectedSave != null);
135 m_Widgets.m_DeleteButtonComponent.SetEnabled(m_SelectedSave != null);
136 }
137 else
138 {
139 m_Widgets.m_DeleteButtonComponent.SetVisible(isOverride);
140 m_Widgets.m_DeleteButtonComponent.SetEnabled(isOverride);
141 }
142
143 m_Widgets.m_OverrideButtonComponent.SetVisible(isOverride, false);
144 m_Widgets.m_OverrideButtonComponent.SetEnabled(isOverride && isValid);
145
146 m_Widgets.m_ConfirmButtonComponent.SetVisible(!isOverride, false);
147 m_Widgets.m_ConfirmButtonComponent.SetEnabled(!isOverride && isValid);
148 }
149}
SCR_EAIThreatSectorFlags flags
ArmaReforgerScripted GetGame()
Definition game.c:1398
RplMode
Mode of replication.
Definition RplMode.c:9
static SCR_ConfigurableDialogUi CreateFromPreset(ResourceName presetsResourceName, string tag, SCR_ConfigurableDialogUi customDialogObj=null)
Creates a dialog from preset.
void OnConfirm(SCR_InputButtonComponent button, string actionName)
void OnSaveDeleted(bool success, Managed context)
void SelectEntry(Widget w, SCR_SaveLoadEntryComponent entryComponent)
void RemoveSaveEntry(notnull SaveGame save)
SCR_ConfigurableDialogUi m_LoadBadVersionPrompt
ref SCR_EditorSaveDialogWidgets m_Widgets
SCR_ConfigurableDialogUi m_ConfirmPrompt
SCR_ConfigurableDialogUi m_LoadBadAddonsPrompt
string GetSaveDisplayName(SCR_SaveLoadEntryComponent saveEntry)
ref map< Widget, SCR_SaveLoadEntryComponent > m_mComponentEntries
SaveGame GetSaveData()
ESaveGameRequestFlags
ESaveGameType