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

◆ OnStop()

void GetCategoryMask::OnStop ( Param par = null)
protected

automatically resets all material parameters of this requester to defaults

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

795{
796 protected bool m_IsRunning; //helps determine if the requester has been stopped or not
797 protected bool m_ValuesSent;
798 protected int m_IDX;
799
800 protected bool m_Valid = false;
801
802 protected ref map<int,ref map<int,ref PPERequestParamDataBase>> m_RequestDataStructure; // <material<param_id,data>> // parameter data objects are singletons
803
804 void PPERequesterBase(int requester_IDX)
805 {
806 m_Valid = PPERequesterBank.VerifyRequester(this);
807
808 m_IDX = requester_IDX;
809 m_ValuesSent = true;
810 m_IsRunning = false;
812 }
813
815 void SetRequesterUpdating(bool state)
816 {
817 if (!m_Valid)
818 {
819 Debug.Log("" + this + " not valid!");
820 return;
821 }
822
823 PPEManagerStatic.GetPPEManager().SetRequestUpdating(this,state);
824
825 //TODO - separate into its own function?
826 if (state)
827 PPEManagerStatic.GetPPEManager().SetRequestActive(this,true);
828 }
829
830 void Start(Param par = null)
831 {
832 OnStart(par);
833 m_IsRunning = true;
834 }
835
836 void Stop(Param par = null)
837 {
839 return;
840
841 OnStop(par);
842 m_IsRunning = false;
843 }
844
845 bool IsRequesterRunning()
846 {
847 return m_IsRunning;
848 }
849
851 void SetRequesterIDX(int idx)
852 {
853 m_IDX = idx;
854 }
855
857 int GetRequesterIDX()
858 {
859 return m_IDX;
860 }
861
863 int GetCategoryMask()
864 {
865 return PPERequesterCategory.NONE;
866 }
867
868 //SETTERS//
869 //vvvvvvv//
870 protected void SetTargetValueBool(int mat_id, int param_idx, bool val, int priority_layer, int operator = PPOperators.SET)
871 {
873 return;
874
875 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
876 data.SetPriorityLayer(priority_layer);
877 data.SetInteractionMask(operator);
878
879 data.m_BoolTarget = val;
880 data.m_BoolLast = data.m_BoolCurrent;
881
882 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
883 {
884 data.SetSettingDefaultValues(false);
885 data.SetDataActive(true);
886
888 }
889 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBool | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
890 }
891
892 protected void SetTargetValueBoolDefault(int mat_id, int param_idx)
893 {
894 //TODO - running check and cleanup rework (elsewhere!)
895 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
896 return;
897
898 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
899 data.m_BoolLast = data.m_BoolCurrent;
900 if (!data.IsSettingDefaultValues())
901 {
902 data.SetSettingDefaultValues(true);
903
905 }
906 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBoolDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
907 }
908
909 protected void SetTargetValueInt(int mat_id, int param_idx, bool relative, int val, int priority_layer, int operator = PPOperators.SET)
910 {
912 return;
913
914 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
915 data.SetPriorityLayer(priority_layer);
916 data.SetInteractionMask(operator);
917
918 data.m_IntTarget = val;
919 data.m_IntLast = data.m_IntCurrent;
920 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
921 {
922 data.SetSettingDefaultValues(false);
923 data.SetDataActive(true);
924
926 }
927 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueInt | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
928 }
929
930 protected void SetTargetValueIntDefault(int mat_id, int param_idx)
931 {
932 //TODO - running check and cleanup rework (elsewhere!)
933 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
934 return;
935
936 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
937 data.m_IntLast = data.m_IntCurrent;
938 if (!data.IsSettingDefaultValues())
939 {
940 data.SetSettingDefaultValues(true);
941
943 }
944 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueIntDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
945 }
946
947 protected void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
948 {
950 return;
951
952 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
953 data.SetPriorityLayer(priority_layer);
954 data.SetInteractionMask(operator);
955
956 data.m_FloatFormerTarget = data.m_FloatTarget;
957 data.m_FloatTarget = RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
958 data.m_FloatLast = data.m_FloatCurrent;
959 data.m_FloatStart = data.m_FloatCurrent;
960 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
961 {
962 data.SetSettingDefaultValues(false);
963 data.SetDataActive(true);
964
966 }
967 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloat | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
968 }
969
970 protected void SetTargetValueFloatDefault(int mat_id, int param_idx)
971 {
972 //TODO - running check and cleanup rework (elsewhere!)
973 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
974 return;
975
976 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
977 data.m_FloatFormerTarget = data.m_FloatTarget;
978 data.m_FloatLast = data.m_FloatCurrent;
979 data.m_FloatStart = data.m_FloatCurrent;
980 if (!data.IsSettingDefaultValues())
981 {
982 data.SetSettingDefaultValues(true);
983
985 }
986 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloatDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
987 }
988
989 protected void SetTargetValueColor(int mat_id, int param_idx, array<float> val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
990 {
992 return;
993
994 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
995 data.SetPriorityLayer(priority_layer);
996 data.SetInteractionMask(operator);
997 data.m_ColorFormerTarget = data.m_ColorTarget;
998
999 data.m_ColorTarget.Copy(val);
1000
1001 data.m_ColorLast = data.m_ColorCurrent;
1002 data.m_ColorStart = data.m_ColorCurrent;
1003 //if (data.m_ColorTarget != data.m_ColorCurrent)
1004 {
1005 data.SetSettingDefaultValues(false);
1006 data.SetDataActive(true);
1007
1009 }
1010 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColor | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
1011 }
1012
1013 protected void SetTargetValueColorDefault(int mat_id, int param_idx)
1014 {
1015 //TODO - running check and cleanup rework (elsewhere!)
1016 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
1017 return;
1018
1019 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
1020 data.m_ColorFormerTarget = data.m_ColorTarget;
1021 data.m_ColorLast = data.m_ColorCurrent;
1022 data.m_ColorStart = data.m_ColorCurrent;
1023 if (!data.IsSettingDefaultValues())
1024 {
1025 data.SetSettingDefaultValues(true);
1026
1028 }
1029 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColorDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
1030 }
1031
1032 /*protected void SetTargetValueVector(int mat_id, int param_idx, bool relative, vector val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
1033 {
1034 }
1035
1036 void SetTargetValueTexture(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
1037 {
1038 }*/
1039
1040 /*void SetTargetValueResource(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
1041 {
1042 }*/
1043
1045 protected void QueueValuesSend()
1046 {
1047 m_ValuesSent = false;
1048 //m_IsRunning = true;
1050 }
1051
1053 PPERequestParamDataBase GetRequestData(int mat_id, int param_idx, int type)
1054 {
1056 if ( m_RequestDataStructure.Get(mat_id) )
1057 {
1058 if (m_RequestDataStructure.Get(mat_id).Get(param_idx))
1059 {
1060 data = m_RequestDataStructure.Get(mat_id).Get(param_idx);
1061 }
1062 else
1063 {
1064 data = PrepareData(mat_id,param_idx,type);
1065 m_RequestDataStructure.Get(mat_id).Set(param_idx,data);
1066 }
1067 }
1068 else
1069 {
1070 data = PrepareData(mat_id,param_idx,type);
1072 temp_map.Set(param_idx,data);
1073 m_RequestDataStructure.Set(mat_id, temp_map);
1074 }
1075
1076 if (!data)
1077 {
1078 Error("GetRequestData | no data found in the structure");
1079 }
1080
1081 data.m_Requester = this;
1082
1083 return data;
1084 }
1085
1086 protected PPERequestParamDataBase PrepareData(int mat_id, int param_idx, int type)
1087 {
1089 switch (type)
1090 {
1091 case PPEConstants.VAR_TYPE_BOOL:
1092 data = new PPERequestParamDataBool(m_IDX, mat_id, param_idx);
1093 break;
1094
1095 case PPEConstants.VAR_TYPE_INT:
1096 data = new PPERequestParamDataInt(m_IDX, mat_id, param_idx);
1097 break;
1098
1099 case PPEConstants.VAR_TYPE_FLOAT:
1100 data = new PPERequestParamDataFloat(m_IDX, mat_id, param_idx);
1101 break;
1102
1103 case PPEConstants.VAR_TYPE_COLOR:
1104 data = new PPERequestParamDataColor(m_IDX, mat_id, param_idx);
1105 break;
1106 }
1107 return data;
1108 }
1109
1110 // unused?
1112 {
1114 }
1115
1116 protected void ClearRequesterData()
1117 {
1118 m_RequestDataStructure.Clear();
1119 }
1120
1122 {
1123 PPEManagerStatic.GetPPEManager().SendMaterialValueData(data);
1124 }
1125
1126 //EVENTS//
1127 //vvvvvv//
1128 void OnUpdate(float delta)
1129 {
1130 //DbgPrnt("PPEDebug | PPERequesterBase | OnUpdate");
1131
1132 if ( !m_ValuesSent )
1133 {
1134 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
1135 {
1136 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
1137 {
1138 SendCurrentValueData(m_RequestDataStructure.GetElement(i).GetElement(j)); //map<int,ref map<int,PPERequestParamDataBase>> //<material<param,data>>
1139 }
1140 }
1141 m_ValuesSent = true;
1142 }
1143 SetRequesterUpdating(false);
1144 }
1145
1146 protected void OnStart(Param par = null)
1147 {
1149 }
1150
1152 protected void OnStop(Param par = null)
1153 {
1154 //DbgPrnt("PPEDebug | " + this + " | OnStop");
1157 }
1158
1160 protected float RelativizeValue(float value, int var_type, int mat_id, int param_id, bool relative)
1161 {
1162 float ret = value;
1163 if (!relative) //if not already relative...
1164 {
1165 switch (var_type)
1166 {
1167 case PPEConstants.VAR_TYPE_FLOAT:
1168 PPETemplateDefFloat p_float = PPETemplateDefFloat.Cast(PPEManagerStatic.GetPPEManager().GetPostProcessDefaultValues(mat_id,param_id));
1169 ret = Math.InverseLerp(p_float.param3, p_float.param4, ret);
1170 ret = Math.Clamp(ret,0.0,1.0);
1171 break;
1172 }
1173 }
1174 //Print("RelativizeValue: " + ret);
1175
1176 return ret;
1177 }
1178
1180 protected void SetDefaultValuesAll()
1181 {
1182 //<material<param_id,data>>
1183 PPERequestParamDataBase req_data;
1184
1185 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
1186 {
1187 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
1188 {
1189 req_data = m_RequestDataStructure.GetElement(i).GetElement(j);
1190
1191 if (!req_data.IsDataActive())
1192 continue;
1193
1194 switch (req_data.GetVarType())
1195 {
1196 case PPEConstants.VAR_TYPE_BOOL:
1198 break;
1199
1200 case PPEConstants.VAR_TYPE_INT:
1202 break;
1203
1204 case PPEConstants.VAR_TYPE_FLOAT:
1206 break;
1207
1208 case PPEConstants.VAR_TYPE_COLOR:
1210 break;
1211 }
1212 }
1213 }
1214 }
1215
1216 void DbgPrnt(string text)
1217 {
1218 //Debug.Log(""+text);
1219 }
1220}
1221
1223// Base requester platforms //
1225
1227{
1228 override int GetCategoryMask()
1229 {
1230 return PPERequesterCategory.GAMEPLAY_EFFECTS;
1231 }
1232}
1233
1235{
1236 override int GetCategoryMask()
1237 {
1238 return PPERequesterCategory.MENU_EFFECTS;
1239 }
1240}
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