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

◆ OnStart()

void OnStart ( Param par = null)
protected

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

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

Используется в TimerBase::Run().