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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

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