5 if (val >= me.nValues || val < 0)
7 return me.(valueStrings[val]);
11 if (val >= me.nValues || val < 0)
13 return me.(valueNumberIdentifiers[val]);
17 for (
int i = 0; i < me.nValues; ++i)
18 if (me.valueToNumberIdentifier(me, i) ==
id)
27 return me.valueToNumberIdentifier(me, me.value);
36 if (
fabs(
floor(valueStep * 100 + 0.5) - (valueStep * 100)) < 0.01)
38 if (
fabs(
floor(valueStep * 10 + 0.5) - (valueStep * 10)) < 0.01)
40 if (
fabs(
floor(valueStep * 1 + 0.5) - (valueStep * 1)) < 0.01)
42 if (newDigits > me.valueDigits)
43 me.valueDigits = newDigits;
51 me.adjustDigitsForStep(me, theValueStep);
52 for (
float id = theValueMin;
id <= theValueMax + theValueStep / 2;
id += theValueStep)
54 me.(valueStrings[me.nValues]) =
strzone(me.rangedIdentifierToText(me,
id));
55 me.(valueNumberIdentifiers[me.nValues]) =
stof(
ftos_decimals(
id, me.valueDigits));
61 me.(valueStrings[me.nValues]) = theString;
62 me.(valueNumberIdentifiers[me.nValues]) = theIdentifier;
67 me.adjustDigitsForStep(me, theValueStep);
69 int insertedCount =
ceil((theValueMax - theValueMin) / theValueStep + 0.5);
70 me.nValues += insertedCount;
72 for (
int i = me.nValues - 1; i > pos; --i)
74 me.(valueStrings[i]) = me.(valueStrings[i - insertedCount]);
75 me.(valueNumberIdentifiers[i]) = me.(valueNumberIdentifiers[i - insertedCount]);
77 for (
float id = theValueMin;
id <= theValueMax + theValueStep / 2;
id += theValueStep)
79 string rounded_id_str = me.rangedIdentifierToText(me,
id);
80 me.(valueStrings[pos]) =
strzone(rounded_id_str);
81 me.(valueNumberIdentifiers[pos]) =
stof(rounded_id_str);
88 for (
int i = me.nValues - 1; i > pos; --i)
90 me.(valueStrings[i]) = me.(valueStrings[i - 1]);
91 me.(valueNumberIdentifiers[i]) = me.(valueNumberIdentifiers[i - 1]);
93 me.(valueStrings[pos]) = theString;
94 me.(valueNumberIdentifiers[pos]) = theIdentifier;
98 me.configureSliderValues(me, 0, 0, me.nValues - 1, 1, 1, 1);
99 me.setValueFromNumberIdentifier(me, theDefault,
false);
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
void MixedSlider_insertText(entity me, int pos, string theString, float theIdentifier)
void MixedSlider_clearValues(entity me)
void MixedSlider_configureMixedSliderValues(entity me, float theDefault)
void MixedSlider_adjustDigitsForStep(entity me, float valueStep)
void MixedSlider_setValueFromNumberIdentifier(entity me, float id, bool allowAnim)
string MixedSlider_rangedIdentifierToText(entity me, float id)
float MixedSlider_valueToNumberIdentifier(entity me, int val)
void MixedSlider_addText(entity me, string theString, float theIdentifier)
void MixedSlider_addRange(entity me, float theValueMin, float theValueMax, float theValueStep)
void MixedSlider_insertRange(entity me, int pos, float theValueMin, float theValueMax, float theValueStep)
string MixedSlider_valueToText(entity me, int val)
float MixedSlider_getNumberIdentifier(entity me)
string formatStringSpecial(string formatStr, float value, int decs)
ERASEABLE string ftos_decimals(float number, int decimals)
converts a number to a string with the indicated number of decimals