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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

527 : CarScript
528{
532
533 void Hatchback_02()
534 {
535 //m_dmgContactCoef = 0.070;
536
537 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
538 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
539 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
540 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
541 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
542 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
543
544 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
545 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
546
547 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
548 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
549
550 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
551 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
552
553 SetEnginePos("0 0.7 1.4");
554
556 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
557 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
558 }
559
560 void ~Hatchback_02()
561 {
562 m_UTSource = null;
563 m_UTSSettings = null;
564 m_UTSLEngine = null;
565 }
566
567 override void EEInit()
568 {
569 super.EEInit();
570
571 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
572 {
574 m_UTSSettings.m_ManualUpdate = true;
576 m_UTSSettings.m_TemperatureCap = 0;
577 m_UTSSettings.m_RangeFull = 0.5;
578 m_UTSSettings.m_RangeMax = 2;
579
582 }
583 }
584
585 override bool NeedElectricitySourceDevice()
586 {
587 return true;
588 }
589
591 {
592 super.GetElectricitySourceDevice();
593
594 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
595 }
596
597 override string GetElectricitySourceDeviceType()
598 {
599 return "CarBattery";
600 }
601
602 override void OnEngineStart()
603 {
604 super.OnEngineStart();
605
606 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
607 {
608 if (m_UTSource)
609 m_UTSource.SetDefferedActive(true, 20.0);
610 }
611 }
612
613 override void OnEngineStop()
614 {
615 super.OnEngineStop();
616
617 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
618 {
619 if (m_UTSource)
620 m_UTSource.SetDefferedActive(false, 10.0);
621 }
622 }
623
624 override void EOnPostSimulate(IEntity other, float timeSlice)
625 {
626 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
627 {
628 if (m_UTSource && m_UTSource.IsActive())
629 {
631 }
632 }
633 }
634
635 override int GetAnimInstance()
636 {
637 return VehicleAnimInstances.GOLF;
638 }
639
640 override int GetSeatAnimationType(int posIdx)
641 {
642 switch (posIdx)
643 {
644 case 0:
645 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
646 case 1:
647 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
648 case 2:
649 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
650 case 3:
651 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
652 }
653
654 return 0;
655 }
656
657 override bool CanReleaseAttachment(EntityAI attachment)
658 {
659 if (!super.CanReleaseAttachment(attachment))
660 {
661 return false;
662 }
663
664 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
665 {
666 string attType = attachment.GetType();
667 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
668 {
669 return false;
670 }
671 }
672
673 return true;
674 }
675
676 override protected bool CanManipulateSpareWheel(string slotSelectionName)
677 {
678 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
679 }
680
681 override bool CanDisplayAttachmentCategory( string category_name )
682 {
683 //super
684 if ( !super.CanDisplayAttachmentCategory( category_name ) )
685 return false;
686 //
687
688 category_name.ToLower();
689 if ( category_name.Contains("engine") )
690 {
691 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
692 return false;
693 }
694
695 return true;
696 }
697
698 override bool CanDisplayCargo()
699 {
700 if ( !super.CanDisplayCargo() )
701 return false;
702
703 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
704 return false;
705
706 return true;
707 }
708
709 override int GetCarDoorsState(string slotType)
710 {
711 CarDoor carDoor;
712
713 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
714 if (!carDoor)
715 {
716 return CarDoorState.DOORS_MISSING;
717 }
718
719 switch (slotType)
720 {
721 case "Hatchback_02_Door_1_1":
722 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
723
724 case "Hatchback_02_Door_2_1":
725 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
726
727 case "Hatchback_02_Door_1_2":
728 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
729
730 case "Hatchback_02_Door_2_2":
731 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
732
733 case "Hatchback_02_Hood":
734 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
735
736 case "Hatchback_02_Trunk":
737 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
738 }
739
740 return CarDoorState.DOORS_MISSING;
741 }
742
743
744 override bool CrewCanGetThrough(int posIdx)
745 {
746 switch (posIdx)
747 {
748 case 0:
749 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
750 {
751 return false;
752 }
753
754 return true;
755
756 case 1:
757 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
758 {
759 return false;
760 }
761
762 return true;
763
764 case 2:
765 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
766 {
767 return false;
768 }
769
770 return true;
771
772 case 3:
773 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
774 {
775 return false;
776 }
777
778 return true;
779 }
780
781 return false;
782 }
783
784 override string GetDoorSelectionNameFromSeatPos(int posIdx)
785 {
786 switch( posIdx )
787 {
788 case 0:
789 return "doors_driver";
790 break;
791 case 1:
792 return "doors_codriver";
793 break;
794 case 2:
795 return "doors_cargo1";
796 break;
797 case 3:
798 return "doors_cargo2";
799 break;
800 }
801
802 return super.GetDoorSelectionNameFromSeatPos(posIdx);
803 }
804
805 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
806 {
807 switch( posIdx )
808 {
809 case 0:
810 return "Hatchback_02_Door_1_1";
811 break;
812 case 1:
813 return "Hatchback_02_Door_2_1";
814 break;
815 case 2:
816 return "Hatchback_02_Door_1_2";
817 break;
818 case 3:
819 return "Hatchback_02_Door_2_2";
820 break;
821 }
822
823 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
824 }
825
826 override float OnSound(CarSoundCtrl ctrl, float oldValue)
827 {
828 switch (ctrl)
829 {
830 case CarSoundCtrl.DOORS:
831 float newValue = 0;
832 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
833 {
834 newValue += 0.25;
835 }
836
837 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
838 {
839 newValue += 0.25;
840 }
841
842 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
843 {
844 newValue += 0.25;
845 }
846
847 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
848 {
849 newValue += 0.25;
850 }
851
852 return Math.Clamp(newValue, 0, 1);
853 break;
854 }
855
856 return super.OnSound(ctrl, oldValue);
857 }
858
859 override string GetAnimSourceFromSelection( string selection )
860 {
861 switch( selection )
862 {
863 case "doors_driver":
864 return "DoorsDriver";
865 case "doors_codriver":
866 return "DoorsCoDriver";
867 case "doors_cargo1":
868 return "DoorsCargo1";
869 case "doors_cargo2":
870 return "DoorsCargo2";
871 case "doors_hood":
872 return "DoorsHood";
873 case "doors_trunk":
874 return "DoorsTrunk";
875 }
876
877 return "";
878 }
879
880 override bool IsVitalGlowPlug()
881 {
882 return false;
883 }
884
885 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
886 {
887 switch (currentSeat)
888 {
889 case 0:
890 return nextSeat == 1;
891 case 1:
892 return nextSeat == 0;
893 case 2:
894 return nextSeat == 3;
895 case 3:
896 return nextSeat == 2;
897 }
898
899 return false;
900 }
901
902 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
903 {
904 switch (pCurrentSeat)
905 {
906 case 0:
907 return pDoorsSelection == "DoorsDriver";
908 case 1:
909 return pDoorsSelection == "DoorsCoDriver";
910 case 2:
911 return pDoorsSelection == "DoorsCargo1";
912 case 3:
913 return pDoorsSelection == "DoorsCargo2";
914 }
915
916 return false;
917 }
918
919 override void OnDebugSpawn()
920 {
922 SpawnAdditionalItems();
923 FillUpCarFluids();
924
925 GameInventory inventory = GetInventory();
926 inventory.CreateInInventory("Hatchback_02_Wheel");
927 inventory.CreateInInventory("Hatchback_02_Wheel");
928 inventory.CreateInInventory("Hatchback_02_Wheel");
929 inventory.CreateInInventory("Hatchback_02_Wheel");
930
931 inventory.CreateInInventory("Hatchback_02_Door_1_1");
932 inventory.CreateInInventory("Hatchback_02_Door_1_2");
933 inventory.CreateInInventory("Hatchback_02_Door_2_1");
934 inventory.CreateInInventory("Hatchback_02_Door_2_2");
935 inventory.CreateInInventory("Hatchback_02_Hood");
936 inventory.CreateInInventory("Hatchback_02_Trunk");
937
938 //-----IN CAR CARGO
939 inventory.CreateInInventory("Hatchback_02_Wheel");
940 inventory.CreateInInventory("Hatchback_02_Wheel");
941 }
942}
943
944class Hatchback_02_Black : Hatchback_02
945{
946 override void OnDebugSpawn()
947 {
949 SpawnAdditionalItems();
950 FillUpCarFluids();
951
952 GameInventory inventory = GetInventory();
953 inventory.CreateInInventory("Hatchback_02_Wheel");
954 inventory.CreateInInventory("Hatchback_02_Wheel");
955 inventory.CreateInInventory("Hatchback_02_Wheel");
956 inventory.CreateInInventory("Hatchback_02_Wheel");
957
958 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
959 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
960 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
961 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
962 inventory.CreateInInventory("Hatchback_02_Hood_Black");
963 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
964
965 //-----IN CAR CARGO
966 inventory.CreateInInventory("Hatchback_02_Wheel");
967 inventory.CreateInInventory("Hatchback_02_Wheel");
968 }
969}
970
972{
973 override void OnDebugSpawn()
974 {
976 SpawnAdditionalItems();
977 FillUpCarFluids();
978
979 GameInventory inventory = GetInventory();
980 inventory.CreateInInventory("Hatchback_02_Wheel");
981 inventory.CreateInInventory("Hatchback_02_Wheel");
982 inventory.CreateInInventory("Hatchback_02_Wheel");
983 inventory.CreateInInventory("Hatchback_02_Wheel");
984
985 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
986 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
987 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
988 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
989 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
990 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
991
992 //-----IN CAR CARGO
993 inventory.CreateInInventory("Hatchback_02_Wheel");
994 inventory.CreateInInventory("Hatchback_02_Wheel");
995 }
996}
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.