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

◆ OnUpdate()

void GetCategoryMask::OnUpdate ( float delta)
protected

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

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