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

◆ GetActiveRequestStructure()

map< int, ref map< int, ref PPERequestParamDataBase > > GetCategoryMask::GetActiveRequestStructure ( )
protected

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

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