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

◆ CanDisplayAttachmentCategory()

override bool OnDebugSpawn::CanDisplayAttachmentCategory ( string category_name)
protected

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

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