DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ SetDefaultValuesAll()

void GetCategoryMask::SetDefaultValuesAll ( )
protected

Sets all requested values to default, ignoring them in further calculations.

См. определение в файле PPERequestPlatformsBase.c строка 821

823{
824 protected bool m_IsRunning; //helps determine if the requester has been stopped or not
825 protected bool m_ValuesSent;
826 protected int m_IDX;
827
828 protected bool m_Valid = false;
829
830 protected ref map<int,ref map<int,ref PPERequestParamDataBase>> m_RequestDataStructure; // <material<param_id,data>> // parameter data objects are singletons
831
832 void PPERequesterBase(int requester_IDX)
833 {
834 m_Valid = PPERequesterBank.VerifyRequester(this);
835
836 m_IDX = requester_IDX;
837 m_ValuesSent = true;
838 m_IsRunning = false;
840 }
841
843 void SetRequesterUpdating(bool state)
844 {
845 if (!m_Valid)
846 {
847 Debug.Log("" + this + " not valid!");
848 return;
849 }
850
851 PPEManagerStatic.GetPPEManager().SetRequestUpdating(this,state);
852
853 //TODO - separate into its own function?
854 if (state)
855 PPEManagerStatic.GetPPEManager().SetRequestActive(this,true);
856 }
857
858 void Start(Param par = null)
859 {
860 OnStart(par);
861 m_IsRunning = true;
862 }
863
864 void Stop(Param par = null)
865 {
867 return;
868
869 OnStop(par);
870 m_IsRunning = false;
871 }
872
873 bool IsRequesterRunning()
874 {
875 return m_IsRunning;
876 }
877
879 void SetRequesterIDX(int idx)
880 {
881 m_IDX = idx;
882 }
883
885 int GetRequesterIDX()
886 {
887 return m_IDX;
888 }
889
891 int GetCategoryMask()
892 {
893 return PPERequesterCategory.NONE;
894 }
895
896 //SETTERS//
897 //vvvvvvv//
898 protected void SetTargetValueBool(int mat_id, int param_idx, bool val, int priority_layer, int operator = PPOperators.SET)
899 {
901 return;
902
903 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBool | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
918 }
919
920 protected void SetTargetValueBoolDefault(int mat_id, int param_idx)
921 {
922 //TODO - running check and cleanup rework (elsewhere!)
923 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
924 return;
925
926 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
927 data.m_BoolLast = data.m_BoolCurrent;
928 if (!data.IsSettingDefaultValues())
929 {
930 data.SetSettingDefaultValues(true);
931
933 }
934 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBoolDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
935 }
936
937 protected void SetTargetValueInt(int mat_id, int param_idx, bool relative, int val, int priority_layer, int operator = PPOperators.SET)
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueInt | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
956 }
957
958 protected void SetTargetValueIntDefault(int mat_id, int param_idx)
959 {
960 //TODO - running check and cleanup rework (elsewhere!)
961 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueIntDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
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
980 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloat | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
996 }
997
998 protected void SetTargetValueFloatDefault(int mat_id, int param_idx)
999 {
1000 //TODO - running check and cleanup rework (elsewhere!)
1001 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
1002 return;
1003
1004 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloatDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
1015 }
1016
1017 protected void SetTargetValueColor(int mat_id, int param_idx, array<float> val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
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 //if (data.m_ColorTarget != data.m_ColorCurrent)
1032 {
1033 data.SetSettingDefaultValues(false);
1034 data.SetDataActive(true);
1035
1037 }
1038 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColor | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
1039 }
1040
1041 protected void SetTargetValueColorDefault(int mat_id, int param_idx)
1042 {
1043 //TODO - running check and cleanup rework (elsewhere!)
1044 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColorDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
1058 }
1059
1060 /*protected void SetTargetValueVector(int mat_id, int param_idx, bool relative, vector val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
1061 {
1062 }
1063
1064 void SetTargetValueTexture(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
1065 {
1066 }*/
1067
1068 /*void SetTargetValueResource(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
1069 {
1070 }*/
1071
1073 protected void QueueValuesSend()
1074 {
1075 m_ValuesSent = false;
1076 //m_IsRunning = true;
1078 }
1079
1081 PPERequestParamDataBase GetRequestData(int mat_id, int param_idx, int type)
1082 {
1084 if ( m_RequestDataStructure.Get(mat_id) )
1085 {
1086 if (m_RequestDataStructure.Get(mat_id).Get(param_idx))
1087 {
1088 data = m_RequestDataStructure.Get(mat_id).Get(param_idx);
1089 }
1090 else
1091 {
1092 data = PrepareData(mat_id,param_idx,type);
1093 m_RequestDataStructure.Get(mat_id).Set(param_idx,data);
1094 }
1095 }
1096 else
1097 {
1098 data = PrepareData(mat_id,param_idx,type);
1100 temp_map.Set(param_idx,data);
1101 m_RequestDataStructure.Set(mat_id, temp_map);
1102 }
1103
1104 if (!data)
1105 {
1106 Error("GetRequestData | no data found in the structure");
1107 }
1108
1109 data.m_Requester = this;
1110
1111 return data;
1112 }
1113
1114 protected PPERequestParamDataBase PrepareData(int mat_id, int param_idx, int type)
1115 {
1117 switch (type)
1118 {
1119 case PPEConstants.VAR_TYPE_BOOL:
1120 data = new PPERequestParamDataBool(m_IDX, mat_id, param_idx);
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:
1128 data = new PPERequestParamDataFloat(m_IDX, mat_id, param_idx);
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 // unused?
1140 {
1142 }
1143
1144 protected void ClearRequesterData()
1145 {
1146 m_RequestDataStructure.Clear();
1147 }
1148
1150 {
1151 PPEManagerStatic.GetPPEManager().SendMaterialValueData(data);
1152 }
1153
1154 //EVENTS//
1155 //vvvvvv//
1156 void OnUpdate(float delta)
1157 {
1158 //DbgPrnt("PPEDebug | PPERequesterBase | OnUpdate");
1159
1160 if ( !m_ValuesSent )
1161 {
1162 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
1163 {
1164 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
1165 {
1166 SendCurrentValueData(m_RequestDataStructure.GetElement(i).GetElement(j)); //map<int,ref map<int,PPERequestParamDataBase>> //<material<param,data>>
1167 }
1168 }
1169 m_ValuesSent = true;
1170 }
1171 SetRequesterUpdating(false);
1172 }
1173
1174 protected void OnStart(Param par = null)
1175 {
1177 }
1178
1180 protected void OnStop(Param par = null)
1181 {
1182 //DbgPrnt("PPEDebug | " + this + " | OnStop");
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) //if not already relative...
1192 {
1193 switch (var_type)
1194 {
1195 case PPEConstants.VAR_TYPE_FLOAT:
1196 PPETemplateDefFloat p_float = PPETemplateDefFloat.Cast(PPEManagerStatic.GetPPEManager().GetPostProcessDefaultValues(mat_id,param_id));
1197 ret = Math.InverseLerp(p_float.param3, p_float.param4, ret);
1198 ret = Math.Clamp(ret,0.0,1.0);
1199 break;
1200 }
1201 }
1202 //Print("RelativizeValue: " + ret);
1203
1204 return ret;
1205 }
1206
1208 protected void SetDefaultValuesAll()
1209 {
1210 //<material<param_id,data>>
1211 PPERequestParamDataBase req_data;
1212
1213 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
1214 {
1215 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
1216 {
1217 req_data = m_RequestDataStructure.GetElement(i).GetElement(j);
1218
1219 if (!req_data.IsDataActive())
1220 continue;
1221
1222 switch (req_data.GetVarType())
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
1244 void DbgPrnt(string text)
1245 {
1246 //Debug.Log(""+text);
1247 }
1248}
1249
1251// Base requester platforms //
1253
1255{
1256 override int GetCategoryMask()
1257 {
1258 return PPERequesterCategory.GAMEPLAY_EFFECTS;
1259 }
1260}
1261
1263{
1264 override int GetCategoryMask()
1265 {
1266 return PPERequesterCategory.MENU_EFFECTS;
1267 }
1268}
map
Определения ControlsXboxNew.c:4
void Start()
Plays all elements this effects consists of.
Определения Effect.c:155
PPOperators
PP operators, specify operation between subsequent layers.
Определения PPEConstants.c:53
PPERequesterCategory
Определения PPEConstants.c:29
Param4< string, float, float, float > PPETemplateDefFloat
Определения PPEConstants.c:87
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)
Определения PPERequestData.c:111
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)
Определения PPERequestData.c:142
bool m_IsRunning
Определения PPERequestPlatformsBase.c:437
void SetTargetValueBoolDefault(int mat_id, int param_idx)
Определения PPERequestPlatformsBase.c:533
void SendCurrentValueData(PPERequestParamDataBase data)
Определения PPERequestPlatformsBase.c:762
void SetTargetValueBool(int mat_id, int param_idx, bool val, int priority_layer, int operator=PPOperators.SET)
Определения PPERequestPlatformsBase.c:511
ref map< int, ref map< int, ref PPERequestParamDataBase > > m_RequestDataStructure
Определения PPERequestPlatformsBase.c:443
void OnStart(Param par=null)
Определения PPERequestPlatformsBase.c:787
void SetTargetValueFloatDefault(int mat_id, int param_idx)
Определения PPERequestPlatformsBase.c:611
int GetRequesterIDX()
Returns requester index.
Определения PPERequestPlatformsBase.c:498
map< int, ref map< int, ref PPERequestParamDataBase > > GetActiveRequestStructure()
Определения PPERequestPlatformsBase.c:752
int m_IDX
Определения PPERequestPlatformsBase.c:439
bool IsRequesterRunning()
Определения PPERequestPlatformsBase.c:486
void SetTargetValueColorDefault(int mat_id, int param_idx)
Определения PPERequestPlatformsBase.c:654
void SetRequesterIDX(int idx)
automatically assigned by PPERequesterBank
Определения PPERequestPlatformsBase.c:492
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)
Определения PPERequestPlatformsBase.c:801
void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)
Определения PPERequestPlatformsBase.c:588
void DbgPrnt(string text)
Определения PPERequestPlatformsBase.c:857
void SetDefaultValuesAll()
Sets all requested values to default, ignoring them in further calculations.
Определения PPERequestPlatformsBase.c:821
void QueueValuesSend()
Sets this requester to update in the manager.
Определения PPERequestPlatformsBase.c:686
void SetTargetValueColor(int mat_id, int param_idx, array< float > val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)
Определения PPERequestPlatformsBase.c:630
bool m_Valid
Определения PPERequestPlatformsBase.c:441
void SetRequesterUpdating(bool state)
Has to be set for the requester to be handled.
Определения PPERequestPlatformsBase.c:456
void PPERequesterBase(int requester_IDX)
Определения PPERequestPlatformsBase.c:445
class PPERequesterBase GetCategoryMask()
mask for mass-handling methods like 'StopAllEffects'
Определения PPERequestPlatformsBase.c:436
void SetTargetValueInt(int mat_id, int param_idx, bool relative, int val, int priority_layer, int operator=PPOperators.SET)
Определения PPERequestPlatformsBase.c:550
void SetTargetValueIntDefault(int mat_id, int param_idx)
Определения PPERequestPlatformsBase.c:571
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...
Определения PPERequestPlatformsBase.c:694
PPERequestParamDataBase PrepareData(int mat_id, int param_idx, int type)
Определения PPERequestPlatformsBase.c:727
bool m_ValuesSent
Определения PPERequestPlatformsBase.c:438
void ClearRequesterData()
Определения PPERequestPlatformsBase.c:757
@ Count
Определения RandomGeneratorSyncManager.c:8
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.
Определения Debug.c:122
Определения Debug.c:2
Определения EnMath.c:7
static PPEManager GetPPEManager()
Returns the manager instance singleton.
Определения PPEManager.c:27
Static component of PPE manager, used to hold the instance.
Определения PPEManager.c:3
PPERequesterBase m_Requester
Определения PPERequestData.c:4
int GetParameterID()
Определения PPERequestData.c:74
int GetMaterialID()
Определения PPERequestData.c:69
bool IsDataActive()
Определения PPERequestData.c:49
int GetVarType()
Определения PPERequestData.c:79
Data for one material parameter, requester side.
Определения PPERequestData.c:3
base, not to be used directly, would lead to layering collisions!
Определения PPERBloodLoss.c:2
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Определения param.c:12
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
void Error(string err)
Messagebox with error message.
Определения EnDebug.c:90
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 OnStop()
Определения Sound.c:211
void Stop()
Stops all elements this effect consists of.
Определения Effect.c:181
proto native void OnUpdate()
Определения tools.c:349