Returns requester index.
500{
504
505 protected bool m_Valid =
false;
506
508
510 {
511 m_Valid = PPERequesterBank.VerifyRequester(
this);
512
513 m_IDX = requester_IDX;
517 }
518
521 {
523 {
524 Debug.
Log(
"" +
this +
" not valid!");
525 return;
526 }
527
529
530
531 if (state)
533 }
534
536 {
539 }
540
542 {
544 return;
545
548 }
549
551 {
553 }
554
557 {
559 }
560
563 {
565 }
566
569 {
571 }
572
573
574
576 {
578 return;
579
581 data.SetPriorityLayer(priority_layer);
582 data.SetInteractionMask(operator);
583
584 data.m_BoolTarget = val;
585 data.m_BoolLast = data.m_BoolCurrent;
586
587 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
588 {
589 data.SetSettingDefaultValues(false);
590 data.SetDataActive(true);
591
593 }
594
595 }
596
598 {
599
601 return;
602
604 data.m_BoolLast = data.m_BoolCurrent;
605 if (!data.IsSettingDefaultValues())
606 {
607 data.SetSettingDefaultValues(true);
608
610 }
611
612 }
613
615 {
617 return;
618
619 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
620 data.SetPriorityLayer(priority_layer);
621 data.SetInteractionMask(operator);
622
623 data.m_IntTarget = val;
624 data.m_IntLast = data.m_IntCurrent;
625 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
626 {
627 data.SetSettingDefaultValues(false);
628 data.SetDataActive(true);
629
631 }
632
633 }
634
636 {
637
639 return;
640
641 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
642 data.m_IntLast = data.m_IntCurrent;
643 if (!data.IsSettingDefaultValues())
644 {
645 data.SetSettingDefaultValues(true);
646
648 }
649
650 }
651
652 protected void SetTargetValueFloat(
int mat_id,
int param_idx,
bool relative,
float val,
int priority_layer,
int operator =
PPOperators.ADD_RELATIVE)
653 {
655 return;
656
658 data.SetPriorityLayer(priority_layer);
659 data.SetInteractionMask(operator);
660
661 data.m_FloatFormerTarget = data.m_FloatTarget;
662 data.m_FloatTarget =
RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
663 data.m_FloatLast = data.m_FloatCurrent;
664 data.m_FloatStart = data.m_FloatCurrent;
665 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
666 {
667 data.SetSettingDefaultValues(false);
668 data.SetDataActive(true);
669
671 }
672
673 }
674
676 {
677
679 return;
680
682 data.m_FloatFormerTarget = data.m_FloatTarget;
683 data.m_FloatLast = data.m_FloatCurrent;
684 data.m_FloatStart = data.m_FloatCurrent;
685 if (!data.IsSettingDefaultValues())
686 {
687 data.SetSettingDefaultValues(true);
688
690 }
691
692 }
693
695 {
697 return;
698
699 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
700 data.SetPriorityLayer(priority_layer);
701 data.SetInteractionMask(operator);
702 data.m_ColorFormerTarget = data.m_ColorTarget;
703
704 data.m_ColorTarget.Copy(val);
705
706 data.m_ColorLast = data.m_ColorCurrent;
707 data.m_ColorStart = data.m_ColorCurrent;
708
709 {
710 data.SetSettingDefaultValues(false);
711 data.SetDataActive(true);
712
714 }
715
716 }
717
719 {
720
722 return;
723
724 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
725 data.m_ColorFormerTarget = data.m_ColorTarget;
726 data.m_ColorLast = data.m_ColorCurrent;
727 data.m_ColorStart = data.m_ColorCurrent;
728 if (!data.IsSettingDefaultValues())
729 {
730 data.SetSettingDefaultValues(true);
731
733 }
734
735 }
736
737
738
739
740
741
742
743
744
745
746
747
748
751 {
753
755 }
756
759 {
762 {
764 {
766 }
767 else
768 {
771 }
772 }
773 else
774 {
777 temp_map.Set(param_idx,data);
779 }
780
781 if (!data)
782 {
783 Error(
"GetRequestData | no data found in the structure");
784 }
785
787
788 return data;
789 }
790
792 {
794 switch (type)
795 {
796 case PPEConstants.VAR_TYPE_BOOL:
798 break;
799
800 case PPEConstants.VAR_TYPE_INT:
801 data =
new PPERequestParamDataInt(
m_IDX, mat_id, param_idx);
802 break;
803
804 case PPEConstants.VAR_TYPE_FLOAT:
806 break;
807
808 case PPEConstants.VAR_TYPE_COLOR:
809 data =
new PPERequestParamDataColor(
m_IDX, mat_id, param_idx);
810 break;
811 }
812 return data;
813 }
814
815
817 {
819 }
820
822 {
824 }
825
827 {
829 }
830
831
832
834 {
835
836
838 {
840 {
842 {
844 }
845 }
847 }
849 }
850
852 {
854 }
855
858 {
859
862 }
863
865 protected float RelativizeValue(
float value,
int var_type,
int mat_id,
int param_id,
bool relative)
866 {
867 float ret = value;
868 if (!relative)
869 {
870 switch (var_type)
871 {
872 case PPEConstants.VAR_TYPE_FLOAT:
876 break;
877 }
878 }
879
880
881 return ret;
882 }
883
886 {
887
889
891 {
893 {
895
897 continue;
898
900 {
901 case PPEConstants.VAR_TYPE_BOOL:
903 break;
904
905 case PPEConstants.VAR_TYPE_INT:
907 break;
908
909 case PPEConstants.VAR_TYPE_FLOAT:
911 break;
912
913 case PPEConstants.VAR_TYPE_COLOR:
915 break;
916 }
917 }
918 }
919 }
920
922 {
923
924 }
925}
926
928
930
932{
934 {
936 }
937}
938
940{
942 {
944 }
945}
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.