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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

715{
719
720 void Hatchback_02()
721 {
722 //m_dmgContactCoef = 0.070;
723
724 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
725 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
726 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
727 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
728 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
729 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
730
731 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
732 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
733
734 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
735 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
736
737 SetEnginePos("0 0.7 1.4");
738 }
739
740 override void EEInit()
741 {
742 super.EEInit();
743
744 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
745 {
747 m_UTSSettings.m_ManualUpdate = true;
749 m_UTSSettings.m_TemperatureCap = 0;
750 m_UTSSettings.m_RangeFull = 0.5;
751 m_UTSSettings.m_RangeMax = 2;
752
755 }
756 }
757
758 override void OnEngineStart()
759 {
760 super.OnEngineStart();
761
762 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
763 {
764 m_UTSource.SetDefferedActive(true, 20.0);
765 }
766 }
767
768 override void OnEngineStop()
769 {
770 super.OnEngineStop();
771
772 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
773 {
774 m_UTSource.SetDefferedActive(false, 10.0);
775 }
776 }
777
778 override void EOnPostSimulate(IEntity other, float timeSlice)
779 {
780 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
781 {
782 if (m_UTSource.IsActive())
783 {
785 }
786 }
787 }
788
789 override int GetAnimInstance()
790 {
791 return VehicleAnimInstances.GOLF;
792 }
793
794 override int GetSeatAnimationType(int posIdx)
795 {
796 switch (posIdx)
797 {
798 case 0:
799 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
800 case 1:
801 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
802 case 2:
803 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
804 case 3:
805 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
806 }
807
808 return 0;
809 }
810
811 // Override for car-specific light type
813 {
814 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
815 }
816
817 // Override for car-specific light type
819 {
820 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
821 }
822
823 override bool CanReleaseAttachment(EntityAI attachment)
824 {
825 if (!super.CanReleaseAttachment(attachment))
826 {
827 return false;
828 }
829
830 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
831 {
832 string attType = attachment.GetType();
833 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
834 {
835 return false;
836 }
837 }
838
839 return true;
840 }
841
842 override protected bool CanManipulateSpareWheel(string slotSelectionName)
843 {
844 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
845 }
846
847 override bool CanDisplayAttachmentCategory( string category_name )
848 {
849 //super
850 if ( !super.CanDisplayAttachmentCategory( category_name ) )
851 return false;
852 //
853
854 category_name.ToLower();
855 if ( category_name.Contains("engine") )
856 {
857 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
858 return false;
859 }
860
861 return true;
862 }
863
864 override bool CanDisplayCargo()
865 {
866 if ( !super.CanDisplayCargo() )
867 return false;
868
869 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
870 return false;
871
872 return true;
873 }
874
875 override int GetCarDoorsState(string slotType)
876 {
877 CarDoor carDoor;
878
879 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
880 if (!carDoor)
881 {
882 return CarDoorState.DOORS_MISSING;
883 }
884
885 switch (slotType)
886 {
887 case "Hatchback_02_Door_1_1":
888 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
889
890 case "Hatchback_02_Door_2_1":
891 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
892
893 case "Hatchback_02_Door_1_2":
894 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
895
896 case "Hatchback_02_Door_2_2":
897 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
898
899 case "Hatchback_02_Hood":
900 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
901
902 case "Hatchback_02_Trunk":
903 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
904 }
905
906 return CarDoorState.DOORS_MISSING;
907 }
908
909
910 override bool CrewCanGetThrough(int posIdx)
911 {
912 switch (posIdx)
913 {
914 case 0:
915 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
916 {
917 return false;
918 }
919
920 return true;
921
922 case 1:
923 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
924 {
925 return false;
926 }
927
928 return true;
929
930 case 2:
931 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
932 {
933 return false;
934 }
935
936 return true;
937
938 case 3:
939 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
940 {
941 return false;
942 }
943
944 return true;
945 }
946
947 return false;
948 }
949
950 override string GetDoorSelectionNameFromSeatPos(int posIdx)
951 {
952 switch( posIdx )
953 {
954 case 0:
955 return "doors_driver";
956 break;
957 case 1:
958 return "doors_codriver";
959 break;
960 case 2:
961 return "doors_cargo1";
962 break;
963 case 3:
964 return "doors_cargo2";
965 break;
966 }
967
968 return super.GetDoorSelectionNameFromSeatPos(posIdx);
969 }
970
971 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
972 {
973 switch( posIdx )
974 {
975 case 0:
976 return "Hatchback_02_Door_1_1";
977 break;
978 case 1:
979 return "Hatchback_02_Door_2_1";
980 break;
981 case 2:
982 return "Hatchback_02_Door_1_2";
983 break;
984 case 3:
985 return "Hatchback_02_Door_2_2";
986 break;
987 }
988
989 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
990 }
991
992 override float OnSound(CarSoundCtrl ctrl, float oldValue)
993 {
994 switch (ctrl)
995 {
996 case CarSoundCtrl.DOORS:
997 float newValue = 0;
998 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
999 {
1000 newValue += 0.25;
1001 }
1002
1003 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1004 {
1005 newValue += 0.25;
1006 }
1007
1008 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1009 {
1010 newValue += 0.25;
1011 }
1012
1013 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1014 {
1015 newValue += 0.25;
1016 }
1017
1018 return Math.Clamp(newValue, 0, 1);
1019 break;
1020 }
1021
1022 return super.OnSound(ctrl, oldValue);
1023 }
1024
1025 override string GetAnimSourceFromSelection( string selection )
1026 {
1027 switch( selection )
1028 {
1029 case "doors_driver":
1030 return "DoorsDriver";
1031 case "doors_codriver":
1032 return "DoorsCoDriver";
1033 case "doors_cargo1":
1034 return "DoorsCargo1";
1035 case "doors_cargo2":
1036 return "DoorsCargo2";
1037 case "doors_hood":
1038 return "DoorsHood";
1039 case "doors_trunk":
1040 return "DoorsTrunk";
1041 }
1042
1043 return "";
1044 }
1045
1046
1047 override bool IsVitalTruckBattery()
1048 {
1049 return false;
1050 }
1051
1052 override bool IsVitalGlowPlug()
1053 {
1054 return false;
1055 }
1056
1057 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1058 {
1059 switch (currentSeat)
1060 {
1061 case 0:
1062 return nextSeat == 1;
1063 case 1:
1064 return nextSeat == 0;
1065 case 2:
1066 return nextSeat == 3;
1067 case 3:
1068 return nextSeat == 2;
1069 }
1070
1071 return false;
1072 }
1073
1074 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1075 {
1076 switch (pCurrentSeat)
1077 {
1078 case 0:
1079 return pDoorsSelection == "DoorsDriver";
1080 case 1:
1081 return pDoorsSelection == "DoorsCoDriver";
1082 case 2:
1083 return pDoorsSelection == "DoorsCargo1";
1084 case 3:
1085 return pDoorsSelection == "DoorsCargo2";
1086 }
1087
1088 return false;
1089 }
1090
1091 override void OnDebugSpawn()
1092 {
1093 SpawnUniversalParts();
1094 SpawnAdditionalItems();
1095 FillUpCarFluids();
1096
1097 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1098 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1099 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1100 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1101
1102 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1103 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1104 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1105 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1106 GetInventory().CreateInInventory("Hatchback_02_Hood");
1107 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1108
1109 //-----IN CAR CARGO
1110 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1111 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1112 }
1113}
1114
1115class Hatchback_02_Black extends Hatchback_02
1116{
1117 override void OnDebugSpawn()
1118 {
1119 SpawnUniversalParts();
1120 SpawnAdditionalItems();
1121 FillUpCarFluids();
1122
1123 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1124 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1125 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1126 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1127
1128 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1129 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1130 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1131 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1132 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1133 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1134
1135 //-----IN CAR CARGO
1136 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1137 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1138 }
1139};
1140
1141class Hatchback_02_Blue extends Hatchback_02
1142{
1143 override void OnDebugSpawn()
1144 {
1145 SpawnUniversalParts();
1146 SpawnAdditionalItems();
1147 FillUpCarFluids();
1148
1149 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1150 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1151 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1152 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1153
1154 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1155 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1156 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1157 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1158 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1159 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1160
1161 //-----IN CAR CARGO
1162 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1163 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1164 }
1165}
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.