Sets this requester to update in the manager.
688{
692
693 protected bool m_Valid =
false;
694
696
698 {
699 m_Valid = PPERequesterBank.VerifyRequester(
this);
700
701 m_IDX = requester_IDX;
705 }
706
709 {
711 {
712 Debug.
Log(
"" +
this +
" not valid!");
713 return;
714 }
715
717
718
719 if (state)
721 }
722
724 {
727 }
728
730 {
732 return;
733
736 }
737
739 {
741 }
742
745 {
747 }
748
751 {
753 }
754
757 {
759 }
760
761
762
764 {
766 return;
767
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
783 }
784
786 {
787
789 return;
790
792 data.m_BoolLast = data.m_BoolCurrent;
793 if (!data.IsSettingDefaultValues())
794 {
795 data.SetSettingDefaultValues(true);
796
798 }
799
800 }
801
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
821 }
822
824 {
825
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
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
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
861 }
862
864 {
865
867 return;
868
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
880 }
881
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
897 {
898 data.SetSettingDefaultValues(false);
899 data.SetDataActive(true);
900
902 }
903
904 }
905
907 {
908
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
923 }
924
925
926
927
928
929
930
931
932
933
934
935
936
939 {
941
943 }
944
947 {
950 {
952 {
954 }
955 else
956 {
959 }
960 }
961 else
962 {
965 temp_map.Set(param_idx,data);
967 }
968
969 if (!data)
970 {
971 Error(
"GetRequestData | no data found in the structure");
972 }
973
975
976 return data;
977 }
978
980 {
982 switch (type)
983 {
984 case PPEConstants.VAR_TYPE_BOOL:
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:
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
1005 {
1007 }
1008
1010 {
1012 }
1013
1015 {
1017 }
1018
1019
1020
1022 {
1023
1024
1026 {
1028 {
1030 {
1032 }
1033 }
1035 }
1037 }
1038
1040 {
1042 }
1043
1046 {
1047
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)
1057 {
1058 switch (var_type)
1059 {
1060 case PPEConstants.VAR_TYPE_FLOAT:
1064 break;
1065 }
1066 }
1067
1068
1069 return ret;
1070 }
1071
1074 {
1075
1077
1079 {
1081 {
1083
1085 continue;
1086
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
1110 {
1111
1112 }
1113}
1114
1116
1118
1120{
1122 {
1124 }
1125}
1126
1128{
1130 {
1132 }
1133}
void Start()
Plays all elements this effects consists of.
PPOperators
PP operators, specify operation between subsequent layers.
Param4< string, float, float, float > PPETemplateDefFloat
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)
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)
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.
static PPEManager GetPPEManager()
Returns the manager instance singleton.
Static component of PPE manager, used to hold the instance.
PPERequesterBase m_Requester
Data for one material parameter, requester side.
base, not to be used directly, would lead to layering collisions!
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
void Error(string err)
Messagebox with error message.
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 Stop()
Stops all elements this effect consists of.