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

◆ CanDisplayAttachmentCategory()

override bool OnDebugSpawn::CanDisplayAttachmentCategory ( string category_name)
protected

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

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