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

◆ SetRequesterUpdating()

void GetCategoryMask::SetRequesterUpdating ( bool state)
protected

Has to be set for the requester to be handled.

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

458{
459 protected bool m_IsRunning; //helps determine if the requester has been stopped or not
460 protected bool m_ValuesSent;
461 protected int m_IDX;
462
463 protected bool m_Valid = false;
464
465 protected ref map<int,ref map<int,ref PPERequestParamDataBase>> m_RequestDataStructure; // <material<param_id,data>> // parameter data objects are singletons
466
467 void PPERequesterBase(int requester_IDX)
468 {
469 m_Valid = PPERequesterBank.VerifyRequester(this);
470
471 m_IDX = requester_IDX;
472 m_ValuesSent = true;
473 m_IsRunning = false;
475 }
476
478 void SetRequesterUpdating(bool state)
479 {
480 if (!m_Valid)
481 {
482 Debug.Log("" + this + " not valid!");
483 return;
484 }
485
486 PPEManagerStatic.GetPPEManager().SetRequestUpdating(this,state);
487
488 //TODO - separate into its own function?
489 if (state)
490 PPEManagerStatic.GetPPEManager().SetRequestActive(this,true);
491 }
492
493 void Start(Param par = null)
494 {
495 OnStart(par);
496 m_IsRunning = true;
497 }
498
499 void Stop(Param par = null)
500 {
502 return;
503
504 OnStop(par);
505 m_IsRunning = false;
506 }
507
508 bool IsRequesterRunning()
509 {
510 return m_IsRunning;
511 }
512
514 void SetRequesterIDX(int idx)
515 {
516 m_IDX = idx;
517 }
518
520 int GetRequesterIDX()
521 {
522 return m_IDX;
523 }
524
526 int GetCategoryMask()
527 {
528 return PPERequesterCategory.NONE;
529 }
530
531 //SETTERS//
532 //vvvvvvv//
533 protected void SetTargetValueBool(int mat_id, int param_idx, bool val, int priority_layer, int operator = PPOperators.SET)
534 {
536 return;
537
538 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBool | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
553 }
554
555 protected void SetTargetValueBoolDefault(int mat_id, int param_idx)
556 {
557 //TODO - running check and cleanup rework (elsewhere!)
558 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
559 return;
560
561 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
562 data.m_BoolLast = data.m_BoolCurrent;
563 if (!data.IsSettingDefaultValues())
564 {
565 data.SetSettingDefaultValues(true);
566
568 }
569 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBoolDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
570 }
571
572 protected void SetTargetValueInt(int mat_id, int param_idx, bool relative, int val, int priority_layer, int operator = PPOperators.SET)
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueInt | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
591 }
592
593 protected void SetTargetValueIntDefault(int mat_id, int param_idx)
594 {
595 //TODO - running check and cleanup rework (elsewhere!)
596 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueIntDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
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
615 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloat | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
631 }
632
633 protected void SetTargetValueFloatDefault(int mat_id, int param_idx)
634 {
635 //TODO - running check and cleanup rework (elsewhere!)
636 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
637 return;
638
639 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloatDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
650 }
651
652 protected void SetTargetValueColor(int mat_id, int param_idx, array<float> val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
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 //if (data.m_ColorTarget != data.m_ColorCurrent)
667 {
668 data.SetSettingDefaultValues(false);
669 data.SetDataActive(true);
670
672 }
673 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColor | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
674 }
675
676 protected void SetTargetValueColorDefault(int mat_id, int param_idx)
677 {
678 //TODO - running check and cleanup rework (elsewhere!)
679 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
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 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColorDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
693 }
694
695 /*protected void SetTargetValueVector(int mat_id, int param_idx, bool relative, vector val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
696 {
697 }
698
699 void SetTargetValueTexture(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
700 {
701 }*/
702
703 /*void SetTargetValueResource(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
704 {
705 }*/
706
708 protected void QueueValuesSend()
709 {
710 m_ValuesSent = false;
711 //m_IsRunning = true;
713 }
714
716 PPERequestParamDataBase GetRequestData(int mat_id, int param_idx, int type)
717 {
719 if ( m_RequestDataStructure.Get(mat_id) )
720 {
721 if (m_RequestDataStructure.Get(mat_id).Get(param_idx))
722 {
723 data = m_RequestDataStructure.Get(mat_id).Get(param_idx);
724 }
725 else
726 {
727 data = PrepareData(mat_id,param_idx,type);
728 m_RequestDataStructure.Get(mat_id).Set(param_idx,data);
729 }
730 }
731 else
732 {
733 data = PrepareData(mat_id,param_idx,type);
735 temp_map.Set(param_idx,data);
736 m_RequestDataStructure.Set(mat_id, temp_map);
737 }
738
739 if (!data)
740 {
741 Error("GetRequestData | no data found in the structure");
742 }
743
744 data.m_Requester = this;
745
746 return data;
747 }
748
749 protected PPERequestParamDataBase PrepareData(int mat_id, int param_idx, int type)
750 {
752 switch (type)
753 {
754 case PPEConstants.VAR_TYPE_BOOL:
755 data = new PPERequestParamDataBool(m_IDX, mat_id, param_idx);
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:
763 data = new PPERequestParamDataFloat(m_IDX, mat_id, param_idx);
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 // unused?
775 {
777 }
778
779 protected void ClearRequesterData()
780 {
782 }
783
785 {
786 PPEManagerStatic.GetPPEManager().SendMaterialValueData(data);
787 }
788
789 //EVENTS//
790 //vvvvvv//
791 void OnUpdate(float delta)
792 {
793 //DbgPrnt("PPEDebug | PPERequesterBase | OnUpdate");
794
795 if ( !m_ValuesSent )
796 {
797 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
798 {
799 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
800 {
801 SendCurrentValueData(m_RequestDataStructure.GetElement(i).GetElement(j)); //map<int,ref map<int,PPERequestParamDataBase>> //<material<param,data>>
802 }
803 }
804 m_ValuesSent = true;
805 }
807 }
808
809 protected void OnStart(Param par = null)
810 {
812 }
813
815 protected void OnStop(Param par = null)
816 {
817 //DbgPrnt("PPEDebug | " + this + " | OnStop");
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) //if not already relative...
827 {
828 switch (var_type)
829 {
830 case PPEConstants.VAR_TYPE_FLOAT:
831 PPETemplateDefFloat p_float = PPETemplateDefFloat.Cast(PPEManagerStatic.GetPPEManager().GetPostProcessDefaultValues(mat_id,param_id));
832 ret = Math.InverseLerp(p_float.param3, p_float.param4, ret);
833 ret = Math.Clamp(ret,0.0,1.0);
834 break;
835 }
836 }
837 //Print("RelativizeValue: " + ret);
838
839 return ret;
840 }
841
843 protected void SetDefaultValuesAll()
844 {
845 //<material<param_id,data>>
847
848 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
849 {
850 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
851 {
852 req_data = m_RequestDataStructure.GetElement(i).GetElement(j);
853
854 if (!req_data.IsDataActive())
855 continue;
856
857 switch (req_data.GetVarType())
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
879 void DbgPrnt(string text)
880 {
881 //Debug.Log(""+text);
882 }
883}
884
886// Base requester platforms //
888
890{
891 override int GetCategoryMask()
892 {
893 return PPERequesterCategory.GAMEPLAY_EFFECTS;
894 }
895}
896
898{
899 override int GetCategoryMask()
900 {
901 return PPERequesterCategory.MENU_EFFECTS;
902 }
903}
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

Используется в PPERequester_GameplayBase::OnUpdate().