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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

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