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

◆ SendCurrentValueData()

void GetCategoryMask::SendCurrentValueData ( PPERequestParamDataBase data)
protected

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

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