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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

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