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

◆ SetTargetValueInt()

void GetCategoryMask::SetTargetValueInt ( int mat_id,
int param_idx,
bool relative,
int val,
int priority_layer,
int operator = PPOperators.SET )
protected

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

552{
553 protected bool m_IsRunning; //helps determine if the requester has been stopped or not
554 protected bool m_ValuesSent;
555 protected int m_IDX;
556
557 protected bool m_Valid = false;
558
559 protected ref map<int,ref map<int,ref PPERequestParamDataBase>> m_RequestDataStructure; // <material<param_id,data>> // parameter data objects are singletons
560
561 void PPERequesterBase(int requester_IDX)
562 {
563 m_Valid = PPERequesterBank.VerifyRequester(this);
564
565 m_IDX = requester_IDX;
566 m_ValuesSent = true;
567 m_IsRunning = false;
569 }
570
572 void SetRequesterUpdating(bool state)
573 {
574 if (!m_Valid)
575 {
576 Debug.Log("" + this + " not valid!");
577 return;
578 }
579
580 PPEManagerStatic.GetPPEManager().SetRequestUpdating(this,state);
581
582 //TODO - separate into its own function?
583 if (state)
584 PPEManagerStatic.GetPPEManager().SetRequestActive(this,true);
585 }
586
587 void Start(Param par = null)
588 {
589 OnStart(par);
590 m_IsRunning = true;
591 }
592
593 void Stop(Param par = null)
594 {
596 return;
597
598 OnStop(par);
599 m_IsRunning = false;
600 }
601
602 bool IsRequesterRunning()
603 {
604 return m_IsRunning;
605 }
606
608 void SetRequesterIDX(int idx)
609 {
610 m_IDX = idx;
611 }
612
614 int GetRequesterIDX()
615 {
616 return m_IDX;
617 }
618
620 int GetCategoryMask()
621 {
622 return PPERequesterCategory.NONE;
623 }
624
625 //SETTERS//
626 //vvvvvvv//
627 protected void SetTargetValueBool(int mat_id, int param_idx, bool val, int priority_layer, int operator = PPOperators.SET)
628 {
630 return;
631
632 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
633 data.SetPriorityLayer(priority_layer);
634 data.SetInteractionMask(operator);
635
636 data.m_BoolTarget = val;
637 data.m_BoolLast = data.m_BoolCurrent;
638
639 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
640 {
641 data.SetSettingDefaultValues(false);
642 data.SetDataActive(true);
643
645 }
646 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBool | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
647 }
648
649 protected void SetTargetValueBoolDefault(int mat_id, int param_idx)
650 {
651 //TODO - running check and cleanup rework (elsewhere!)
652 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
653 return;
654
655 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
656 data.m_BoolLast = data.m_BoolCurrent;
657 if (!data.IsSettingDefaultValues())
658 {
659 data.SetSettingDefaultValues(true);
660
662 }
663 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBoolDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
664 }
665
666 protected void SetTargetValueInt(int mat_id, int param_idx, bool relative, int val, int priority_layer, int operator = PPOperators.SET)
667 {
669 return;
670
671 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
672 data.SetPriorityLayer(priority_layer);
673 data.SetInteractionMask(operator);
674
675 data.m_IntTarget = val;
676 data.m_IntLast = data.m_IntCurrent;
677 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
678 {
679 data.SetSettingDefaultValues(false);
680 data.SetDataActive(true);
681
683 }
684 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueInt | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
685 }
686
687 protected void SetTargetValueIntDefault(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 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
694 data.m_IntLast = data.m_IntCurrent;
695 if (!data.IsSettingDefaultValues())
696 {
697 data.SetSettingDefaultValues(true);
698
700 }
701 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueIntDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
702 }
703
704 protected void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
705 {
707 return;
708
709 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
710 data.SetPriorityLayer(priority_layer);
711 data.SetInteractionMask(operator);
712
713 data.m_FloatFormerTarget = data.m_FloatTarget;
714 data.m_FloatTarget = RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
715 data.m_FloatLast = data.m_FloatCurrent;
716 data.m_FloatStart = data.m_FloatCurrent;
717 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
718 {
719 data.SetSettingDefaultValues(false);
720 data.SetDataActive(true);
721
723 }
724 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloat | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
725 }
726
727 protected void SetTargetValueFloatDefault(int mat_id, int param_idx)
728 {
729 //TODO - running check and cleanup rework (elsewhere!)
730 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
731 return;
732
733 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
734 data.m_FloatFormerTarget = data.m_FloatTarget;
735 data.m_FloatLast = data.m_FloatCurrent;
736 data.m_FloatStart = data.m_FloatCurrent;
737 if (!data.IsSettingDefaultValues())
738 {
739 data.SetSettingDefaultValues(true);
740
742 }
743 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloatDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
744 }
745
746 protected void SetTargetValueColor(int mat_id, int param_idx, array<float> val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
747 {
749 return;
750
751 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
752 data.SetPriorityLayer(priority_layer);
753 data.SetInteractionMask(operator);
754 data.m_ColorFormerTarget = data.m_ColorTarget;
755
756 data.m_ColorTarget.Copy(val);
757
758 data.m_ColorLast = data.m_ColorCurrent;
759 data.m_ColorStart = data.m_ColorCurrent;
760 //if (data.m_ColorTarget != data.m_ColorCurrent)
761 {
762 data.SetSettingDefaultValues(false);
763 data.SetDataActive(true);
764
766 }
767 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColor | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
768 }
769
770 protected void SetTargetValueColorDefault(int mat_id, int param_idx)
771 {
772 //TODO - running check and cleanup rework (elsewhere!)
773 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
774 return;
775
776 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
777 data.m_ColorFormerTarget = data.m_ColorTarget;
778 data.m_ColorLast = data.m_ColorCurrent;
779 data.m_ColorStart = data.m_ColorCurrent;
780 if (!data.IsSettingDefaultValues())
781 {
782 data.SetSettingDefaultValues(true);
783
785 }
786 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColorDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
787 }
788
789 /*protected void SetTargetValueVector(int mat_id, int param_idx, bool relative, vector val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
790 {
791 }
792
793 void SetTargetValueTexture(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
794 {
795 }*/
796
797 /*void SetTargetValueResource(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
798 {
799 }*/
800
802 protected void QueueValuesSend()
803 {
804 m_ValuesSent = false;
805 //m_IsRunning = true;
807 }
808
810 PPERequestParamDataBase GetRequestData(int mat_id, int param_idx, int type)
811 {
813 if ( m_RequestDataStructure.Get(mat_id) )
814 {
815 if (m_RequestDataStructure.Get(mat_id).Get(param_idx))
816 {
817 data = m_RequestDataStructure.Get(mat_id).Get(param_idx);
818 }
819 else
820 {
821 data = PrepareData(mat_id,param_idx,type);
822 m_RequestDataStructure.Get(mat_id).Set(param_idx,data);
823 }
824 }
825 else
826 {
827 data = PrepareData(mat_id,param_idx,type);
829 temp_map.Set(param_idx,data);
830 m_RequestDataStructure.Set(mat_id, temp_map);
831 }
832
833 if (!data)
834 {
835 Error("GetRequestData | no data found in the structure");
836 }
837
838 data.m_Requester = this;
839
840 return data;
841 }
842
843 protected PPERequestParamDataBase PrepareData(int mat_id, int param_idx, int type)
844 {
846 switch (type)
847 {
848 case PPEConstants.VAR_TYPE_BOOL:
849 data = new PPERequestParamDataBool(m_IDX, mat_id, param_idx);
850 break;
851
852 case PPEConstants.VAR_TYPE_INT:
853 data = new PPERequestParamDataInt(m_IDX, mat_id, param_idx);
854 break;
855
856 case PPEConstants.VAR_TYPE_FLOAT:
857 data = new PPERequestParamDataFloat(m_IDX, mat_id, param_idx);
858 break;
859
860 case PPEConstants.VAR_TYPE_COLOR:
861 data = new PPERequestParamDataColor(m_IDX, mat_id, param_idx);
862 break;
863 }
864 return data;
865 }
866
867 // unused?
869 {
871 }
872
873 protected void ClearRequesterData()
874 {
876 }
877
879 {
880 PPEManagerStatic.GetPPEManager().SendMaterialValueData(data);
881 }
882
883 //EVENTS//
884 //vvvvvv//
885 void OnUpdate(float delta)
886 {
887 //DbgPrnt("PPEDebug | PPERequesterBase | OnUpdate");
888
889 if ( !m_ValuesSent )
890 {
891 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
892 {
893 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
894 {
895 SendCurrentValueData(m_RequestDataStructure.GetElement(i).GetElement(j)); //map<int,ref map<int,PPERequestParamDataBase>> //<material<param,data>>
896 }
897 }
898 m_ValuesSent = true;
899 }
901 }
902
903 protected void OnStart(Param par = null)
904 {
906 }
907
909 protected void OnStop(Param par = null)
910 {
911 //DbgPrnt("PPEDebug | " + this + " | OnStop");
914 }
915
917 protected float RelativizeValue(float value, int var_type, int mat_id, int param_id, bool relative)
918 {
919 float ret = value;
920 if (!relative) //if not already relative...
921 {
922 switch (var_type)
923 {
924 case PPEConstants.VAR_TYPE_FLOAT:
925 PPETemplateDefFloat p_float = PPETemplateDefFloat.Cast(PPEManagerStatic.GetPPEManager().GetPostProcessDefaultValues(mat_id,param_id));
926 ret = Math.InverseLerp(p_float.param3, p_float.param4, ret);
927 ret = Math.Clamp(ret,0.0,1.0);
928 break;
929 }
930 }
931 //Print("RelativizeValue: " + ret);
932
933 return ret;
934 }
935
937 protected void SetDefaultValuesAll()
938 {
939 //<material<param_id,data>>
941
942 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
943 {
944 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
945 {
946 req_data = m_RequestDataStructure.GetElement(i).GetElement(j);
947
948 if (!req_data.IsDataActive())
949 continue;
950
951 switch (req_data.GetVarType())
952 {
953 case PPEConstants.VAR_TYPE_BOOL:
955 break;
956
957 case PPEConstants.VAR_TYPE_INT:
959 break;
960
961 case PPEConstants.VAR_TYPE_FLOAT:
963 break;
964
965 case PPEConstants.VAR_TYPE_COLOR:
967 break;
968 }
969 }
970 }
971 }
972
973 void DbgPrnt(string text)
974 {
975 //Debug.Log(""+text);
976 }
977}
978
980// Base requester platforms //
982
984{
985 override int GetCategoryMask()
986 {
987 return PPERequesterCategory.GAMEPLAY_EFFECTS;
988 }
989}
990
992{
993 override int GetCategoryMask()
994 {
995 return PPERequesterCategory.MENU_EFFECTS;
996 }
997}
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