26 return PPEConstants.VAR_TYPE_BOOL;
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;
37 bool setting_value_zero =
false;
39 bool bool_value_temp =
false;
44 p_total =
new Param1<bool>(
false);
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_BoolTarget =
false;
84 active_request_count++;
89 req_data.m_BoolLast = req_data.m_BoolCurrent;
91 if (!req_data.GetUpdatingDataValues() && req_data.IsDataActive())
93 bool_value_temp = req_data.m_BoolCurrent;
94 PrepareLayerInfo(req_data.GetPriorityLayer(),bool_value_temp,req_data.GetInteractionMask());
99 bool_value_temp = req_data.m_BoolTarget;
102 req_data.SetUpdatingDataValues(
false);
103 if (setting_value_zero)
105 req_data.SetDataActive(
false);
110 bool_value_temp = req_data.m_BoolTarget;
111 PrepareLayerInfo(req_data.GetPriorityLayer(),bool_value_temp,req_data.GetInteractionMask());
114 req_data.m_BoolCurrent = bool_value_temp;
117 if (active_request_count == 0)
127 bool override_active =
false;
131 if ( override_active )
140 bool_value_total =
Math.
Min(bool_value_total,value);
144 bool_value_total =
Math.
Max(bool_value_total,value);
148 bool_value_total = value;
152 bool_value_total = value;
163 override_active =
true;
169 Param1<bool>.Cast(p_total).param1 = bool_value_total;
PPOperators
PP operators, specify operation between subsequent layers.
Param2 PPETemplateDefBool
void PPERequestParamDataBool(int requester_idx, int mat_id, int param_id, int data_type=0, int priority=0, int mask=PPOperators.SET, bool relative=false)
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.
PPETemplateDefBool m_Bool
const int LAYER_INFO_VALUE
override int GetParameterVarType()
void PPEMatClassParameterBool(int mat_idx, int parameter_idx, PPEClassBase parent)
override void InitDefaults()
const int LAYER_INFO_OPERATOR
void PPEMatClassParameterCommandData(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.