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

◆ Start()

void GetCategoryMask::Start ( Param par = null)
protected

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

473{
474 protected bool m_IsRunning; //helps determine if the requester has been stopped or not
475 protected bool m_ValuesSent;
476 protected int m_IDX;
477
478 protected bool m_Valid = false;
479
480 protected ref map<int,ref map<int,ref PPERequestParamDataBase>> m_RequestDataStructure; // <material<param_id,data>> // parameter data objects are singletons
481
482 void PPERequesterBase(int requester_IDX)
483 {
484 m_Valid = PPERequesterBank.VerifyRequester(this);
485
486 m_IDX = requester_IDX;
487 m_ValuesSent = true;
488 m_IsRunning = false;
490 }
491
493 void SetRequesterUpdating(bool state)
494 {
495 if (!m_Valid)
496 {
497 Debug.Log("" + this + " not valid!");
498 return;
499 }
500
501 PPEManagerStatic.GetPPEManager().SetRequestUpdating(this,state);
502
503 //TODO - separate into its own function?
504 if (state)
505 PPEManagerStatic.GetPPEManager().SetRequestActive(this,true);
506 }
507
508 void Start(Param par = null)
509 {
510 OnStart(par);
511 m_IsRunning = true;
512 }
513
514 void Stop(Param par = null)
515 {
517 return;
518
519 OnStop(par);
520 m_IsRunning = false;
521 }
522
523 bool IsRequesterRunning()
524 {
525 return m_IsRunning;
526 }
527
529 void SetRequesterIDX(int idx)
530 {
531 m_IDX = idx;
532 }
533
535 int GetRequesterIDX()
536 {
537 return m_IDX;
538 }
539
541 int GetCategoryMask()
542 {
543 return PPERequesterCategory.NONE;
544 }
545
546 //SETTERS//
547 //vvvvvvv//
548 protected void SetTargetValueBool(int mat_id, int param_idx, bool val, int priority_layer, int operator = PPOperators.SET)
549 {
551 return;
552
553 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
554 data.SetPriorityLayer(priority_layer);
555 data.SetInteractionMask(operator);
556
557 data.m_BoolTarget = val;
558 data.m_BoolLast = data.m_BoolCurrent;
559
560 if (data.m_BoolTarget != data.m_BoolCurrent || data.IsSettingDefaultValues())
561 {
562 data.SetSettingDefaultValues(false);
563 data.SetDataActive(true);
564
566 }
567 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBool | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
568 }
569
570 protected void SetTargetValueBoolDefault(int mat_id, int param_idx)
571 {
572 //TODO - running check and cleanup rework (elsewhere!)
573 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
574 return;
575
576 PPERequestParamDataBool data = PPERequestParamDataBool.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_BOOL));
577 data.m_BoolLast = data.m_BoolCurrent;
578 if (!data.IsSettingDefaultValues())
579 {
580 data.SetSettingDefaultValues(true);
581
583 }
584 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueBoolDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
585 }
586
587 protected void SetTargetValueInt(int mat_id, int param_idx, bool relative, int val, int priority_layer, int operator = PPOperators.SET)
588 {
590 return;
591
592 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
593 data.SetPriorityLayer(priority_layer);
594 data.SetInteractionMask(operator);
595
596 data.m_IntTarget = val;
597 data.m_IntLast = data.m_IntCurrent;
598 if (data.m_IntTarget != data.m_IntCurrent || data.IsSettingDefaultValues())
599 {
600 data.SetSettingDefaultValues(false);
601 data.SetDataActive(true);
602
604 }
605 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueInt | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
606 }
607
608 protected void SetTargetValueIntDefault(int mat_id, int param_idx)
609 {
610 //TODO - running check and cleanup rework (elsewhere!)
611 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
612 return;
613
614 PPERequestParamDataInt data = PPERequestParamDataInt.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_INT));
615 data.m_IntLast = data.m_IntCurrent;
616 if (!data.IsSettingDefaultValues())
617 {
618 data.SetSettingDefaultValues(true);
619
621 }
622 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueIntDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
623 }
624
625 protected void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
626 {
628 return;
629
630 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
631 data.SetPriorityLayer(priority_layer);
632 data.SetInteractionMask(operator);
633
634 data.m_FloatFormerTarget = data.m_FloatTarget;
635 data.m_FloatTarget = RelativizeValue(val,PPEConstants.VAR_TYPE_FLOAT,mat_id,param_idx,relative);
636 data.m_FloatLast = data.m_FloatCurrent;
637 data.m_FloatStart = data.m_FloatCurrent;
638 if (data.m_FloatTarget != data.m_FloatCurrent || data.IsSettingDefaultValues())
639 {
640 data.SetSettingDefaultValues(false);
641 data.SetDataActive(true);
642
644 }
645 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloat | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
646 }
647
648 protected void SetTargetValueFloatDefault(int mat_id, int param_idx)
649 {
650 //TODO - running check and cleanup rework (elsewhere!)
651 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
652 return;
653
654 PPERequestParamDataFloat data = PPERequestParamDataFloat.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_FLOAT));
655 data.m_FloatFormerTarget = data.m_FloatTarget;
656 data.m_FloatLast = data.m_FloatCurrent;
657 data.m_FloatStart = data.m_FloatCurrent;
658 if (!data.IsSettingDefaultValues())
659 {
660 data.SetSettingDefaultValues(true);
661
663 }
664 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueFloatDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
665 }
666
667 protected void SetTargetValueColor(int mat_id, int param_idx, array<float> val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
668 {
670 return;
671
672 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
673 data.SetPriorityLayer(priority_layer);
674 data.SetInteractionMask(operator);
675 data.m_ColorFormerTarget = data.m_ColorTarget;
676
677 data.m_ColorTarget.Copy(val);
678
679 data.m_ColorLast = data.m_ColorCurrent;
680 data.m_ColorStart = data.m_ColorCurrent;
681 //if (data.m_ColorTarget != data.m_ColorCurrent)
682 {
683 data.SetSettingDefaultValues(false);
684 data.SetDataActive(true);
685
687 }
688 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColor | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
689 }
690
691 protected void SetTargetValueColorDefault(int mat_id, int param_idx)
692 {
693 //TODO - running check and cleanup rework (elsewhere!)
694 if ( !m_RequestDataStructure || !m_RequestDataStructure.Get(mat_id) || !m_RequestDataStructure.Get(mat_id).Get(param_idx))
695 return;
696
697 PPERequestParamDataColor data = PPERequestParamDataColor.Cast(GetRequestData(mat_id,param_idx,PPEConstants.VAR_TYPE_COLOR));
698 data.m_ColorFormerTarget = data.m_ColorTarget;
699 data.m_ColorLast = data.m_ColorCurrent;
700 data.m_ColorStart = data.m_ColorCurrent;
701 if (!data.IsSettingDefaultValues())
702 {
703 data.SetSettingDefaultValues(true);
704
706 }
707 //DbgPrnt("PPEDebug | PPERequesterBase - SetTargetValueColorDefault | mat/par/req: " + mat_id + "/" + param_idx + "/" + m_IDX + " | data: " + data);
708 }
709
710 /*protected void SetTargetValueVector(int mat_id, int param_idx, bool relative, vector val, int priority_layer, int operator = PPOperators.ADD_RELATIVE)
711 {
712 }
713
714 void SetTargetValueTexture(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
715 {
716 }*/
717
718 /*void SetTargetValueResource(int mat_id, int param_idx, string val, int priority_layer, int mask, bool override_priority = false)
719 {
720 }*/
721
723 protected void QueueValuesSend()
724 {
725 m_ValuesSent = false;
726 //m_IsRunning = true;
728 }
729
731 PPERequestParamDataBase GetRequestData(int mat_id, int param_idx, int type)
732 {
734 if ( m_RequestDataStructure.Get(mat_id) )
735 {
736 if (m_RequestDataStructure.Get(mat_id).Get(param_idx))
737 {
738 data = m_RequestDataStructure.Get(mat_id).Get(param_idx);
739 }
740 else
741 {
742 data = PrepareData(mat_id,param_idx,type);
743 m_RequestDataStructure.Get(mat_id).Set(param_idx,data);
744 }
745 }
746 else
747 {
748 data = PrepareData(mat_id,param_idx,type);
750 temp_map.Set(param_idx,data);
751 m_RequestDataStructure.Set(mat_id, temp_map);
752 }
753
754 if (!data)
755 {
756 Error("GetRequestData | no data found in the structure");
757 }
758
759 data.m_Requester = this;
760
761 return data;
762 }
763
764 protected PPERequestParamDataBase PrepareData(int mat_id, int param_idx, int type)
765 {
767 switch (type)
768 {
769 case PPEConstants.VAR_TYPE_BOOL:
770 data = new PPERequestParamDataBool(m_IDX, mat_id, param_idx);
771 break;
772
773 case PPEConstants.VAR_TYPE_INT:
774 data = new PPERequestParamDataInt(m_IDX, mat_id, param_idx);
775 break;
776
777 case PPEConstants.VAR_TYPE_FLOAT:
778 data = new PPERequestParamDataFloat(m_IDX, mat_id, param_idx);
779 break;
780
781 case PPEConstants.VAR_TYPE_COLOR:
782 data = new PPERequestParamDataColor(m_IDX, mat_id, param_idx);
783 break;
784 }
785 return data;
786 }
787
788 // unused?
790 {
792 }
793
794 protected void ClearRequesterData()
795 {
797 }
798
800 {
801 PPEManagerStatic.GetPPEManager().SendMaterialValueData(data);
802 }
803
804 //EVENTS//
805 //vvvvvv//
806 void OnUpdate(float delta)
807 {
808 //DbgPrnt("PPEDebug | PPERequesterBase | OnUpdate");
809
810 if ( !m_ValuesSent )
811 {
812 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
813 {
814 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
815 {
816 SendCurrentValueData(m_RequestDataStructure.GetElement(i).GetElement(j)); //map<int,ref map<int,PPERequestParamDataBase>> //<material<param,data>>
817 }
818 }
819 m_ValuesSent = true;
820 }
822 }
823
824 protected void OnStart(Param par = null)
825 {
827 }
828
830 protected void OnStop(Param par = null)
831 {
832 //DbgPrnt("PPEDebug | " + this + " | OnStop");
835 }
836
838 protected float RelativizeValue(float value, int var_type, int mat_id, int param_id, bool relative)
839 {
840 float ret = value;
841 if (!relative) //if not already relative...
842 {
843 switch (var_type)
844 {
845 case PPEConstants.VAR_TYPE_FLOAT:
846 PPETemplateDefFloat p_float = PPETemplateDefFloat.Cast(PPEManagerStatic.GetPPEManager().GetPostProcessDefaultValues(mat_id,param_id));
847 ret = Math.InverseLerp(p_float.param3, p_float.param4, ret);
848 ret = Math.Clamp(ret,0.0,1.0);
849 break;
850 }
851 }
852 //Print("RelativizeValue: " + ret);
853
854 return ret;
855 }
856
858 protected void SetDefaultValuesAll()
859 {
860 //<material<param_id,data>>
862
863 for (int i = 0; i < m_RequestDataStructure.Count(); i++)
864 {
865 for (int j = 0; j < m_RequestDataStructure.GetElement(i).Count(); j++)
866 {
867 req_data = m_RequestDataStructure.GetElement(i).GetElement(j);
868
869 if (!req_data.IsDataActive())
870 continue;
871
872 switch (req_data.GetVarType())
873 {
874 case PPEConstants.VAR_TYPE_BOOL:
876 break;
877
878 case PPEConstants.VAR_TYPE_INT:
880 break;
881
882 case PPEConstants.VAR_TYPE_FLOAT:
884 break;
885
886 case PPEConstants.VAR_TYPE_COLOR:
888 break;
889 }
890 }
891 }
892 }
893
894 void DbgPrnt(string text)
895 {
896 //Debug.Log(""+text);
897 }
898}
899
901// Base requester platforms //
903
905{
906 override int GetCategoryMask()
907 {
908 return PPERequesterCategory.GAMEPLAY_EFFECTS;
909 }
910}
911
913{
914 override int GetCategoryMask()
915 {
916 return PPERequesterCategory.MENU_EFFECTS;
917 }
918}
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