5 if (value)
return "true";
27 const int MAX = 2147483647;
28 const int MIN = -2147483648;
63 int l = len - str.
Length();
84 bool InRange(
int min,
int max,
bool inclusive_min =
true,
bool inclusive_max =
true )
86 if( ( !inclusive_min && value <= min ) || value < min )
89 if( ( !inclusive_max && value >= max ) || value > max )
98 const float MIN = FLT_MIN;
99 const float MAX = FLT_MAX;
224 dir_vec[0] = p2[0] - p1[0];
225 dir_vec[1] = p2[1] - p1[1];
226 dir_vec[2] = p2[2] - p1[2];
273 return ((v1[0] * v2[0]) + (v1[1] * v2[1]) + (v1[2] * v2[2]));
288 for(
int i = 0; i < 3; i++) {
290 value[i] = value[i] - 360;
292 value[i] = value[i] + 360;
479 return (pos * cosAngle) + ((axis * pos) * sinAngle) + (axis *
vector.
Dot(axis, pos)) * (1 - cosAngle);
493 vector offsetPos = pos - point;
504 return Vector(arr[0], arr[1], arr[2]);
552 int cnt = e.GetVariableCount();
555 for (
int i = 0; i < cnt; i++)
557 if (e.GetVariableType(i) ==
int && e.GetVariableValue(null, i, val) && val == enumValue)
559 return e.GetVariableName(i);
574 int count = e.GetVariableCount();
577 for (
int i = 0; i < count; i++)
579 if (e.GetVariableType(i) ==
int && e.GetVariableValue(null, i, value) && e.GetVariableName(i) == enumName)
603 return typename.EnumToString(e, enumValue);
614 return typename.StringToEnum(e, enumName);
625 return e.GetVariableCount();
637 e.GetVariableValue(null, idx, value);
650 e.GetVariableValue(null, e.GetVariableCount() - 1, lastValue);
class RecipeCacheData int
bool InRange(int min, int max, bool inclusive_min=true, bool inclusive_max=true)
Check whether integer falls into an inclusive range.
static protected string m_ZeroPad[ZERO_PAD_SIZE]
string ToStringLen(int len)
Integer to string with fixed length, padded with zeroes.
proto string AsciiToString()
Converts ASCII code to string.
Super root of all classes in Enforce script.
private proto void SetInstance(Class inst)
For internal usage of VM.
proto native bool IsInherited(typename baseType)
Returns true when type is the same as 'baseType', or inherited one.
proto native owned string ToString()
Returns type name of variable as string.
static string EnumToString(typename e, int enumValue)
Return string name of enum value.
proto native GetVariableType(int vIdx)
proto owned string GetModule()
Get the name of the module the typename belongs to.
proto native int GetVariableCount()
proto bool GetVariableValue(Class var, int vIdx, out void val)
proto native owned string GetVariableName(int vIdx)
proto volatile Class Spawn()
Dynamic variant to 'new' keyword. It creates new instance of class.
static int StringToEnum(typename e, string enumName)
Return enum value from string name.
proto vector Normalized()
return normalized vector (keeps orginal vector untouched)
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
static const vector Forward
static vector RandomDir2D()
Returns randomly generated XZ unit vector with the Y(up) axis set to 0.
static vector RotateAroundZero(vector pos, vector axis, float cosAngle, float sinAngle)
Rotate a vector around 0,0,0.
proto float Normalize()
Normalizes vector. Returns length.
static vector RandomDir()
Returns randomly generated unit vector.
static vector RotateAroundZeroRad(vector vec, vector axis, float angle)
Rotate a vector around 0,0,0 by an angle in radians.
proto string ToString(bool beautify=true)
Vector to string.
proto vector InvMultiply3(vector mat[3])
Invert-transforms vector.
proto vector AnglesToVector()
Converts spherical coordinates (yaw, pitch, roll in degrees) to unit length vector.
vector Perpend()
Returns perpendicular vector. Perpendicular vector is computed as cross product between input vector ...
proto float VectorToYaw()
Returns yaw of vector.
static vector ArrayToVec(float arr[])
Convert static array of floats into a vector.
proto static native vector YawToVector(float yaw)
Returns vector of yaw.
proto native float LengthSq()
Returns squared length (magnitudeSqr)
proto vector Multiply4(vector mat[4])
Transforms position.
proto vector Multiply3(vector mat[3])
Transforms vector.
proto void RotationMatrixFromAngles(out vector mat[3])
Creates rotation matrix from angles.
static const vector Aside
static proto native vector Lerp(vector v1, vector v2, float t)
Lerp between two vectors.
proto vector InvMultiply4(vector mat[4])
Invert-transforms position.
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.
proto vector VectorToAngles()
Converts vector to spherical coordinates with radius = 1.
static vector Direction(vector p1, vector p2)
Returns direction vector from point p1 to point p2.
static vector RotateAroundPoint(vector point, vector pos, vector axis, float cosAngle, float sinAngle)
Rotate a vector around point.
proto native float Length()
Returns length of vector (magnitude)
static float Dot(vector v1, vector v2)
Returns Dot product of vector v1 and vector v2.
static vector RotateAroundZeroDeg(vector vec, vector axis, float angle)
Rotate a vector around 0,0,0 by an angle in degrees.
vector GetRelAngles()
Returns relative angles between -180 and 180, not 0 to 360.
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static proto float Cos(float angle)
Returns cosinus of angle in radians.
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
static const float DEG2RAD
static proto float Sin(float angle)
Returns sinus of angle in radians.
static proto string ToString(void var, bool type=false, bool name=false, bool quotes=true)
Return string representation of variable.
proto native int Length()
Returns length of string.