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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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