14 m_Valid = PPERequesterBank.VerifyRequester(
this);
16 m_IDX = requester_IDX;
27 Debug.
Log(
"" +
this +
" not valid!");
84 data.SetPriorityLayer(priority_layer);
85 data.SetInteractionMask(
operator);
87 data.m_BoolTarget = val;
88 data.m_BoolLast = data.m_BoolCurrent;
90 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
92 data.SetSettingDefaultValues(
false);
93 data.SetDataActive(
true);
107 data.m_BoolLast = data.m_BoolCurrent;
108 if (!data.IsSettingDefaultValues())
110 data.SetSettingDefaultValues(
true);
122 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
123 data.SetPriorityLayer(priority_layer);
124 data.SetInteractionMask(
operator);
126 data.m_IntTarget = val;
127 data.m_IntLast = data.m_IntCurrent;
128 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
130 data.SetSettingDefaultValues(
false);
131 data.SetDataActive(
true);
144 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
145 data.m_IntLast = data.m_IntCurrent;
146 if (!data.IsSettingDefaultValues())
148 data.SetSettingDefaultValues(
true);
161 data.SetPriorityLayer(priority_layer);
162 data.SetInteractionMask(
operator);
164 data.m_FloatFormerTarget = data.m_FloatTarget;
165 data.m_FloatTarget =
RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
166 data.m_FloatLast = data.m_FloatCurrent;
167 data.m_FloatStart = data.m_FloatCurrent;
168 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
170 data.SetSettingDefaultValues(
false);
171 data.SetDataActive(
true);
185 data.m_FloatFormerTarget = data.m_FloatTarget;
186 data.m_FloatLast = data.m_FloatCurrent;
187 data.m_FloatStart = data.m_FloatCurrent;
188 if (!data.IsSettingDefaultValues())
190 data.SetSettingDefaultValues(
true);
202 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
203 data.SetPriorityLayer(priority_layer);
204 data.SetInteractionMask(
operator);
205 data.m_ColorFormerTarget = data.m_ColorTarget;
207 data.m_ColorTarget.Copy(val);
209 data.m_ColorLast = data.m_ColorCurrent;
210 data.m_ColorStart = data.m_ColorCurrent;
213 data.SetSettingDefaultValues(
false);
214 data.SetDataActive(
true);
227 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
228 data.m_ColorFormerTarget = data.m_ColorTarget;
229 data.m_ColorLast = data.m_ColorCurrent;
230 data.m_ColorStart = data.m_ColorCurrent;
231 if (!data.IsSettingDefaultValues())
233 data.SetSettingDefaultValues(
true);
280 temp_map.Set(param_idx,data);
286 Error(
"GetRequestData | no data found in the structure");
299 case PPEConstants.VAR_TYPE_BOOL:
303 case PPEConstants.VAR_TYPE_INT:
304 data =
new PPERequestParamDataInt(
m_IDX, mat_id, param_idx);
307 case PPEConstants.VAR_TYPE_FLOAT:
311 case PPEConstants.VAR_TYPE_COLOR:
312 data =
new PPERequestParamDataColor(
m_IDX, mat_id, param_idx);
368 protected float RelativizeValue(
float value,
int var_type,
int mat_id,
int param_id,
bool relative)
375 case PPEConstants.VAR_TYPE_FLOAT:
404 case PPEConstants.VAR_TYPE_BOOL:
408 case PPEConstants.VAR_TYPE_INT:
412 case PPEConstants.VAR_TYPE_FLOAT:
416 case PPEConstants.VAR_TYPE_COLOR:
PPOperators
PP operators, specify operation between subsequent layers.
Param4< string, float, float, float > PPETemplateDefFloat
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)
void PPERequestParamDataFloat(int requester_idx, int mat_id, int param_id, int data_type=0, int priority=0, int mask=PPOperators.SET, bool relative=false)
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
Static component of PPE manager, used to hold the instance.
static PPEManager GetPPEManager()
Returns the manager instance singleton.
Data for one material parameter, requester side.
PPERequesterBase m_Requester
base, not to be used directly, would lead to layering collisions!
map< int, ref map< int, ref PPERequestParamDataBase > > GetActiveRequestStructure()
protected void SetDefaultValuesAll()
Sets all requested values to default, ignoring them in further calculations.
void DbgPrnt(string text)
protected void SetTargetValueBoolDefault(int mat_id, int param_idx)
protected ref map< int, ref map< int, ref PPERequestParamDataBase > > m_RequestDataStructure
protected void SetTargetValueColorDefault(int mat_id, int param_idx)
protected void SetTargetValueFloatDefault(int mat_id, int param_idx)
protected void OnStop(Param par=null)
automatically resets all material parameters of this requester to defaults
bool IsRequesterRunning()
protected float RelativizeValue(float value, int var_type, int mat_id, int param_id, bool relative)
converts all values used to relative values (if not relative already)
protected bool m_IsRunning
protected void SetTargetValueBool(int mat_id, int param_idx, bool val, int priority_layer, int operator=PPOperators.SET)
void SetRequesterUpdating(bool state)
Has to be set for the requester to be handled.
protected void OnStart(Param par=null)
void Stop(Param par=null)
override int GetCategoryMask()
protected void ClearRequesterData()
protected void SendCurrentValueData(PPERequestParamDataBase data)
void SetRequesterIDX(int idx)
automatically assigned by PPERequesterBank
void OnUpdate(float delta)
protected void SetTargetValueIntDefault(int mat_id, int param_idx)
protected void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)
protected PPERequestParamDataBase PrepareData(int mat_id, int param_idx, int type)
int GetCategoryMask()
mask for mass-handling methods like 'StopAllEffects'
protected void QueueValuesSend()
Sets this requester to update in the manager.
protected bool m_ValuesSent
protected void SetTargetValueColor(int mat_id, int param_idx, ref array< float > val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)
int GetRequesterIDX()
Returns requester index.
protected void SetTargetValueInt(int mat_id, int param_idx, bool relative, int val, int priority_layer, int operator=PPOperators.SET)
PPERequestParamDataBase GetRequestData(int mat_id, int param_idx, int type)
returns request data for specific parameter, or creates one if one does not exist in this request yet...
void Start(Param par=null)
void PPERequesterBase(int requester_IDX)
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
void Error(string err)
Messagebox with error message.
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
static proto float InverseLerp(float a, float b, float value)
Calculates the linear value that produces the interpolant value within the range [a,...