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_AttributesHelper.c
Go to the documentation of this file.
1
class
SCR_AttributesHelper
2
{
3
protected
static
const
string
ENTRY_DELIMITER
=
";"
;
4
protected
static
const
string
VALUE_DELIMITER
=
"|"
;
5
6
//------------------------------------------------------------------------------------------------
11
static
ParamEnumArray
ParamFromTitles
(
string
titles)
12
{
13
array<string> titlesArray = {};
14
titles.Split(
ENTRY_DELIMITER
, titlesArray,
false
);
15
ParamEnumArray
params
=
new
ParamEnumArray();
16
foreach
(
int
i,
string
title : titlesArray)
17
{
18
if
(title)
// !.IsEmpty() not necessary
19
params
.Insert(
new
ParamEnum
(title.Trim(), i.ToString()));
20
}
21
22
return
params
;
23
}
24
25
//------------------------------------------------------------------------------------------------
31
static
ParamEnumArray
ParamFromDescriptions
(
typename
enumType,
string
descriptions)
32
{
33
array<string> descriptionsArray = {};
34
descriptions.Split(
ENTRY_DELIMITER
, descriptionsArray,
false
);
35
int
variableCount = enumType.GetVariableCount();
36
ParamEnumArray
params
=
new
ParamEnumArray();
37
foreach
(
int
i,
string
description : descriptionsArray)
38
{
39
int
enumValue;
40
if
(description && enumType.GetVariableValue(
NULL
, i, enumValue))
41
params
.Insert(
new
ParamEnum
(enumType.GetVariableName(i), enumValue.ToString(), description.Trim()));
42
}
43
44
return
params
;
45
}
46
47
//------------------------------------------------------------------------------------------------
52
static
ParamEnumArray
ParamFromEntries
(
string
document)
53
{
54
array<string> entries = {};
55
document.Split(
ENTRY_DELIMITER
, entries,
false
);
56
array<string> values = {};
// Reuse instance of values array to avoid unnecessary allocations.
57
ParamEnumArray
params
=
new
ParamEnumArray();
58
foreach
(
string
entry : entries)
59
{
60
string
title, value, description;
61
SplitEntryIntoValues
(entry, values, title, value, description,
VALUE_DELIMITER
);
62
params
.Insert(
new
ParamEnum
(title.Trim(), value.Trim(), description.Trim()));
63
values.Clear();
64
}
65
66
return
params
;
67
}
68
69
//------------------------------------------------------------------------------------------------
74
static
string
ParamToEntries
(ParamEnumArray enumArray)
75
{
76
string
result;
77
foreach
(
int
i,
ParamEnum
paramEnum : enumArray)
78
{
79
result +=
string
.Format(
"%2%1%3%1%4%5"
,
VALUE_DELIMITER
, paramEnum.m_Key, paramEnum.m_Value, paramEnum.m_Desc,
ENTRY_DELIMITER
);
80
}
81
82
return
result;
83
}
84
85
//------------------------------------------------------------------------------------------------
93
static
void
SplitEntryIntoValues
(
string
entry, notnull array<string> values, out
string
title, out
string
value, out
string
description,
string
delimiter =
VALUE_DELIMITER
)
94
{
95
entry.Split(delimiter, values,
false
);
96
int
valuesCount = values.Count();
97
if
(valuesCount <= 0)
98
return
;
99
100
title = values[0];
101
if
(valuesCount <= 1)
102
return
;
103
104
value = values[1];
105
if
(valuesCount <= 2)
106
return
;
107
108
description = values[2];
109
}
110
}
ParamEnum
void ParamEnum(string key, string value, string desc="")
Definition
attributes.c:25
params
category params
Definition
SCR_SpherePointGeneratorPreviewComponent.c:21
ParamEnum
Definition
attributes.c:5
SCR_AttributesHelper
Definition
SCR_AttributesHelper.c:2
SCR_AttributesHelper::VALUE_DELIMITER
static const string VALUE_DELIMITER
Definition
SCR_AttributesHelper.c:4
SCR_AttributesHelper::ParamFromTitles
static ParamEnumArray ParamFromTitles(string titles)
Definition
SCR_AttributesHelper.c:11
SCR_AttributesHelper::ParamFromEntries
static ParamEnumArray ParamFromEntries(string document)
Definition
SCR_AttributesHelper.c:52
SCR_AttributesHelper::SplitEntryIntoValues
static void SplitEntryIntoValues(string entry, notnull array< string > values, out string title, out string value, out string description, string delimiter=VALUE_DELIMITER)
Definition
SCR_AttributesHelper.c:93
SCR_AttributesHelper::ParamToEntries
static string ParamToEntries(ParamEnumArray enumArray)
Definition
SCR_AttributesHelper.c:74
SCR_AttributesHelper::ParamFromDescriptions
static ParamEnumArray ParamFromDescriptions(typename enumType, string descriptions)
Definition
SCR_AttributesHelper.c:31
SCR_AttributesHelper::ENTRY_DELIMITER
static const string ENTRY_DELIMITER
Definition
SCR_AttributesHelper.c:3
NULL
@ NULL
Unknown type.
Definition
DataVarType.c:21
scripts
Game
Helpers
SCR_AttributesHelper.c
Generated by
1.17.0