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

◆ SetTargetValueFloat()

void GetCategoryMask::SetTargetValueFloat ( int mat_id,
int param_idx,
bool relative,
float val,
int priority_layer,
int operator = PPOperators.ADD_RELATIVE )
protected

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

590{
591 protected bool m_IsRunning; //helps determine if the requester has been stopped or not
592 protected bool m_ValuesSent;
593 protected int m_IDX;
594
595 protected bool m_Valid = false;
596
597 protected ref map<int,ref map<int,ref PPERequestParamDataBase>> m_RequestDataStructure; // <material<param_id,data>> // parameter data objects are singletons
598
599 void PPERequesterBase(int requester_IDX)
600 {
601 m_Valid = PPERequesterBank.VerifyRequester(this);
602
603 m_IDX = requester_IDX;
604 m_ValuesSent = true;
605 m_IsRunning = false;
607 }
608
610 void SetRequesterUpdating(bool state)
611 {
612 if (!m_Valid)
613 {
614 Debug.Log("" + this + " not valid!");
615 return;
616 }
617
618 PPEManagerStatic.GetPPEManager().SetRequestUpdating(this,state);
619
620 //TODO - separate into its own function?
621 if (state)
622 PPEManagerStatic.GetPPEManager().SetRequestActive(this,true);
623 }
624
625 void Start(Param par = null)
626 {
627 OnStart(par);
628 m_IsRunning = true;
629 }
630
631 void Stop(Param par = null)
632 {
634 return;
635
636 OnStop(par);
637 m_IsRunning = false;
638 }
639
640 bool IsRequesterRunning()
641 {
642 return m_IsRunning;
643 }
644
646 void SetRequesterIDX(int idx)
647 {
648 m_IDX = idx;
649 }
650
652 int GetRequesterIDX()
653 {
654 return m_IDX;
655 }
656
658 int GetCategoryMask()
659 {
660 return PPERequesterCategory.NONE;
661 }
662
663 //SETTERS//
664 //vvvvvvv//
665 protected void SetTargetValueBool(int mat_id, int param_idx, bool val, int priority_layer, int operator = PPOperators.SET)
666 {
668 return;
669
670 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
671 data.SetPriorityLayer(priority_layer);
672 data.SetInteractionMask(operator);
673
674 data.m_BoolTarget = val;
675 data.m_BoolLast = data.m_BoolCurrent;
676
677 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
678 {
679 data.SetSettingDefaultValues(false);
680 data.SetDataActive(true);
681
683 }
684 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBool | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
685 }
686
687 protected void SetTargetValueBoolDefault(int mat_id, int param_idx)
688 {
689 //TODO - running check and cleanup rework (elsewhere!)
690 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
691 return;
692
693 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
694 data.m_BoolLast = data.m_BoolCurrent;
695 if (!data.IsSettingDefaultValues())
696 {
697 data.SetSettingDefaultValues(true);
698
700 }
701 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBoolDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
702 }
703
704 protected void SetTargetValueInt(int mat_id, int param_idx, bool relative, int val, int priority_layer, int operator = PPOperators.SET)
705 {
707 return;
708
709 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
710 data.SetPriorityLayer(priority_layer);
711 data.SetInteractionMask(operator);
712
713 data.m_IntTarget = val;
714 data.m_IntLast = data.m_IntCurrent;
715 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
716 {
717 data.SetSettingDefaultValues(false);
718 data.SetDataActive(true);
719
721 }
722 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueInt | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
723 }
724
725 protected void SetTargetValueIntDefault(int mat_id, int param_idx)
726 {
727 //TODO - running check and cleanup rework (elsewhere!)
728 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
729 return;
730
731 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
732 data.m_IntLast = data.m_IntCurrent;
733 if (!data.IsSettingDefaultValues())
734 {
735 data.SetSettingDefaultValues(true);
736
738 }
739 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueIntDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
740 }
741
742 protected void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
743 {
745 return;
746
747 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
748 data.SetPriorityLayer(priority_layer);
749 data.SetInteractionMask(operator);
750
751 data.m_FloatFormerTarget = data.m_FloatTarget;
752 data.m_FloatTarget = RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
753 data.m_FloatLast = data.m_FloatCurrent;
754 data.m_FloatStart = data.m_FloatCurrent;
755 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
756 {
757 data.SetSettingDefaultValues(false);
758 data.SetDataActive(true);
759
761 }
762 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloat | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
763 }
764
765 protected void SetTargetValueFloatDefault(int mat_id, int param_idx)
766 {
767 //TODO - running check and cleanup rework (elsewhere!)
768 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
769 return;
770
771 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
772 data.m_FloatFormerTarget = data.m_FloatTarget;
773 data.m_FloatLast = data.m_FloatCurrent;
774 data.m_FloatStart = data.m_FloatCurrent;
775 if (!data.IsSettingDefaultValues())
776 {
777 data.SetSettingDefaultValues(true);
778
780 }
781 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloatDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
782 }
783
784 protected void SetTargetValueColor(int mat_id, int param_idx, array<float> val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
785 {
787 return;
788
789 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
790 data.SetPriorityLayer(priority_layer);
791 data.SetInteractionMask(operator);
792 data.m_ColorFormerTarget = data.m_ColorTarget;
793
794 data.m_ColorTarget.Copy(val);
795
796 data.m_ColorLast = data.m_ColorCurrent;
797 data.m_ColorStart = data.m_ColorCurrent;
798 //if (data.m_ColorTarget != data.m_ColorCurrent)
799 {
800 data.SetSettingDefaultValues(false);
801 data.SetDataActive(true);
802
804 }
805 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColor | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
806 }
807
808 protected void SetTargetValueColorDefault(int mat_id, int param_idx)
809 {
810 //TODO - running check and cleanup rework (elsewhere!)
811 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
812 return;
813
814 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
815 data.m_ColorFormerTarget = data.m_ColorTarget;
816 data.m_ColorLast = data.m_ColorCurrent;
817 data.m_ColorStart = data.m_ColorCurrent;
818 if (!data.IsSettingDefaultValues())
819 {
820 data.SetSettingDefaultValues(true);
821
823 }
824 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColorDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
825 }
826
827 /*protected void SetTargetValueVector(int mat_id, int param_idx, bool relative, vector val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
828 {
829 }
830
831 void SetTargetValueTexture(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
832 {
833 }*/
834
835 /*void SetTargetValueResource(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
836 {
837 }*/
838
840 protected void QueueValuesSend()
841 {
842 m_ValuesSent = false;
843 //m_IsRunning = true;
845 }
846
848 PPERequestParamDataBase GetRequestData(int mat_id, int param_idx, int type)
849 {
851 if ( m_RequestDataStructure.Get(mat_id) )
852 {
853 if (m_RequestDataStructure.Get(mat_id).Get(param_idx))
854 {
855 data = m_RequestDataStructure.Get(mat_id).Get(param_idx);
856 }
857 else
858 {
859 data = PrepareData(mat_id,param_idx,type);
860 m_RequestDataStructure.Get(mat_id).Set(param_idx,data);
861 }
862 }
863 else
864 {
865 data = PrepareData(mat_id,param_idx,type);
867 temp_map.Set(param_idx,data);
868 m_RequestDataStructure.Set(mat_id, temp_map);
869 }
870
871 if (!data)
872 {
873 Error("GetRequestData | no data found in the structure");
874 }
875
876 data.m_Requester = this;
877
878 return data;
879 }
880
881 protected PPERequestParamDataBase PrepareData(int mat_id, int param_idx, int type)
882 {
884 switch (type)
885 {
886 case PPEConstants.VAR_TYPE_BOOL:
887 data = new PPERequestParamDataBool(m_IDX, mat_id, param_idx);
888 break;
889
890 case PPEConstants.VAR_TYPE_INT:
891 data = new PPERequestParamDataInt(m_IDX, mat_id, param_idx);
892 break;
893
894 case PPEConstants.VAR_TYPE_FLOAT:
895 data = new PPERequestParamDataFloat(m_IDX, mat_id, param_idx);
896 break;
897
898 case PPEConstants.VAR_TYPE_COLOR:
899 data = new PPERequestParamDataColor(m_IDX, mat_id, param_idx);
900 break;
901 }
902 return data;
903 }
904
905 // unused?
907 {
909 }
910
911 protected void ClearRequesterData()
912 {
914 }
915
917 {
918 PPEManagerStatic.GetPPEManager().SendMaterialValueData(data);
919 }
920
921 //EVENTS//
922 //vvvvvv//
923 void OnUpdate(float delta)
924 {
925 //DbgPrnt("PPEDebug | PPERequesterBase | OnUpdate");
926
927 if ( !m_ValuesSent )
928 {
929 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
930 {
931 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
932 {
933 SendCurrentValueData(m_RequestDataStructure.GetElement(i).GetElement(j)); //map<int,ref map<int,PPERequestParamDataBase>> //<material<param,data>>
934 }
935 }
936 m_ValuesSent = true;
937 }
939 }
940
941 protected void OnStart(Param par = null)
942 {
944 }
945
947 protected void OnStop(Param par = null)
948 {
949 //DbgPrnt("PPEDebug | " + this + " | OnStop");
952 }
953
955 protected float RelativizeValue(float value, int var_type, int mat_id, int param_id, bool relative)
956 {
957 float ret = value;
958 if (!relative) //if not already relative...
959 {
960 switch (var_type)
961 {
962 case PPEConstants.VAR_TYPE_FLOAT:
963 PPETemplateDefFloat p_float = PPETemplateDefFloat.Cast(PPEManagerStatic.GetPPEManager().GetPostProcessDefaultValues(mat_id,param_id));
964 ret = Math.InverseLerp(p_float.param3, p_float.param4, ret);
965 ret = Math.Clamp(ret,0.0,1.0);
966 break;
967 }
968 }
969 //Print("RelativizeValue: " + ret);
970
971 return ret;
972 }
973
975 protected void SetDefaultValuesAll()
976 {
977 //<material<param_id,data>>
979
980 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
981 {
982 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
983 {
984 req_data = m_RequestDataStructure.GetElement(i).GetElement(j);
985
986 if (!req_data.IsDataActive())
987 continue;
988
989 switch (req_data.GetVarType())
990 {
991 case PPEConstants.VAR_TYPE_BOOL:
993 break;
994
995 case PPEConstants.VAR_TYPE_INT:
997 break;
998
999 case PPEConstants.VAR_TYPE_FLOAT:
1001 break;
1002
1003 case PPEConstants.VAR_TYPE_COLOR:
1005 break;
1006 }
1007 }
1008 }
1009 }
1010
1011 void DbgPrnt(string text)
1012 {
1013 //Debug.Log(""+text);
1014 }
1015}
1016
1018// Base requester platforms //
1020
1022{
1023 override int GetCategoryMask()
1024 {
1025 return PPERequesterCategory.GAMEPLAY_EFFECTS;
1026 }
1027}
1028
1030{
1031 override int GetCategoryMask()
1032 {
1033 return PPERequesterCategory.MENU_EFFECTS;
1034 }
1035}
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_MenuBase::OnStart(), PPERequester_GameplayBase::OnUpdate(), PPERequester_GameplayBase::ProcessSimulation(), PPERequester_GameplayBase::SetBloodLossLevel(), PPERequester_MenuBase::SetBlurIntensity(), PPERequester_GameplayBase::SetEffectProgress(), PPERequester_GameplayBase::SetEyeAccommodation(), PPERequester_GameplayBase::SetFeverIntensity(), PPERequester_GameplayBase::SetFlashbangIntensity(), PPERequester_GameplayBase::SetHitIntensity(), PPERequester_GameplayBase::SetNVMode(), PPERequester_GameplayBase::SetRadialBlur(), PPERequester_GameplayBase::SetValuesIronsights(), PPERequester_GameplayBase::SetValuesOptics() и PPERequester_MenuBase::SetVignetteIntensity().