Sets all requested values to default, ignoring them in further calculations.
823{
827
828 protected bool m_Valid =
false;
829
831
833 {
834 m_Valid = PPERequesterBank.VerifyRequester(
this);
835
836 m_IDX = requester_IDX;
840 }
841
844 {
846 {
847 Debug.
Log(
"" +
this +
" not valid!");
848 return;
849 }
850
852
853
854 if (state)
856 }
857
859 {
862 }
863
865 {
867 return;
868
871 }
872
874 {
876 }
877
880 {
882 }
883
886 {
888 }
889
892 {
894 }
895
896
897
899 {
901 return;
902
904 data.SetPriorityLayer(priority_layer);
905 data.SetInteractionMask(operator);
906
907 data.m_BoolTarget = val;
908 data.m_BoolLast = data.m_BoolCurrent;
909
910 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
911 {
912 data.SetSettingDefaultValues(false);
913 data.SetDataActive(true);
914
916 }
917
918 }
919
921 {
922
924 return;
925
927 data.m_BoolLast = data.m_BoolCurrent;
928 if (!data.IsSettingDefaultValues())
929 {
930 data.SetSettingDefaultValues(true);
931
933 }
934
935 }
936
938 {
940 return;
941
942 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
943 data.SetPriorityLayer(priority_layer);
944 data.SetInteractionMask(operator);
945
946 data.m_IntTarget = val;
947 data.m_IntLast = data.m_IntCurrent;
948 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
949 {
950 data.SetSettingDefaultValues(false);
951 data.SetDataActive(true);
952
954 }
955
956 }
957
959 {
960
962 return;
963
964 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
965 data.m_IntLast = data.m_IntCurrent;
966 if (!data.IsSettingDefaultValues())
967 {
968 data.SetSettingDefaultValues(true);
969
971 }
972
973 }
974
975 protected void SetTargetValueFloat(
int mat_id,
int param_idx,
bool relative,
float val,
int priority_layer,
int operator =
PPOperators.ADD_RELATIVE)
976 {
978 return;
979
981 data.SetPriorityLayer(priority_layer);
982 data.SetInteractionMask(operator);
983
984 data.m_FloatFormerTarget = data.m_FloatTarget;
985 data.m_FloatTarget =
RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
986 data.m_FloatLast = data.m_FloatCurrent;
987 data.m_FloatStart = data.m_FloatCurrent;
988 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
989 {
990 data.SetSettingDefaultValues(false);
991 data.SetDataActive(true);
992
994 }
995
996 }
997
999 {
1000
1002 return;
1003
1005 data.m_FloatFormerTarget = data.m_FloatTarget;
1006 data.m_FloatLast = data.m_FloatCurrent;
1007 data.m_FloatStart = data.m_FloatCurrent;
1008 if (!data.IsSettingDefaultValues())
1009 {
1010 data.SetSettingDefaultValues(true);
1011
1013 }
1014
1015 }
1016
1018 {
1020 return;
1021
1022 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
1023 data.SetPriorityLayer(priority_layer);
1024 data.SetInteractionMask(operator);
1025 data.m_ColorFormerTarget = data.m_ColorTarget;
1026
1027 data.m_ColorTarget.Copy(val);
1028
1029 data.m_ColorLast = data.m_ColorCurrent;
1030 data.m_ColorStart = data.m_ColorCurrent;
1031
1032 {
1033 data.SetSettingDefaultValues(false);
1034 data.SetDataActive(true);
1035
1037 }
1038
1039 }
1040
1042 {
1043
1045 return;
1046
1047 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
1048 data.m_ColorFormerTarget = data.m_ColorTarget;
1049 data.m_ColorLast = data.m_ColorCurrent;
1050 data.m_ColorStart = data.m_ColorCurrent;
1051 if (!data.IsSettingDefaultValues())
1052 {
1053 data.SetSettingDefaultValues(true);
1054
1056 }
1057
1058 }
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1074 {
1076
1078 }
1079
1082 {
1085 {
1087 {
1089 }
1090 else
1091 {
1094 }
1095 }
1096 else
1097 {
1100 temp_map.Set(param_idx,data);
1102 }
1103
1104 if (!data)
1105 {
1106 Error(
"GetRequestData | no data found in the structure");
1107 }
1108
1110
1111 return data;
1112 }
1113
1115 {
1117 switch (type)
1118 {
1119 case PPEConstants.VAR_TYPE_BOOL:
1121 break;
1122
1123 case PPEConstants.VAR_TYPE_INT:
1124 data =
new PPERequestParamDataInt(
m_IDX, mat_id, param_idx);
1125 break;
1126
1127 case PPEConstants.VAR_TYPE_FLOAT:
1129 break;
1130
1131 case PPEConstants.VAR_TYPE_COLOR:
1132 data =
new PPERequestParamDataColor(
m_IDX, mat_id, param_idx);
1133 break;
1134 }
1135 return data;
1136 }
1137
1138
1140 {
1142 }
1143
1145 {
1147 }
1148
1150 {
1152 }
1153
1154
1155
1157 {
1158
1159
1161 {
1163 {
1165 {
1167 }
1168 }
1170 }
1172 }
1173
1175 {
1177 }
1178
1181 {
1182
1185 }
1186
1188 protected float RelativizeValue(
float value,
int var_type,
int mat_id,
int param_id,
bool relative)
1189 {
1190 float ret = value;
1191 if (!relative)
1192 {
1193 switch (var_type)
1194 {
1195 case PPEConstants.VAR_TYPE_FLOAT:
1199 break;
1200 }
1201 }
1202
1203
1204 return ret;
1205 }
1206
1209 {
1210
1212
1214 {
1216 {
1218
1220 continue;
1221
1223 {
1224 case PPEConstants.VAR_TYPE_BOOL:
1226 break;
1227
1228 case PPEConstants.VAR_TYPE_INT:
1230 break;
1231
1232 case PPEConstants.VAR_TYPE_FLOAT:
1234 break;
1235
1236 case PPEConstants.VAR_TYPE_COLOR:
1238 break;
1239 }
1240 }
1241 }
1242 }
1243
1245 {
1246
1247 }
1248}
1249
1251
1253
1255{
1257 {
1259 }
1260}
1261
1263{
1265 {
1267 }
1268}
void Start()
Plays all elements this effects consists of.
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 PPEManager GetPPEManager()
Returns the manager instance singleton.
Static component of PPE manager, used to hold the instance.
PPERequesterBase m_Requester
Data for one material parameter, requester side.
base, not to be used directly, would lead to layering collisions!
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,...
void Stop()
Stops all elements this effect consists of.