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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

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