26 return PPEConstants.VAR_TYPE_INT;
29 override void Update(
float timeslice, out
Param p_total, out
bool setting_defaults,
int order)
31 super.Update(timeslice,p_total,setting_defaults,order);
33 int active_request_count = 0;
35 PPERequestParamDataInt req_data;
37 bool setting_value_zero =
false;
39 bool int_value_temp =
false;
44 p_total =
new Param1<int>(0);
61 req_data = PPERequestParamDataInt.Cast(
m_RequestMap.GetElement(i));
69 setting_value_zero = req_data.IsSettingDefaultValues();
71 if (setting_value_zero && !req_data.GetUpdatingDataValues() && !req_data.IsDataActive())
77 if (setting_value_zero)
79 req_data.m_IntTarget =
false;
84 active_request_count++;
89 req_data.m_IntLast = req_data.m_IntCurrent;
91 if (!req_data.GetUpdatingDataValues() && req_data.IsDataActive())
93 int_value_temp = req_data.m_IntCurrent;
94 PrepareLayerInfo(req_data.GetPriorityLayer(),int_value_temp,req_data.GetInteractionMask());
99 int_value_temp = req_data.m_IntTarget;
102 req_data.SetUpdatingDataValues(
false);
103 if (setting_value_zero)
105 req_data.SetDataActive(
false);
110 int_value_temp = req_data.m_IntTarget;
111 PrepareLayerInfo(req_data.GetPriorityLayer(),int_value_temp,req_data.GetInteractionMask());
114 req_data.m_IntCurrent = int_value_temp;
117 if (active_request_count == 0)
127 bool override_active =
false;
131 if ( override_active )
140 int_value_total =
Math.
Min(int_value_total,value);
144 int_value_total =
Math.
Max(int_value_total,value);
148 int_value_total = value;
152 int_value_total = value;
163 override_active =
true;
169 Param1<int>.Cast(p_total).param1 = int_value_total;
PPOperators
PP operators, specify operation between subsequent layers.
Param4< string, int, int, int > PPETemplateDefInt
Super root of all classes in Enforce script.
Created once, on manager init. Script-side representation of C++ material class, separate handling.
ref Param m_CurrentValues
void AddPriorityInfo(int priority)
Adds 'layers' to be iterated throug.
void PrepareLayerInfo(int layer, int value, int operator)
const int LAYER_INFO_VALUE
override int GetParameterVarType()
override void InitDefaults()
const int LAYER_INFO_OPERATOR
void PPEMatClassParameterInt(int mat_idx, int parameter_idx, PPEClassBase parent)
override void Update(float timeslice, out Param p_total, out bool setting_defaults, int order)
override void InitCuttent()
void PrepareLayerInfo(int layer, bool value, int operator)
ref ActiveParameterRequestsMap m_RequestMap
ref map< int, ref array< bool, int > > m_LayerInfo
override void SetParameterValueDefault(inout Param p_total)
No active requests for the mat. parameter value change, sets the value to DEFAULT.
ref array< int > m_CommandLayersArray
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
void Error(string err)
Messagebox with error message.
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static proto float Max(float x, float y)
Returns bigger of two given values.
static proto float Min(float x, float y)
Returns smaller of two given values.