68 super.HandlerAttached(w);
116 array<ref SCR_LocalizedProperty> options = {};
125 options.Insert(scenarioOption);
161 int scenarioIndex = -1;
168 if (mission && scenario.Id() == mission.Id())
176 if (scenarioIndex != -1)
185 array<ref SCR_LocalizedProperty> entries = {};
191 if (entry.m_sPropertyName == scenarioId)
225 if (!defaultMissions.IsEmpty())
247 array<MissionWorkshopItem> missionItemsAll = {};
253 string name = selected.m_sPropertyName;
255 if (scenario.Id() == name)
269 array<MissionWorkshopItem> missionItemsAll = {};
285 if (ownerItem.Id() == property.m_sPropertyName)
296 array<MissionWorkshopItem> allMissions = {};
299 array<MissionWorkshopItem> defaultMissions = {};
303 defaultMissions.Insert(mission);
307 SCR_Sorting<MissionWorkshopItem, SCR_CompareMissionName>.HeapSort(defaultMissions);
308 return defaultMissions;
315 array<MissionWorkshopItem> allMissions = {};
319 array<MissionWorkshopItem> missions = {};
340 missions.Insert(mission);
344 SCR_Sorting<MissionWorkshopItem, SCR_CompareMissionName>.HeapSort(missions);
363 if (gamePropertiesSCr)
370 FindEntry(
"serverMaxViewDistance").
SetValue(gamePropertiesSCr.serverMaxViewDistance.ToString());
371 FindEntry(
"networkViewDistance").
SetValue(gamePropertiesSCr.networkViewDistance.ToString());
372 FindEntry(
"serverMinGrassDistance").
SetValue(gamePropertiesSCr.serverMinGrassDistance.ToString());
387 float entryX, entryY;
388 w.GetScreenPos(entryX, entryY);
392 m_wList.GetScreenSize(listW, listH);
396 m_wList.GetScreenPos(listX, listY);
399 float scrollW, scrollH;
403 float outView = listH - scrollH;
404 float relPos = entryY - listY;
406 float pos = 1 - (outView - relPos) / outView;
445 array<ref SCR_LocalizedProperty> ownerMods = {};
452 for (
int i = 0; i < count; i++)
465 if (!ownerMods || ownerMods.IsEmpty() || ownerMods[0] == null)
510 string scenarioTranslation =
WidgetManager.Translate(scenario.Name());
511 string fileName =
string.Format(
FILE_NAME_BASE, scenarioTranslation);
512 fileName.Replace(
" ",
"");
SCR_ExitGameWhileDownloadingDialog m_Scenario
bool IsPlatformGameConsole()
ArmaReforgerScripted GetGame()
void SCR_DSGameProperties()
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
ScriptInvokerBase< ScriptInvokerStringMethod > ScriptInvokerString
void SCR_ScenarioSources(MissionWorkshopItem scenario, array< WorkshopItem > mods)
ref array< WorkshopItem > m_aMods
ScriptInvokerBase< ScriptInvokerMissionWorkshopItemMethod > ScriptInvokerMissionWorkshopItem
SCR_WorkshopItem Register(WorkshopItem item)
Returns a SCR_WorkshopItem. If it's not registered, creates a new one and registers it.
static SCR_ERevisionAvailability ItemAvailability(notnull WorkshopItem item)
static SCR_AddonManager GetInstance()
VerticalLayoutWidget m_wList
ScrollLayoutWidget m_wScrollWidget
SCR_WidgetListEntry FindEntry(string propertyName, string groupTag="")
Find variable of given property name and group tag - no group tag find any variable of given property...
Handler for json api struct values.
static string BoolToString(bool boolean)
Variable that is using localized label.
static bool IsMultiplayer(MissionWorkshopItem mission)
static bool CanHost(MissionWorkshopItem mission)
ref ScriptInvokerString m_OnPortChanged
void SetupPlayerLimit(int limit)
ref array< ref SCR_ScenarioSources > m_aScenarioSources
ScriptInvokerString GetOnPortChanged()
array< MissionWorkshopItem > GetModdedScenarios()
override void HandlerAttached(Widget w)
void FillScenarios()
Fill scenario selection with list of available scenarios.
int GetScenarioIndexById(string scenarioId)
MissionWorkshopItem GetSelectedScenario()
ScriptInvokerMissionWorkshopItem GetOnScenarioSelected()
const string JOIN_QUEUE_MAX_SIZE
const string SERVER_NAME_BASE
void OnSelectScenario(SCR_ComboBoxComponent comboBox, int selected)
void SelectScenario(notnull MissionWorkshopItem scenario)
void OnNameChanged(SCR_EditBoxComponent edit, string text)
SCR_WidgetListEntrySelection m_ScenarioModSelect
void FillFromDSConfig(notnull SCR_DSConfig config)
Fill all entries with values from given DS config.
SCR_WidgetListEntrySelection m_BattleyeSelect
string GenerateFileName(notnull MissionWorkshopItem scenario)
Generate server name to the name editbox in case name wasn't edited.
void OnFileNameChanged(SCR_EditBoxComponent edit, string text)
SCR_WidgetListEntrySlider m_PlayerListSlider
SCR_WidgetListEntryEditBox m_SimplePortEdit
void SetPort(string port)
const string PLAYER_LIMIT_ENTRY
const string SCENARIO_SELECTION_ENTRY
WorkshopItem GetScenarioOwnerMod()
Return currently selected scenario owner mod as workshop item.
void FillScenarioSources()
void OnSimplePortChanged(string text)
void GenerateName(notnull MissionWorkshopItem scenario)
Generate server name to the name editbox in case name wasn't edited.
SCR_WidgetListEntrySelection m_CrossplaySelect
const string FILE_NAME_BASE
void ScrollToTheEntry(notnull Widget w)
Scroll to the selected entry.
void ConsoleSetup()
Apply console specific properties.
const string FILE_NAME_ENTRY
SCR_WidgetListEntryEditBox m_NameEdit
const string CHAR_BLACK_LIST
void SelectDefaultScenario()
const string SCENARIO_MOD_SELECTION_ENTRY
SCR_WidgetListEntrySlider m_JoinQueueSizeSlider
void InsertScenarioToMap(MissionWorkshopItem scenario, WorkshopItem modOwner)
SCR_WidgetListEntrySelection m_ScenarioSelect
array< MissionWorkshopItem > GetDefaultScenarios()
ref ScriptInvokerMissionWorkshopItem m_OnScenarioSelected
Configurable widget list entry for various value that can be typed - numbers, strings,...
void SetValue(string str)
Configurable widget list entry list selection.
bool GetAnyDependencyMissing()