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

◆ CanDisplayAttachmentCategory()

override bool OnDebugSpawn::CanDisplayAttachmentCategory ( string category_name)
protected

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

537{
541
542 void Hatchback_02()
543 {
544 //m_dmgContactCoef = 0.070;
545
546 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
547 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
548 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
549 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
550 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
551 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
552
553 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
554 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
555
556 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
557 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
558
559 SetEnginePos("0 0.7 1.4");
560 }
561
562 override void EEInit()
563 {
564 super.EEInit();
565
566 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
567 {
569 m_UTSSettings.m_ManualUpdate = true;
571 m_UTSSettings.m_TemperatureCap = 0;
572 m_UTSSettings.m_RangeFull = 0.5;
573 m_UTSSettings.m_RangeMax = 2;
574
577 }
578 }
579
580 override void OnEngineStart()
581 {
582 super.OnEngineStart();
583
584 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
585 {
586 m_UTSource.SetDefferedActive(true, 20.0);
587 }
588 }
589
590 override void OnEngineStop()
591 {
592 super.OnEngineStop();
593
594 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
595 {
596 m_UTSource.SetDefferedActive(false, 10.0);
597 }
598 }
599
600 override void EOnPostSimulate(IEntity other, float timeSlice)
601 {
602 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
603 {
604 if (m_UTSource.IsActive())
605 {
607 }
608 }
609 }
610
611 override int GetAnimInstance()
612 {
613 return VehicleAnimInstances.GOLF;
614 }
615
616 override int GetSeatAnimationType(int posIdx)
617 {
618 switch (posIdx)
619 {
620 case 0:
621 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
622 case 1:
623 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
624 case 2:
625 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
626 case 3:
627 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
628 }
629
630 return 0;
631 }
632
633 // Override for car-specific light type
635 {
636 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
637 }
638
639 // Override for car-specific light type
641 {
642 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
643 }
644
645 override bool CanReleaseAttachment(EntityAI attachment)
646 {
647 if (!super.CanReleaseAttachment(attachment))
648 {
649 return false;
650 }
651
652 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
653 {
654 string attType = attachment.GetType();
655 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
656 {
657 return false;
658 }
659 }
660
661 return true;
662 }
663
664 override protected bool CanManipulateSpareWheel(string slotSelectionName)
665 {
666 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
667 }
668
669 override bool CanDisplayAttachmentCategory( string category_name )
670 {
671 //super
672 if ( !super.CanDisplayAttachmentCategory( category_name ) )
673 return false;
674 //
675
676 category_name.ToLower();
677 if ( category_name.Contains("engine") )
678 {
679 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
680 return false;
681 }
682
683 return true;
684 }
685
686 override bool CanDisplayCargo()
687 {
688 if ( !super.CanDisplayCargo() )
689 return false;
690
691 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
692 return false;
693
694 return true;
695 }
696
697 override int GetCarDoorsState(string slotType)
698 {
699 CarDoor carDoor;
700
701 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
702 if (!carDoor)
703 {
704 return CarDoorState.DOORS_MISSING;
705 }
706
707 switch (slotType)
708 {
709 case "Hatchback_02_Door_1_1":
710 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
711
712 case "Hatchback_02_Door_2_1":
713 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
714
715 case "Hatchback_02_Door_1_2":
716 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
717
718 case "Hatchback_02_Door_2_2":
719 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
720
721 case "Hatchback_02_Hood":
722 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
723
724 case "Hatchback_02_Trunk":
725 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
726 }
727
728 return CarDoorState.DOORS_MISSING;
729 }
730
731
732 override bool CrewCanGetThrough(int posIdx)
733 {
734 switch (posIdx)
735 {
736 case 0:
737 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
738 {
739 return false;
740 }
741
742 return true;
743
744 case 1:
745 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
746 {
747 return false;
748 }
749
750 return true;
751
752 case 2:
753 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
754 {
755 return false;
756 }
757
758 return true;
759
760 case 3:
761 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
762 {
763 return false;
764 }
765
766 return true;
767 }
768
769 return false;
770 }
771
772 override string GetDoorSelectionNameFromSeatPos(int posIdx)
773 {
774 switch( posIdx )
775 {
776 case 0:
777 return "doors_driver";
778 break;
779 case 1:
780 return "doors_codriver";
781 break;
782 case 2:
783 return "doors_cargo1";
784 break;
785 case 3:
786 return "doors_cargo2";
787 break;
788 }
789
790 return super.GetDoorSelectionNameFromSeatPos(posIdx);
791 }
792
793 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
794 {
795 switch( posIdx )
796 {
797 case 0:
798 return "Hatchback_02_Door_1_1";
799 break;
800 case 1:
801 return "Hatchback_02_Door_2_1";
802 break;
803 case 2:
804 return "Hatchback_02_Door_1_2";
805 break;
806 case 3:
807 return "Hatchback_02_Door_2_2";
808 break;
809 }
810
811 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
812 }
813
814 override float OnSound(CarSoundCtrl ctrl, float oldValue)
815 {
816 switch (ctrl)
817 {
818 case CarSoundCtrl.DOORS:
819 float newValue = 0;
820 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
821 {
822 newValue += 0.25;
823 }
824
825 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
826 {
827 newValue += 0.25;
828 }
829
830 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
831 {
832 newValue += 0.25;
833 }
834
835 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
836 {
837 newValue += 0.25;
838 }
839
840 return Math.Clamp(newValue, 0, 1);
841 break;
842 }
843
844 return super.OnSound(ctrl, oldValue);
845 }
846
847 override string GetAnimSourceFromSelection( string selection )
848 {
849 switch( selection )
850 {
851 case "doors_driver":
852 return "DoorsDriver";
853 case "doors_codriver":
854 return "DoorsCoDriver";
855 case "doors_cargo1":
856 return "DoorsCargo1";
857 case "doors_cargo2":
858 return "DoorsCargo2";
859 case "doors_hood":
860 return "DoorsHood";
861 case "doors_trunk":
862 return "DoorsTrunk";
863 }
864
865 return "";
866 }
867
868
869 override bool IsVitalTruckBattery()
870 {
871 return false;
872 }
873
874 override bool IsVitalGlowPlug()
875 {
876 return false;
877 }
878
879 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
880 {
881 switch (currentSeat)
882 {
883 case 0:
884 return nextSeat == 1;
885 case 1:
886 return nextSeat == 0;
887 case 2:
888 return nextSeat == 3;
889 case 3:
890 return nextSeat == 2;
891 }
892
893 return false;
894 }
895
896 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
897 {
898 switch (pCurrentSeat)
899 {
900 case 0:
901 return pDoorsSelection == "DoorsDriver";
902 case 1:
903 return pDoorsSelection == "DoorsCoDriver";
904 case 2:
905 return pDoorsSelection == "DoorsCargo1";
906 case 3:
907 return pDoorsSelection == "DoorsCargo2";
908 }
909
910 return false;
911 }
912
913 override void OnDebugSpawn()
914 {
915 SpawnUniversalParts();
916 SpawnAdditionalItems();
917 FillUpCarFluids();
918
919 GetInventory().CreateInInventory("Hatchback_02_Wheel");
920 GetInventory().CreateInInventory("Hatchback_02_Wheel");
921 GetInventory().CreateInInventory("Hatchback_02_Wheel");
922 GetInventory().CreateInInventory("Hatchback_02_Wheel");
923
924 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
925 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
926 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
927 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
928 GetInventory().CreateInInventory("Hatchback_02_Hood");
929 GetInventory().CreateInInventory("Hatchback_02_Trunk");
930
931 //-----IN CAR CARGO
932 GetInventory().CreateInInventory("Hatchback_02_Wheel");
933 GetInventory().CreateInInventory("Hatchback_02_Wheel");
934 }
935}
936
937class Hatchback_02_Black extends Hatchback_02
938{
939 override void OnDebugSpawn()
940 {
941 SpawnUniversalParts();
942 SpawnAdditionalItems();
943 FillUpCarFluids();
944
945 GetInventory().CreateInInventory("Hatchback_02_Wheel");
946 GetInventory().CreateInInventory("Hatchback_02_Wheel");
947 GetInventory().CreateInInventory("Hatchback_02_Wheel");
948 GetInventory().CreateInInventory("Hatchback_02_Wheel");
949
950 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
951 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
952 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
953 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
954 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
955 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
956
957 //-----IN CAR CARGO
958 GetInventory().CreateInInventory("Hatchback_02_Wheel");
959 GetInventory().CreateInInventory("Hatchback_02_Wheel");
960 }
961};
962
963class Hatchback_02_Blue extends Hatchback_02
964{
965 override void OnDebugSpawn()
966 {
967 SpawnUniversalParts();
968 SpawnAdditionalItems();
969 FillUpCarFluids();
970
971 GetInventory().CreateInInventory("Hatchback_02_Wheel");
972 GetInventory().CreateInInventory("Hatchback_02_Wheel");
973 GetInventory().CreateInInventory("Hatchback_02_Wheel");
974 GetInventory().CreateInInventory("Hatchback_02_Wheel");
975
976 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
977 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
978 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
979 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
980 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
981 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
982
983 //-----IN CAR CARGO
984 GetInventory().CreateInInventory("Hatchback_02_Wheel");
985 GetInventory().CreateInInventory("Hatchback_02_Wheel");
986 }
987}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:433
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:404
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:746
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:714
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:483
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:681
void Hatchback_02()
Определения Hatchback_02.c:409
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:660
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:467
override void OnEngineStop()
Определения Hatchback_02.c:457
override void EEInit()
Определения Hatchback_02.c:429
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:512
override bool CanDisplayCargo()
Определения Hatchback_02.c:553
override void OnEngineStart()
Определения Hatchback_02.c:447
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:507
override int GetAnimInstance()
Определения Hatchback_02.c:478
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:599
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:763
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:531
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:741
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:501
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:736
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:639
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:564
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:536
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
override void OnDebugSpawn()
Определения Hatchback_02.c:430
Определения Hatchback_02.c:429
Определения EnEntity.c:165
Определения EnMath.c:7
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:38
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static const float ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE
Определения 3_Game/constants.c:808
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'.
bool Contains(string sample)
Returns true if sample is substring of string.
Определения EnString.c:286
proto int ToLower()
Changes string to lowercase. Returns length.