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

◆ CanDisplayAttachmentCategory()

override bool OnDebugSpawn::CanDisplayAttachmentCategory ( string category_name)
protected

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

573 : CarScript
574{
578
579 void Hatchback_02()
580 {
581 //m_dmgContactCoef = 0.070;
582
583 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
584 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
585 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
586 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
587 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
588 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
589
590 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
591 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
592
593 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
594 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
595
596 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
597 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
598
599 SetEnginePos("0 0.7 1.4");
600
602 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
603 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
604 }
605
606 void ~Hatchback_02()
607 {
608 m_UTSource = null;
609 m_UTSSettings = null;
610 m_UTSLEngine = null;
611 }
612
613 override void EEInit()
614 {
615 super.EEInit();
616
617 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
618 {
620 m_UTSSettings.m_ManualUpdate = true;
622 m_UTSSettings.m_TemperatureCap = 0;
623 m_UTSSettings.m_RangeFull = 0.5;
624 m_UTSSettings.m_RangeMax = 2;
625
628 }
629 }
630
631 override bool NeedElectricitySourceDevice()
632 {
633 return true;
634 }
635
637 {
638 super.GetElectricitySourceDevice();
639
640 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
641 }
642
643 override string GetElectricitySourceDeviceType()
644 {
645 return "CarBattery";
646 }
647
648 override void OnEngineStart()
649 {
650 super.OnEngineStart();
651
652 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
653 {
654 if (m_UTSource)
655 m_UTSource.SetDefferedActive(true, 20.0);
656 }
657 }
658
659 override void OnEngineStop()
660 {
661 super.OnEngineStop();
662
663 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
664 {
665 if (m_UTSource)
666 m_UTSource.SetDefferedActive(false, 10.0);
667 }
668 }
669
670 override void EOnPostSimulate(IEntity other, float timeSlice)
671 {
672 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
673 {
674 if (m_UTSource && m_UTSource.IsActive())
675 {
677 }
678 }
679 }
680
681 override int GetAnimInstance()
682 {
683 return VehicleAnimInstances.GOLF;
684 }
685
686 override int GetSeatAnimationType(int posIdx)
687 {
688 switch (posIdx)
689 {
690 case 0:
691 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
692 case 1:
693 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
694 case 2:
695 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
696 case 3:
697 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
698 }
699
700 return 0;
701 }
702
703 override bool CanReleaseAttachment(EntityAI attachment)
704 {
705 if (!super.CanReleaseAttachment(attachment))
706 {
707 return false;
708 }
709
710 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
711 {
712 string attType = attachment.GetType();
713 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
714 {
715 return false;
716 }
717 }
718
719 return true;
720 }
721
722 override protected bool CanManipulateSpareWheel(string slotSelectionName)
723 {
724 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
725 }
726
727 override bool CanDisplayAttachmentCategory( string category_name )
728 {
729 //super
730 if ( !super.CanDisplayAttachmentCategory( category_name ) )
731 return false;
732 //
733
734 category_name.ToLower();
735 if ( category_name.Contains("engine") )
736 {
737 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
738 return false;
739 }
740
741 return true;
742 }
743
744 override bool CanDisplayCargo()
745 {
746 if ( !super.CanDisplayCargo() )
747 return false;
748
749 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
750 return false;
751
752 return true;
753 }
754
755 override int GetCarDoorsState(string slotType)
756 {
757 CarDoor carDoor;
758
759 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
760 if (!carDoor)
761 {
762 return CarDoorState.DOORS_MISSING;
763 }
764
765 switch (slotType)
766 {
767 case "Hatchback_02_Door_1_1":
768 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
769
770 case "Hatchback_02_Door_2_1":
771 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
772
773 case "Hatchback_02_Door_1_2":
774 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
775
776 case "Hatchback_02_Door_2_2":
777 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
778
779 case "Hatchback_02_Hood":
780 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
781
782 case "Hatchback_02_Trunk":
783 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
784 }
785
786 return CarDoorState.DOORS_MISSING;
787 }
788
789
790 override bool CrewCanGetThrough(int posIdx)
791 {
792 switch (posIdx)
793 {
794 case 0:
795 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
796 {
797 return false;
798 }
799
800 return true;
801
802 case 1:
803 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
804 {
805 return false;
806 }
807
808 return true;
809
810 case 2:
811 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
812 {
813 return false;
814 }
815
816 return true;
817
818 case 3:
819 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
820 {
821 return false;
822 }
823
824 return true;
825 }
826
827 return false;
828 }
829
830 override string GetDoorSelectionNameFromSeatPos(int posIdx)
831 {
832 switch( posIdx )
833 {
834 case 0:
835 return "doors_driver";
836 break;
837 case 1:
838 return "doors_codriver";
839 break;
840 case 2:
841 return "doors_cargo1";
842 break;
843 case 3:
844 return "doors_cargo2";
845 break;
846 }
847
848 return super.GetDoorSelectionNameFromSeatPos(posIdx);
849 }
850
851 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
852 {
853 switch( posIdx )
854 {
855 case 0:
856 return "Hatchback_02_Door_1_1";
857 break;
858 case 1:
859 return "Hatchback_02_Door_2_1";
860 break;
861 case 2:
862 return "Hatchback_02_Door_1_2";
863 break;
864 case 3:
865 return "Hatchback_02_Door_2_2";
866 break;
867 }
868
869 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
870 }
871
872 override float OnSound(CarSoundCtrl ctrl, float oldValue)
873 {
874 switch (ctrl)
875 {
876 case CarSoundCtrl.DOORS:
877 float newValue = 0;
878 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
879 {
880 newValue += 0.25;
881 }
882
883 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
884 {
885 newValue += 0.25;
886 }
887
888 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
889 {
890 newValue += 0.25;
891 }
892
893 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
894 {
895 newValue += 0.25;
896 }
897
898 return Math.Clamp(newValue, 0, 1);
899 break;
900 }
901
902 return super.OnSound(ctrl, oldValue);
903 }
904
905 override string GetAnimSourceFromSelection( string selection )
906 {
907 switch( selection )
908 {
909 case "doors_driver":
910 return "DoorsDriver";
911 case "doors_codriver":
912 return "DoorsCoDriver";
913 case "doors_cargo1":
914 return "DoorsCargo1";
915 case "doors_cargo2":
916 return "DoorsCargo2";
917 case "doors_hood":
918 return "DoorsHood";
919 case "doors_trunk":
920 return "DoorsTrunk";
921 }
922
923 return "";
924 }
925
926 override bool IsVitalGlowPlug()
927 {
928 return false;
929 }
930
931 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
932 {
933 switch (currentSeat)
934 {
935 case 0:
936 return nextSeat == 1;
937 case 1:
938 return nextSeat == 0;
939 case 2:
940 return nextSeat == 3;
941 case 3:
942 return nextSeat == 2;
943 }
944
945 return false;
946 }
947
948 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
949 {
950 switch (pCurrentSeat)
951 {
952 case 0:
953 return pDoorsSelection == "DoorsDriver";
954 case 1:
955 return pDoorsSelection == "DoorsCoDriver";
956 case 2:
957 return pDoorsSelection == "DoorsCargo1";
958 case 3:
959 return pDoorsSelection == "DoorsCargo2";
960 }
961
962 return false;
963 }
964
965 override void OnDebugSpawn()
966 {
968 SpawnAdditionalItems();
969 FillUpCarFluids();
970
971 GameInventory inventory = GetInventory();
972 inventory.CreateInInventory("Hatchback_02_Wheel");
973 inventory.CreateInInventory("Hatchback_02_Wheel");
974 inventory.CreateInInventory("Hatchback_02_Wheel");
975 inventory.CreateInInventory("Hatchback_02_Wheel");
976
977 inventory.CreateInInventory("Hatchback_02_Door_1_1");
978 inventory.CreateInInventory("Hatchback_02_Door_1_2");
979 inventory.CreateInInventory("Hatchback_02_Door_2_1");
980 inventory.CreateInInventory("Hatchback_02_Door_2_2");
981 inventory.CreateInInventory("Hatchback_02_Hood");
982 inventory.CreateInInventory("Hatchback_02_Trunk");
983
984 //-----IN CAR CARGO
985 inventory.CreateInInventory("Hatchback_02_Wheel");
986 inventory.CreateInInventory("Hatchback_02_Wheel");
987 }
988}
989
990class Hatchback_02_Black : Hatchback_02
991{
992 override void OnDebugSpawn()
993 {
995 SpawnAdditionalItems();
996 FillUpCarFluids();
997
998 GameInventory inventory = GetInventory();
999 inventory.CreateInInventory("Hatchback_02_Wheel");
1000 inventory.CreateInInventory("Hatchback_02_Wheel");
1001 inventory.CreateInInventory("Hatchback_02_Wheel");
1002 inventory.CreateInInventory("Hatchback_02_Wheel");
1003
1004 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1005 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1006 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1007 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1008 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1009 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1010
1011 //-----IN CAR CARGO
1012 inventory.CreateInInventory("Hatchback_02_Wheel");
1013 inventory.CreateInInventory("Hatchback_02_Wheel");
1014 }
1015}
1016
1018{
1019 override void OnDebugSpawn()
1020 {
1022 SpawnAdditionalItems();
1023 FillUpCarFluids();
1024
1025 GameInventory inventory = GetInventory();
1026 inventory.CreateInInventory("Hatchback_02_Wheel");
1027 inventory.CreateInInventory("Hatchback_02_Wheel");
1028 inventory.CreateInInventory("Hatchback_02_Wheel");
1029 inventory.CreateInInventory("Hatchback_02_Wheel");
1030
1031 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1032 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1033 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1034 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1035 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1036 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1037
1038 //-----IN CAR CARGO
1039 inventory.CreateInInventory("Hatchback_02_Wheel");
1040 inventory.CreateInInventory("Hatchback_02_Wheel");
1041 }
1042}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
DayZGame g_Game
Определения DayZGame.c:4074
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:222
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:221
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
Определения MotorbikeScript.c:1425
string m_EngineStartOK
Определения MotorbikeScript.c:89
string m_EngineStartBattery
Определения MotorbikeScript.c:90
string m_EngineStartPlug
Определения MotorbikeScript.c:91
string m_EngineStartFuel
Определения MotorbikeScript.c:92
ref VehicleHornComponent m_HornComponent
Определения MotorbikeScript.c:75
string m_EngineStopFuel
Определения MotorbikeScript.c:94
ref VehicleLightsComponent m_LightsComponent
Определения MotorbikeScript.c:74
string m_EngineStop
Определения MotorbikeScript.c:93
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
void Hatchback_02()
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
Hatchback_02 CarScript OnDebugSpawn()
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.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()
override void OnDebugSpawn()
Определения EnEntity.c:165
Определения EnMath.c:7
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
const int LONG
Определения VehicleHornComponent.c:5
const int SHORT
Определения VehicleHornComponent.c:4
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:856
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.