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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

751 : CarScript
752{
756
757 void Hatchback_02()
758 {
759 //m_dmgContactCoef = 0.070;
760
761 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
762 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
763 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
764 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
765 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
766 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
767
768 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
769 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
770
771 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
772 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
773
774 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
775 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
776
777 SetEnginePos("0 0.7 1.4");
778
780 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
781 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
782 }
783
784 void ~Hatchback_02()
785 {
786 m_UTSource = null;
787 m_UTSSettings = null;
788 m_UTSLEngine = null;
789 }
790
791 override void EEInit()
792 {
793 super.EEInit();
794
795 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
796 {
798 m_UTSSettings.m_ManualUpdate = true;
800 m_UTSSettings.m_TemperatureCap = 0;
801 m_UTSSettings.m_RangeFull = 0.5;
802 m_UTSSettings.m_RangeMax = 2;
803
806 }
807 }
808
809 override bool NeedElectricitySourceDevice()
810 {
811 return true;
812 }
813
815 {
816 super.GetElectricitySourceDevice();
817
818 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
819 }
820
821 override string GetElectricitySourceDeviceType()
822 {
823 return "CarBattery";
824 }
825
826 override void OnEngineStart()
827 {
828 super.OnEngineStart();
829
830 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
831 {
832 if (m_UTSource)
833 m_UTSource.SetDefferedActive(true, 20.0);
834 }
835 }
836
837 override void OnEngineStop()
838 {
839 super.OnEngineStop();
840
841 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
842 {
843 if (m_UTSource)
844 m_UTSource.SetDefferedActive(false, 10.0);
845 }
846 }
847
848 override void EOnPostSimulate(IEntity other, float timeSlice)
849 {
850 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
851 {
852 if (m_UTSource && m_UTSource.IsActive())
853 {
855 }
856 }
857 }
858
859 override int GetAnimInstance()
860 {
861 return VehicleAnimInstances.GOLF;
862 }
863
864 override int GetSeatAnimationType(int posIdx)
865 {
866 switch (posIdx)
867 {
868 case 0:
869 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
870 case 1:
871 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
872 case 2:
873 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
874 case 3:
875 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
876 }
877
878 return 0;
879 }
880
881 override bool CanReleaseAttachment(EntityAI attachment)
882 {
883 if (!super.CanReleaseAttachment(attachment))
884 {
885 return false;
886 }
887
888 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
889 {
890 string attType = attachment.GetType();
891 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
892 {
893 return false;
894 }
895 }
896
897 return true;
898 }
899
900 override protected bool CanManipulateSpareWheel(string slotSelectionName)
901 {
902 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
903 }
904
905 override bool CanDisplayAttachmentCategory( string category_name )
906 {
907 //super
908 if ( !super.CanDisplayAttachmentCategory( category_name ) )
909 return false;
910 //
911
912 category_name.ToLower();
913 if ( category_name.Contains("engine") )
914 {
915 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
916 return false;
917 }
918
919 return true;
920 }
921
922 override bool CanDisplayCargo()
923 {
924 if ( !super.CanDisplayCargo() )
925 return false;
926
927 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
928 return false;
929
930 return true;
931 }
932
933 override int GetCarDoorsState(string slotType)
934 {
935 CarDoor carDoor;
936
937 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
938 if (!carDoor)
939 {
940 return CarDoorState.DOORS_MISSING;
941 }
942
943 switch (slotType)
944 {
945 case "Hatchback_02_Door_1_1":
946 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
947
948 case "Hatchback_02_Door_2_1":
949 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
950
951 case "Hatchback_02_Door_1_2":
952 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
953
954 case "Hatchback_02_Door_2_2":
955 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
956
957 case "Hatchback_02_Hood":
958 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
959
960 case "Hatchback_02_Trunk":
961 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
962 }
963
964 return CarDoorState.DOORS_MISSING;
965 }
966
967
968 override bool CrewCanGetThrough(int posIdx)
969 {
970 switch (posIdx)
971 {
972 case 0:
973 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
974 {
975 return false;
976 }
977
978 return true;
979
980 case 1:
981 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
982 {
983 return false;
984 }
985
986 return true;
987
988 case 2:
989 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
990 {
991 return false;
992 }
993
994 return true;
995
996 case 3:
997 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
998 {
999 return false;
1000 }
1001
1002 return true;
1003 }
1004
1005 return false;
1006 }
1007
1008 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1009 {
1010 switch( posIdx )
1011 {
1012 case 0:
1013 return "doors_driver";
1014 break;
1015 case 1:
1016 return "doors_codriver";
1017 break;
1018 case 2:
1019 return "doors_cargo1";
1020 break;
1021 case 3:
1022 return "doors_cargo2";
1023 break;
1024 }
1025
1026 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1027 }
1028
1029 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1030 {
1031 switch( posIdx )
1032 {
1033 case 0:
1034 return "Hatchback_02_Door_1_1";
1035 break;
1036 case 1:
1037 return "Hatchback_02_Door_2_1";
1038 break;
1039 case 2:
1040 return "Hatchback_02_Door_1_2";
1041 break;
1042 case 3:
1043 return "Hatchback_02_Door_2_2";
1044 break;
1045 }
1046
1047 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1048 }
1049
1050 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1051 {
1052 switch (ctrl)
1053 {
1054 case CarSoundCtrl.DOORS:
1055 float newValue = 0;
1056 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1057 {
1058 newValue += 0.25;
1059 }
1060
1061 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1062 {
1063 newValue += 0.25;
1064 }
1065
1066 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1067 {
1068 newValue += 0.25;
1069 }
1070
1071 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1072 {
1073 newValue += 0.25;
1074 }
1075
1076 return Math.Clamp(newValue, 0, 1);
1077 break;
1078 }
1079
1080 return super.OnSound(ctrl, oldValue);
1081 }
1082
1083 override string GetAnimSourceFromSelection( string selection )
1084 {
1085 switch( selection )
1086 {
1087 case "doors_driver":
1088 return "DoorsDriver";
1089 case "doors_codriver":
1090 return "DoorsCoDriver";
1091 case "doors_cargo1":
1092 return "DoorsCargo1";
1093 case "doors_cargo2":
1094 return "DoorsCargo2";
1095 case "doors_hood":
1096 return "DoorsHood";
1097 case "doors_trunk":
1098 return "DoorsTrunk";
1099 }
1100
1101 return "";
1102 }
1103
1104 override bool IsVitalGlowPlug()
1105 {
1106 return false;
1107 }
1108
1109 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1110 {
1111 switch (currentSeat)
1112 {
1113 case 0:
1114 return nextSeat == 1;
1115 case 1:
1116 return nextSeat == 0;
1117 case 2:
1118 return nextSeat == 3;
1119 case 3:
1120 return nextSeat == 2;
1121 }
1122
1123 return false;
1124 }
1125
1126 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1127 {
1128 switch (pCurrentSeat)
1129 {
1130 case 0:
1131 return pDoorsSelection == "DoorsDriver";
1132 case 1:
1133 return pDoorsSelection == "DoorsCoDriver";
1134 case 2:
1135 return pDoorsSelection == "DoorsCargo1";
1136 case 3:
1137 return pDoorsSelection == "DoorsCargo2";
1138 }
1139
1140 return false;
1141 }
1142
1143 override void OnDebugSpawn()
1144 {
1146 SpawnAdditionalItems();
1147 FillUpCarFluids();
1148
1149 GameInventory inventory = GetInventory();
1150 inventory.CreateInInventory("Hatchback_02_Wheel");
1151 inventory.CreateInInventory("Hatchback_02_Wheel");
1152 inventory.CreateInInventory("Hatchback_02_Wheel");
1153 inventory.CreateInInventory("Hatchback_02_Wheel");
1154
1155 inventory.CreateInInventory("Hatchback_02_Door_1_1");
1156 inventory.CreateInInventory("Hatchback_02_Door_1_2");
1157 inventory.CreateInInventory("Hatchback_02_Door_2_1");
1158 inventory.CreateInInventory("Hatchback_02_Door_2_2");
1159 inventory.CreateInInventory("Hatchback_02_Hood");
1160 inventory.CreateInInventory("Hatchback_02_Trunk");
1161
1162 //-----IN CAR CARGO
1163 inventory.CreateInInventory("Hatchback_02_Wheel");
1164 inventory.CreateInInventory("Hatchback_02_Wheel");
1165 }
1166}
1167
1168class Hatchback_02_Black : Hatchback_02
1169{
1170 override void OnDebugSpawn()
1171 {
1173 SpawnAdditionalItems();
1174 FillUpCarFluids();
1175
1176 GameInventory inventory = GetInventory();
1177 inventory.CreateInInventory("Hatchback_02_Wheel");
1178 inventory.CreateInInventory("Hatchback_02_Wheel");
1179 inventory.CreateInInventory("Hatchback_02_Wheel");
1180 inventory.CreateInInventory("Hatchback_02_Wheel");
1181
1182 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1183 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1184 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1185 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1186 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1187 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1188
1189 //-----IN CAR CARGO
1190 inventory.CreateInInventory("Hatchback_02_Wheel");
1191 inventory.CreateInInventory("Hatchback_02_Wheel");
1192 }
1193}
1194
1196{
1197 override void OnDebugSpawn()
1198 {
1200 SpawnAdditionalItems();
1201 FillUpCarFluids();
1202
1203 GameInventory inventory = GetInventory();
1204 inventory.CreateInInventory("Hatchback_02_Wheel");
1205 inventory.CreateInInventory("Hatchback_02_Wheel");
1206 inventory.CreateInInventory("Hatchback_02_Wheel");
1207 inventory.CreateInInventory("Hatchback_02_Wheel");
1208
1209 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1210 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1211 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1212 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1213 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1214 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1215
1216 //-----IN CAR CARGO
1217 inventory.CreateInInventory("Hatchback_02_Wheel");
1218 inventory.CreateInInventory("Hatchback_02_Wheel");
1219 }
1220}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
DayZGame g_Game
Определения DayZGame.c:4074
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:222
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:221
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
Определения MotorbikeScript.c:1425
string m_EngineStartOK
Определения MotorbikeScript.c:89
string m_EngineStartBattery
Определения MotorbikeScript.c:90
string m_EngineStartPlug
Определения MotorbikeScript.c:91
string m_EngineStartFuel
Определения MotorbikeScript.c:92
ref VehicleHornComponent m_HornComponent
Определения MotorbikeScript.c:75
string m_EngineStopFuel
Определения MotorbikeScript.c:94
ref VehicleLightsComponent m_LightsComponent
Определения MotorbikeScript.c:74
string m_EngineStop
Определения MotorbikeScript.c:93
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
void Hatchback_02()
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
Hatchback_02 CarScript OnDebugSpawn()
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.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()
override void OnDebugSpawn()
Определения EnEntity.c:165
Определения EnMath.c:7
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
const int LONG
Определения VehicleHornComponent.c:5
const int SHORT
Определения VehicleHornComponent.c:4
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:856
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.