Stat Value
📊 StatValue Struct
The StatValue
struct represents a value of a Stat and is designed to provide a flexible alternative to numeric types.
Namespace:
Esper.Inventool.Stats
Access:public
Type:struct
📦 Fields
public
numericType
NumericValue.NumericType
The numeric type.
public
value
NumericValue.Value
The value.
🧰 Methods
public
StatValue(NumericValue.Value value)
— (constructor)
Creates a new StatValue
from a NumericValue.Value
.
public
StatValue(NumericValue.NumericType numericType)
— (constructor)
Creates a new StatValue
with the specified numeric type.
public
StatValue(NumericValue.NumericType numericType, NumericValue.Value value)
— (constructor)
Creates a new StatValue
with a numeric type and a value.
public
StatValue(NumericValue.NumericType numericType, int value)
— (constructor)
Creates a new StatValue
with a numeric type and integer value.
public
StatValue(NumericValue.NumericType numericType, float value)
— (constructor)
Creates a new StatValue
with a numeric type and float value.
public
SetNumericType(NumericValue.NumericType numericType)
void
Sets the numeric type, converting the stored value if needed.
public
SetValue(int value)
void
Sets the stat value as an integer.
public
SetValue(float value)
void
Sets the stat value as a float.
public
SetValueWithConversion(int value)
void
Sets the value with conversion based on the numeric type.
public
SetValueWithConversion(float value)
void
Sets the value with conversion based on the numeric type.
public
IsComparable(StatValue other)
bool
Checks if this value is comparable with another based on numeric type.
public
ToString()
string
Converts the stat value to a readable string.
public
ToFloat()
float
Converts the stat value to a float.
public
ToInt()
int
Converts the stat value to an int.
➕ Operator Overloads
Arithmetic Operators
/
Supports division with StatValue
, int
, and float
.
*
Supports multiplication with StatValue
, int
, and float
.
+
Supports addition with StatValue
, int
, and float
.
-
Supports subtraction with StatValue
, int
, and float
.
Comparison Operators
==
, !=
Equality and inequality comparisons between StatValue
, int
, and float
.
<
, >
, <=
, >=
Standard comparison operators for numeric comparison.
Implicit Conversions
int → StatValue
Implicitly converts an integer to a StatValue
.
float → StatValue
Implicitly converts a float to a StatValue
.
StatValue → float
Implicitly converts a StatValue
to a float.
StatValue → int
Implicitly converts a StatValue
to an integer.
🧩 Nested Enums
ValueType
Defines how a stat value should be treated.
Value
The stat’s value is exact.
Percent
The stat’s value represents a percentage.
Creating a Stat Value
A StatValue
requires a NumericValue.NumericType
and a numeric value (int
or float
).
StatValue myStatValue = new StatValue(myStatIdentity, 100);
Operators
You can use arithmetic and comparison operators for mathematical and comparison purposes.
Arithmetic Example
You can use arithmetic operators for a StatValue
for mathematical purposes with another StatValue
, int
, or float
value.
StatValue statValueC = statValueA + statValueB;
Comparison Example
You can use comparison operators for to compare a StatValue
with another StatValue
, int
, or float
value.
if (statValueA >= statValueB)
{
// Do something...
}
Last updated