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

◆ ClearRequesterData()

void GetCategoryMask::ClearRequesterData ( )
protected

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

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