Has to be set for the requester to be handled.
458{
462
463 protected bool m_Valid =
false;
464
466
468 {
469 m_Valid = PPERequesterBank.VerifyRequester(
this);
470
471 m_IDX = requester_IDX;
475 }
476
479 {
481 {
482 Debug.
Log(
"" +
this +
" not valid!");
483 return;
484 }
485
487
488
489 if (state)
491 }
492
494 {
497 }
498
500 {
502 return;
503
506 }
507
509 {
511 }
512
515 {
517 }
518
521 {
523 }
524
527 {
529 }
530
531
532
534 {
536 return;
537
539 data.SetPriorityLayer(priority_layer);
540 data.SetInteractionMask(operator);
541
542 data.m_BoolTarget = val;
543 data.m_BoolLast = data.m_BoolCurrent;
544
545 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
546 {
547 data.SetSettingDefaultValues(false);
548 data.SetDataActive(true);
549
551 }
552
553 }
554
556 {
557
559 return;
560
562 data.m_BoolLast = data.m_BoolCurrent;
563 if (!data.IsSettingDefaultValues())
564 {
565 data.SetSettingDefaultValues(true);
566
568 }
569
570 }
571
573 {
575 return;
576
577 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
578 data.SetPriorityLayer(priority_layer);
579 data.SetInteractionMask(operator);
580
581 data.m_IntTarget = val;
582 data.m_IntLast = data.m_IntCurrent;
583 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
584 {
585 data.SetSettingDefaultValues(false);
586 data.SetDataActive(true);
587
589 }
590
591 }
592
594 {
595
597 return;
598
599 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
600 data.m_IntLast = data.m_IntCurrent;
601 if (!data.IsSettingDefaultValues())
602 {
603 data.SetSettingDefaultValues(true);
604
606 }
607
608 }
609
610 protected void SetTargetValueFloat(
int mat_id,
int param_idx,
bool relative,
float val,
int priority_layer,
int operator =
PPOperators.ADD_RELATIVE)
611 {
613 return;
614
616 data.SetPriorityLayer(priority_layer);
617 data.SetInteractionMask(operator);
618
619 data.m_FloatFormerTarget = data.m_FloatTarget;
620 data.m_FloatTarget =
RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
621 data.m_FloatLast = data.m_FloatCurrent;
622 data.m_FloatStart = data.m_FloatCurrent;
623 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
624 {
625 data.SetSettingDefaultValues(false);
626 data.SetDataActive(true);
627
629 }
630
631 }
632
634 {
635
637 return;
638
640 data.m_FloatFormerTarget = data.m_FloatTarget;
641 data.m_FloatLast = data.m_FloatCurrent;
642 data.m_FloatStart = data.m_FloatCurrent;
643 if (!data.IsSettingDefaultValues())
644 {
645 data.SetSettingDefaultValues(true);
646
648 }
649
650 }
651
653 {
655 return;
656
657 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
658 data.SetPriorityLayer(priority_layer);
659 data.SetInteractionMask(operator);
660 data.m_ColorFormerTarget = data.m_ColorTarget;
661
662 data.m_ColorTarget.Copy(val);
663
664 data.m_ColorLast = data.m_ColorCurrent;
665 data.m_ColorStart = data.m_ColorCurrent;
666
667 {
668 data.SetSettingDefaultValues(false);
669 data.SetDataActive(true);
670
672 }
673
674 }
675
677 {
678
680 return;
681
682 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(
GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
683 data.m_ColorFormerTarget = data.m_ColorTarget;
684 data.m_ColorLast = data.m_ColorCurrent;
685 data.m_ColorStart = data.m_ColorCurrent;
686 if (!data.IsSettingDefaultValues())
687 {
688 data.SetSettingDefaultValues(true);
689
691 }
692
693 }
694
695
696
697
698
699
700
701
702
703
704
705
706
709 {
711
713 }
714
717 {
720 {
722 {
724 }
725 else
726 {
729 }
730 }
731 else
732 {
735 temp_map.Set(param_idx,data);
737 }
738
739 if (!data)
740 {
741 Error(
"GetRequestData | no data found in the structure");
742 }
743
745
746 return data;
747 }
748
750 {
752 switch (type)
753 {
754 case PPEConstants.VAR_TYPE_BOOL:
756 break;
757
758 case PPEConstants.VAR_TYPE_INT:
759 data =
new PPERequestParamDataInt(
m_IDX, mat_id, param_idx);
760 break;
761
762 case PPEConstants.VAR_TYPE_FLOAT:
764 break;
765
766 case PPEConstants.VAR_TYPE_COLOR:
767 data =
new PPERequestParamDataColor(
m_IDX, mat_id, param_idx);
768 break;
769 }
770 return data;
771 }
772
773
775 {
777 }
778
780 {
782 }
783
785 {
787 }
788
789
790
792 {
793
794
796 {
798 {
800 {
802 }
803 }
805 }
807 }
808
810 {
812 }
813
816 {
817
820 }
821
823 protected float RelativizeValue(
float value,
int var_type,
int mat_id,
int param_id,
bool relative)
824 {
825 float ret = value;
826 if (!relative)
827 {
828 switch (var_type)
829 {
830 case PPEConstants.VAR_TYPE_FLOAT:
834 break;
835 }
836 }
837
838
839 return ret;
840 }
841
844 {
845
847
849 {
851 {
853
855 continue;
856
858 {
859 case PPEConstants.VAR_TYPE_BOOL:
861 break;
862
863 case PPEConstants.VAR_TYPE_INT:
865 break;
866
867 case PPEConstants.VAR_TYPE_FLOAT:
869 break;
870
871 case PPEConstants.VAR_TYPE_COLOR:
873 break;
874 }
875 }
876 }
877 }
878
880 {
881
882 }
883}
884
886
888
890{
892 {
894 }
895}
896
898{
900 {
902 }
903}
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.