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;
Super root of all classes in Enforce script.
Created once, on manager init. Script-side representation of C++ material class, separate handling.
ref ActiveParameterRequestsMap m_RequestMap
const int LAYER_INFO_OPERATOR
override int GetParameterVarType()
override void Update(float timeslice, out Param p_total, out bool setting_defaults, int order)
override void SetParameterValueDefault(inout Param p_total)
No active requests for the mat. parameter value change, sets the value to DEFAULT.
void AddPriorityInfo(int priority)
Adds 'layers' to be iterated throug.
ref array< int > m_CommandLayersArray
override void InitDefaults()
void PrepareLayerInfo(int layer, bool value, int operator)
ref map< int, ref array< bool, int > > m_LayerInfo
override void InitCuttent()
void PPEMatClassParameterInt(int mat_idx, int parameter_idx, PPEClassBase parent)
void PrepareLayerInfo(int layer, int value, int operator)
ref Param m_CurrentValues
const int LAYER_INFO_VALUE
Base Param Class with no parameters.
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.
PPOperators
PP operators, specify operation between subsequent layers.
Param4< string, int, int, int > PPETemplateDefInt