returns request data for specific parameter, or creates one if one does not exist in this request yet (singletons)
696{
700
701 protected bool m_Valid =
false;
702
704
706 {
707 m_Valid = PPERequesterBank.VerifyRequester(
this);
708
709 m_IDX = requester_IDX;
713 }
714
717 {
719 {
720 Debug.
Log(
"" +
this +
" not valid!");
721 return;
722 }
723
725
726
727 if (state)
729 }
730
732 {
735 }
736
738 {
740 return;
741
744 }
745
747 {
749 }
750
753 {
755 }
756
759 {
761 }
762
765 {
767 }
768
769
770
772 {
774 return;
775
777 data.SetPriorityLayer(priority_layer);
778 data.SetInteractionMask(operator);
779
780 data.m_BoolTarget = val;
781 data.m_BoolLast = data.m_BoolCurrent;
782
783 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
784 {
785 data.SetSettingDefaultValues(false);
786 data.SetDataActive(true);
787
789 }
790
791 }
792
794 {
795
797 return;
798
800 data.m_BoolLast = data.m_BoolCurrent;
801 if (!data.IsSettingDefaultValues())
802 {
803 data.SetSettingDefaultValues(true);
804
806 }
807
808 }
809
811 {
813 return;
814
815 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
816 data.SetPriorityLayer(priority_layer);
817 data.SetInteractionMask(operator);
818
819 data.m_IntTarget = val;
820 data.m_IntLast = data.m_IntCurrent;
821 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
822 {
823 data.SetSettingDefaultValues(false);
824 data.SetDataActive(true);
825
827 }
828
829 }
830
832 {
833
835 return;
836
837 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
838 data.m_IntLast = data.m_IntCurrent;
839 if (!data.IsSettingDefaultValues())
840 {
841 data.SetSettingDefaultValues(true);
842
844 }
845
846 }
847
848 protected void SetTargetValueFloat(
int mat_id,
int param_idx,
bool relative,
float val,
int priority_layer,
int operator =
PPOperators.ADD_RELATIVE)
849 {
851 return;
852
854 data.SetPriorityLayer(priority_layer);
855 data.SetInteractionMask(operator);
856
857 data.m_FloatFormerTarget = data.m_FloatTarget;
858 data.m_FloatTarget =
RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
859 data.m_FloatLast = data.m_FloatCurrent;
860 data.m_FloatStart = data.m_FloatCurrent;
861 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
862 {
863 data.SetSettingDefaultValues(false);
864 data.SetDataActive(true);
865
867 }
868
869 }
870
872 {
873
875 return;
876
878 data.m_FloatFormerTarget = data.m_FloatTarget;
879 data.m_FloatLast = data.m_FloatCurrent;
880 data.m_FloatStart = data.m_FloatCurrent;
881 if (!data.IsSettingDefaultValues())
882 {
883 data.SetSettingDefaultValues(true);
884
886 }
887
888 }
889
891 {
893 return;
894
895 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
896 data.SetPriorityLayer(priority_layer);
897 data.SetInteractionMask(operator);
898 data.m_ColorFormerTarget = data.m_ColorTarget;
899
900 data.m_ColorTarget.Copy(val);
901
902 data.m_ColorLast = data.m_ColorCurrent;
903 data.m_ColorStart = data.m_ColorCurrent;
904
905 {
906 data.SetSettingDefaultValues(false);
907 data.SetDataActive(true);
908
910 }
911
912 }
913
915 {
916
918 return;
919
920 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
921 data.m_ColorFormerTarget = data.m_ColorTarget;
922 data.m_ColorLast = data.m_ColorCurrent;
923 data.m_ColorStart = data.m_ColorCurrent;
924 if (!data.IsSettingDefaultValues())
925 {
926 data.SetSettingDefaultValues(true);
927
929 }
930
931 }
932
933
934
935
936
937
938
939
940
941
942
943
944
947 {
949
951 }
952
955 {
958 {
960 {
962 }
963 else
964 {
967 }
968 }
969 else
970 {
973 temp_map.Set(param_idx,data);
975 }
976
977 if (!data)
978 {
979 Error(
"GetRequestData | no data found in the structure");
980 }
981
983
984 return data;
985 }
986
988 {
990 switch (type)
991 {
992 case PPEConstants.VAR_TYPE_BOOL:
994 break;
995
996 case PPEConstants.VAR_TYPE_INT:
997 data =
new PPERequestParamDataInt(
m_IDX, mat_id, param_idx);
998 break;
999
1000 case PPEConstants.VAR_TYPE_FLOAT:
1002 break;
1003
1004 case PPEConstants.VAR_TYPE_COLOR:
1005 data =
new PPERequestParamDataColor(
m_IDX, mat_id, param_idx);
1006 break;
1007 }
1008 return data;
1009 }
1010
1011
1013 {
1015 }
1016
1018 {
1020 }
1021
1023 {
1025 }
1026
1027
1028
1030 {
1031
1032
1034 {
1036 {
1038 {
1040 }
1041 }
1043 }
1045 }
1046
1048 {
1050 }
1051
1054 {
1055
1058 }
1059
1061 protected float RelativizeValue(
float value,
int var_type,
int mat_id,
int param_id,
bool relative)
1062 {
1063 float ret = value;
1064 if (!relative)
1065 {
1066 switch (var_type)
1067 {
1068 case PPEConstants.VAR_TYPE_FLOAT:
1072 break;
1073 }
1074 }
1075
1076
1077 return ret;
1078 }
1079
1082 {
1083
1085
1087 {
1089 {
1091
1093 continue;
1094
1096 {
1097 case PPEConstants.VAR_TYPE_BOOL:
1099 break;
1100
1101 case PPEConstants.VAR_TYPE_INT:
1103 break;
1104
1105 case PPEConstants.VAR_TYPE_FLOAT:
1107 break;
1108
1109 case PPEConstants.VAR_TYPE_COLOR:
1111 break;
1112 }
1113 }
1114 }
1115 }
1116
1118 {
1119
1120 }
1121}
1122
1124
1126
1128{
1130 {
1132 }
1133}
1134
1136{
1138 {
1140 }
1141}
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.