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

◆ SetTargetValueColor()

void GetCategoryMask::SetTargetValueColor ( int mat_id,
int param_idx,
array< float > val,
int priority_layer,
int operator = PPOperators.ADD_RELATIVE )
protected

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

632{
633 protected bool m_IsRunning; //helps determine if the requester has been stopped or not
634 protected bool m_ValuesSent;
635 protected int m_IDX;
636
637 protected bool m_Valid = false;
638
639 protected ref map<int,ref map<int,ref PPERequestParamDataBase>> m_RequestDataStructure; // <material<param_id,data>> // parameter data objects are singletons
640
641 void PPERequesterBase(int requester_IDX)
642 {
643 m_Valid = PPERequesterBank.VerifyRequester(this);
644
645 m_IDX = requester_IDX;
646 m_ValuesSent = true;
647 m_IsRunning = false;
649 }
650
652 void SetRequesterUpdating(bool state)
653 {
654 if (!m_Valid)
655 {
656 Debug.Log("" + this + " not valid!");
657 return;
658 }
659
660 PPEManagerStatic.GetPPEManager().SetRequestUpdating(this,state);
661
662 //TODO - separate into its own function?
663 if (state)
664 PPEManagerStatic.GetPPEManager().SetRequestActive(this,true);
665 }
666
667 void Start(Param par = null)
668 {
669 OnStart(par);
670 m_IsRunning = true;
671 }
672
673 void Stop(Param par = null)
674 {
676 return;
677
678 OnStop(par);
679 m_IsRunning = false;
680 }
681
682 bool IsRequesterRunning()
683 {
684 return m_IsRunning;
685 }
686
688 void SetRequesterIDX(int idx)
689 {
690 m_IDX = idx;
691 }
692
694 int GetRequesterIDX()
695 {
696 return m_IDX;
697 }
698
700 int GetCategoryMask()
701 {
702 return PPERequesterCategory.NONE;
703 }
704
705 //SETTERS//
706 //vvvvvvv//
707 protected void SetTargetValueBool(int mat_id, int param_idx, bool val, int priority_layer, int operator = PPOperators.SET)
708 {
710 return;
711
712 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
713 data.SetPriorityLayer(priority_layer);
714 data.SetInteractionMask(operator);
715
716 data.m_BoolTarget = val;
717 data.m_BoolLast = data.m_BoolCurrent;
718
719 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
720 {
721 data.SetSettingDefaultValues(false);
722 data.SetDataActive(true);
723
725 }
726 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBool | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
727 }
728
729 protected void SetTargetValueBoolDefault(int mat_id, int param_idx)
730 {
731 //TODO - running check and cleanup rework (elsewhere!)
732 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
733 return;
734
735 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
736 data.m_BoolLast = data.m_BoolCurrent;
737 if (!data.IsSettingDefaultValues())
738 {
739 data.SetSettingDefaultValues(true);
740
742 }
743 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBoolDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
744 }
745
746 protected void SetTargetValueInt(int mat_id, int param_idx, bool relative, int val, int priority_layer, int operator = PPOperators.SET)
747 {
749 return;
750
751 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
752 data.SetPriorityLayer(priority_layer);
753 data.SetInteractionMask(operator);
754
755 data.m_IntTarget = val;
756 data.m_IntLast = data.m_IntCurrent;
757 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
758 {
759 data.SetSettingDefaultValues(false);
760 data.SetDataActive(true);
761
763 }
764 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueInt | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
765 }
766
767 protected void SetTargetValueIntDefault(int mat_id, int param_idx)
768 {
769 //TODO - running check and cleanup rework (elsewhere!)
770 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
771 return;
772
773 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
774 data.m_IntLast = data.m_IntCurrent;
775 if (!data.IsSettingDefaultValues())
776 {
777 data.SetSettingDefaultValues(true);
778
780 }
781 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueIntDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
782 }
783
784 protected void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
785 {
787 return;
788
789 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
790 data.SetPriorityLayer(priority_layer);
791 data.SetInteractionMask(operator);
792
793 data.m_FloatFormerTarget = data.m_FloatTarget;
794 data.m_FloatTarget = RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
795 data.m_FloatLast = data.m_FloatCurrent;
796 data.m_FloatStart = data.m_FloatCurrent;
797 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
798 {
799 data.SetSettingDefaultValues(false);
800 data.SetDataActive(true);
801
803 }
804 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloat | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
805 }
806
807 protected void SetTargetValueFloatDefault(int mat_id, int param_idx)
808 {
809 //TODO - running check and cleanup rework (elsewhere!)
810 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
811 return;
812
813 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
814 data.m_FloatFormerTarget = data.m_FloatTarget;
815 data.m_FloatLast = data.m_FloatCurrent;
816 data.m_FloatStart = data.m_FloatCurrent;
817 if (!data.IsSettingDefaultValues())
818 {
819 data.SetSettingDefaultValues(true);
820
822 }
823 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloatDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
824 }
825
826 protected void SetTargetValueColor(int mat_id, int param_idx, array<float> val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
827 {
829 return;
830
831 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
832 data.SetPriorityLayer(priority_layer);
833 data.SetInteractionMask(operator);
834 data.m_ColorFormerTarget = data.m_ColorTarget;
835
836 data.m_ColorTarget.Copy(val);
837
838 data.m_ColorLast = data.m_ColorCurrent;
839 data.m_ColorStart = data.m_ColorCurrent;
840 //if (data.m_ColorTarget != data.m_ColorCurrent)
841 {
842 data.SetSettingDefaultValues(false);
843 data.SetDataActive(true);
844
846 }
847 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColor | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
848 }
849
850 protected void SetTargetValueColorDefault(int mat_id, int param_idx)
851 {
852 //TODO - running check and cleanup rework (elsewhere!)
853 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
854 return;
855
856 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
857 data.m_ColorFormerTarget = data.m_ColorTarget;
858 data.m_ColorLast = data.m_ColorCurrent;
859 data.m_ColorStart = data.m_ColorCurrent;
860 if (!data.IsSettingDefaultValues())
861 {
862 data.SetSettingDefaultValues(true);
863
865 }
866 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColorDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
867 }
868
869 /*protected void SetTargetValueVector(int mat_id, int param_idx, bool relative, vector val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
870 {
871 }
872
873 void SetTargetValueTexture(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
874 {
875 }*/
876
877 /*void SetTargetValueResource(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
878 {
879 }*/
880
882 protected void QueueValuesSend()
883 {
884 m_ValuesSent = false;
885 //m_IsRunning = true;
887 }
888
890 PPERequestParamDataBase GetRequestData(int mat_id, int param_idx, int type)
891 {
893 if ( m_RequestDataStructure.Get(mat_id) )
894 {
895 if (m_RequestDataStructure.Get(mat_id).Get(param_idx))
896 {
897 data = m_RequestDataStructure.Get(mat_id).Get(param_idx);
898 }
899 else
900 {
901 data = PrepareData(mat_id,param_idx,type);
902 m_RequestDataStructure.Get(mat_id).Set(param_idx,data);
903 }
904 }
905 else
906 {
907 data = PrepareData(mat_id,param_idx,type);
909 temp_map.Set(param_idx,data);
910 m_RequestDataStructure.Set(mat_id, temp_map);
911 }
912
913 if (!data)
914 {
915 Error("GetRequestData | no data found in the structure");
916 }
917
918 data.m_Requester = this;
919
920 return data;
921 }
922
923 protected PPERequestParamDataBase PrepareData(int mat_id, int param_idx, int type)
924 {
926 switch (type)
927 {
928 case PPEConstants.VAR_TYPE_BOOL:
929 data = new PPERequestParamDataBool(m_IDX, mat_id, param_idx);
930 break;
931
932 case PPEConstants.VAR_TYPE_INT:
933 data = new PPERequestParamDataInt(m_IDX, mat_id, param_idx);
934 break;
935
936 case PPEConstants.VAR_TYPE_FLOAT:
937 data = new PPERequestParamDataFloat(m_IDX, mat_id, param_idx);
938 break;
939
940 case PPEConstants.VAR_TYPE_COLOR:
941 data = new PPERequestParamDataColor(m_IDX, mat_id, param_idx);
942 break;
943 }
944 return data;
945 }
946
947 // unused?
949 {
951 }
952
953 protected void ClearRequesterData()
954 {
956 }
957
959 {
960 PPEManagerStatic.GetPPEManager().SendMaterialValueData(data);
961 }
962
963 //EVENTS//
964 //vvvvvv//
965 void OnUpdate(float delta)
966 {
967 //DbgPrnt("PPEDebug | PPERequesterBase | OnUpdate");
968
969 if ( !m_ValuesSent )
970 {
971 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
972 {
973 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
974 {
975 SendCurrentValueData(m_RequestDataStructure.GetElement(i).GetElement(j)); //map<int,ref map<int,PPERequestParamDataBase>> //<material<param,data>>
976 }
977 }
978 m_ValuesSent = true;
979 }
981 }
982
983 protected void OnStart(Param par = null)
984 {
986 }
987
989 protected void OnStop(Param par = null)
990 {
991 //DbgPrnt("PPEDebug | " + this + " | OnStop");
994 }
995
997 protected float RelativizeValue(float value, int var_type, int mat_id, int param_id, bool relative)
998 {
999 float ret = value;
1000 if (!relative) //if not already relative...
1001 {
1002 switch (var_type)
1003 {
1004 case PPEConstants.VAR_TYPE_FLOAT:
1005 PPETemplateDefFloat p_float = PPETemplateDefFloat.Cast(PPEManagerStatic.GetPPEManager().GetPostProcessDefaultValues(mat_id,param_id));
1006 ret = Math.InverseLerp(p_float.param3, p_float.param4, ret);
1007 ret = Math.Clamp(ret,0.0,1.0);
1008 break;
1009 }
1010 }
1011 //Print("RelativizeValue: " + ret);
1012
1013 return ret;
1014 }
1015
1017 protected void SetDefaultValuesAll()
1018 {
1019 //<material<param_id,data>>
1020 PPERequestParamDataBase req_data;
1021
1022 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
1023 {
1024 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
1025 {
1026 req_data = m_RequestDataStructure.GetElement(i).GetElement(j);
1027
1028 if (!req_data.IsDataActive())
1029 continue;
1030
1031 switch (req_data.GetVarType())
1032 {
1033 case PPEConstants.VAR_TYPE_BOOL:
1035 break;
1036
1037 case PPEConstants.VAR_TYPE_INT:
1039 break;
1040
1041 case PPEConstants.VAR_TYPE_FLOAT:
1043 break;
1044
1045 case PPEConstants.VAR_TYPE_COLOR:
1047 break;
1048 }
1049 }
1050 }
1051 }
1052
1053 void DbgPrnt(string text)
1054 {
1055 //Debug.Log(""+text);
1056 }
1057}
1058
1060// Base requester platforms //
1062
1064{
1065 override int GetCategoryMask()
1066 {
1067 return PPERequesterCategory.GAMEPLAY_EFFECTS;
1068 }
1069}
1070
1072{
1073 override int GetCategoryMask()
1074 {
1075 return PPERequesterCategory.MENU_EFFECTS;
1076 }
1077}
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

Используется в PPERequester_GameplayBase::OnStart(), PPERequester_GameplayBase::OnUpdate(), PPERequester_GameplayBase::ProcessSimulation(), PPERequester_GameplayBase::SetEffectProgress(), PPERequester_GameplayBase::SetFlashbangIntensity(), PPERequester_GameplayBase::SetHitIntensity(), PPERequester_GameplayBase::SetNVMode() и PPERequester_MenuBase::SetVignetteIntensity().