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

◆ QueueValuesSend()

void GetCategoryMask::QueueValuesSend ( )
protected

Sets this requester to update in the manager.

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

688{
689 protected bool m_IsRunning; //helps determine if the requester has been stopped or not
690 protected bool m_ValuesSent;
691 protected int m_IDX;
692
693 protected bool m_Valid = false;
694
695 protected ref map<int,ref map<int,ref PPERequestParamDataBase>> m_RequestDataStructure; // <material<param_id,data>> // parameter data objects are singletons
696
697 void PPERequesterBase(int requester_IDX)
698 {
699 m_Valid = PPERequesterBank.VerifyRequester(this);
700
701 m_IDX = requester_IDX;
702 m_ValuesSent = true;
703 m_IsRunning = false;
705 }
706
708 void SetRequesterUpdating(bool state)
709 {
710 if (!m_Valid)
711 {
712 Debug.Log("" + this + " not valid!");
713 return;
714 }
715
716 PPEManagerStatic.GetPPEManager().SetRequestUpdating(this,state);
717
718 //TODO - separate into its own function?
719 if (state)
720 PPEManagerStatic.GetPPEManager().SetRequestActive(this,true);
721 }
722
723 void Start(Param par = null)
724 {
725 OnStart(par);
726 m_IsRunning = true;
727 }
728
729 void Stop(Param par = null)
730 {
732 return;
733
734 OnStop(par);
735 m_IsRunning = false;
736 }
737
738 bool IsRequesterRunning()
739 {
740 return m_IsRunning;
741 }
742
744 void SetRequesterIDX(int idx)
745 {
746 m_IDX = idx;
747 }
748
750 int GetRequesterIDX()
751 {
752 return m_IDX;
753 }
754
756 int GetCategoryMask()
757 {
758 return PPERequesterCategory.NONE;
759 }
760
761 //SETTERS//
762 //vvvvvvv//
763 protected void SetTargetValueBool(int mat_id, int param_idx, bool val, int priority_layer, int operator = PPOperators.SET)
764 {
766 return;
767
768 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
769 data.SetPriorityLayer(priority_layer);
770 data.SetInteractionMask(operator);
771
772 data.m_BoolTarget = val;
773 data.m_BoolLast = data.m_BoolCurrent;
774
775 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
776 {
777 data.SetSettingDefaultValues(false);
778 data.SetDataActive(true);
779
781 }
782 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBool | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
783 }
784
785 protected void SetTargetValueBoolDefault(int mat_id, int param_idx)
786 {
787 //TODO - running check and cleanup rework (elsewhere!)
788 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
789 return;
790
791 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
792 data.m_BoolLast = data.m_BoolCurrent;
793 if (!data.IsSettingDefaultValues())
794 {
795 data.SetSettingDefaultValues(true);
796
798 }
799 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBoolDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
800 }
801
802 protected void SetTargetValueInt(int mat_id, int param_idx, bool relative, int val, int priority_layer, int operator = PPOperators.SET)
803 {
805 return;
806
807 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
808 data.SetPriorityLayer(priority_layer);
809 data.SetInteractionMask(operator);
810
811 data.m_IntTarget = val;
812 data.m_IntLast = data.m_IntCurrent;
813 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
814 {
815 data.SetSettingDefaultValues(false);
816 data.SetDataActive(true);
817
819 }
820 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueInt | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
821 }
822
823 protected void SetTargetValueIntDefault(int mat_id, int param_idx)
824 {
825 //TODO - running check and cleanup rework (elsewhere!)
826 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
827 return;
828
829 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
830 data.m_IntLast = data.m_IntCurrent;
831 if (!data.IsSettingDefaultValues())
832 {
833 data.SetSettingDefaultValues(true);
834
836 }
837 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueIntDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
838 }
839
840 protected void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
841 {
843 return;
844
845 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
846 data.SetPriorityLayer(priority_layer);
847 data.SetInteractionMask(operator);
848
849 data.m_FloatFormerTarget = data.m_FloatTarget;
850 data.m_FloatTarget = RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
851 data.m_FloatLast = data.m_FloatCurrent;
852 data.m_FloatStart = data.m_FloatCurrent;
853 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
854 {
855 data.SetSettingDefaultValues(false);
856 data.SetDataActive(true);
857
859 }
860 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloat | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
861 }
862
863 protected void SetTargetValueFloatDefault(int mat_id, int param_idx)
864 {
865 //TODO - running check and cleanup rework (elsewhere!)
866 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
867 return;
868
869 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
870 data.m_FloatFormerTarget = data.m_FloatTarget;
871 data.m_FloatLast = data.m_FloatCurrent;
872 data.m_FloatStart = data.m_FloatCurrent;
873 if (!data.IsSettingDefaultValues())
874 {
875 data.SetSettingDefaultValues(true);
876
878 }
879 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloatDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
880 }
881
882 protected void SetTargetValueColor(int mat_id, int param_idx, array<float> val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
883 {
885 return;
886
887 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
888 data.SetPriorityLayer(priority_layer);
889 data.SetInteractionMask(operator);
890 data.m_ColorFormerTarget = data.m_ColorTarget;
891
892 data.m_ColorTarget.Copy(val);
893
894 data.m_ColorLast = data.m_ColorCurrent;
895 data.m_ColorStart = data.m_ColorCurrent;
896 //if (data.m_ColorTarget != data.m_ColorCurrent)
897 {
898 data.SetSettingDefaultValues(false);
899 data.SetDataActive(true);
900
902 }
903 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColor | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
904 }
905
906 protected void SetTargetValueColorDefault(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 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
913 data.m_ColorFormerTarget = data.m_ColorTarget;
914 data.m_ColorLast = data.m_ColorCurrent;
915 data.m_ColorStart = data.m_ColorCurrent;
916 if (!data.IsSettingDefaultValues())
917 {
918 data.SetSettingDefaultValues(true);
919
921 }
922 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColorDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
923 }
924
925 /*protected void SetTargetValueVector(int mat_id, int param_idx, bool relative, vector val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
926 {
927 }
928
929 void SetTargetValueTexture(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
930 {
931 }*/
932
933 /*void SetTargetValueResource(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
934 {
935 }*/
936
938 protected void QueueValuesSend()
939 {
940 m_ValuesSent = false;
941 //m_IsRunning = true;
943 }
944
946 PPERequestParamDataBase GetRequestData(int mat_id, int param_idx, int type)
947 {
949 if ( m_RequestDataStructure.Get(mat_id) )
950 {
951 if (m_RequestDataStructure.Get(mat_id).Get(param_idx))
952 {
953 data = m_RequestDataStructure.Get(mat_id).Get(param_idx);
954 }
955 else
956 {
957 data = PrepareData(mat_id,param_idx,type);
958 m_RequestDataStructure.Get(mat_id).Set(param_idx,data);
959 }
960 }
961 else
962 {
963 data = PrepareData(mat_id,param_idx,type);
965 temp_map.Set(param_idx,data);
966 m_RequestDataStructure.Set(mat_id, temp_map);
967 }
968
969 if (!data)
970 {
971 Error("GetRequestData | no data found in the structure");
972 }
973
974 data.m_Requester = this;
975
976 return data;
977 }
978
979 protected PPERequestParamDataBase PrepareData(int mat_id, int param_idx, int type)
980 {
982 switch (type)
983 {
984 case PPEConstants.VAR_TYPE_BOOL:
985 data = new PPERequestParamDataBool(m_IDX, mat_id, param_idx);
986 break;
987
988 case PPEConstants.VAR_TYPE_INT:
989 data = new PPERequestParamDataInt(m_IDX, mat_id, param_idx);
990 break;
991
992 case PPEConstants.VAR_TYPE_FLOAT:
993 data = new PPERequestParamDataFloat(m_IDX, mat_id, param_idx);
994 break;
995
996 case PPEConstants.VAR_TYPE_COLOR:
997 data = new PPERequestParamDataColor(m_IDX, mat_id, param_idx);
998 break;
999 }
1000 return data;
1001 }
1002
1003 // unused?
1005 {
1007 }
1008
1009 protected void ClearRequesterData()
1010 {
1011 m_RequestDataStructure.Clear();
1012 }
1013
1015 {
1016 PPEManagerStatic.GetPPEManager().SendMaterialValueData(data);
1017 }
1018
1019 //EVENTS//
1020 //vvvvvv//
1021 void OnUpdate(float delta)
1022 {
1023 //DbgPrnt("PPEDebug | PPERequesterBase | OnUpdate");
1024
1025 if ( !m_ValuesSent )
1026 {
1027 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
1028 {
1029 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
1030 {
1031 SendCurrentValueData(m_RequestDataStructure.GetElement(i).GetElement(j)); //map<int,ref map<int,PPERequestParamDataBase>> //<material<param,data>>
1032 }
1033 }
1034 m_ValuesSent = true;
1035 }
1036 SetRequesterUpdating(false);
1037 }
1038
1039 protected void OnStart(Param par = null)
1040 {
1042 }
1043
1045 protected void OnStop(Param par = null)
1046 {
1047 //DbgPrnt("PPEDebug | " + this + " | OnStop");
1050 }
1051
1053 protected float RelativizeValue(float value, int var_type, int mat_id, int param_id, bool relative)
1054 {
1055 float ret = value;
1056 if (!relative) //if not already relative...
1057 {
1058 switch (var_type)
1059 {
1060 case PPEConstants.VAR_TYPE_FLOAT:
1061 PPETemplateDefFloat p_float = PPETemplateDefFloat.Cast(PPEManagerStatic.GetPPEManager().GetPostProcessDefaultValues(mat_id,param_id));
1062 ret = Math.InverseLerp(p_float.param3, p_float.param4, ret);
1063 ret = Math.Clamp(ret,0.0,1.0);
1064 break;
1065 }
1066 }
1067 //Print("RelativizeValue: " + ret);
1068
1069 return ret;
1070 }
1071
1073 protected void SetDefaultValuesAll()
1074 {
1075 //<material<param_id,data>>
1076 PPERequestParamDataBase req_data;
1077
1078 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
1079 {
1080 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
1081 {
1082 req_data = m_RequestDataStructure.GetElement(i).GetElement(j);
1083
1084 if (!req_data.IsDataActive())
1085 continue;
1086
1087 switch (req_data.GetVarType())
1088 {
1089 case PPEConstants.VAR_TYPE_BOOL:
1091 break;
1092
1093 case PPEConstants.VAR_TYPE_INT:
1095 break;
1096
1097 case PPEConstants.VAR_TYPE_FLOAT:
1099 break;
1100
1101 case PPEConstants.VAR_TYPE_COLOR:
1103 break;
1104 }
1105 }
1106 }
1107 }
1108
1109 void DbgPrnt(string text)
1110 {
1111 //Debug.Log(""+text);
1112 }
1113}
1114
1116// Base requester platforms //
1118
1120{
1121 override int GetCategoryMask()
1122 {
1123 return PPERequesterCategory.GAMEPLAY_EFFECTS;
1124 }
1125}
1126
1128{
1129 override int GetCategoryMask()
1130 {
1131 return PPERequesterCategory.MENU_EFFECTS;
1132 }
1133}
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