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

◆ SpawnKit()

void GetShelterVariant::SpawnKit ( )

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

142{
143 static const string SITE_OBJECT_TYPE = "ShelterSite";
144
145 void ShelterBase()
146 {
147 m_ShowAnimationsWhenPitched.Insert("Body");
148 m_ShowAnimationsWhenPacked.Insert("Body");
149
150 m_HalfExtents = Vector(0.8, 0.15, 1.3);
151 }
152
153 override void SetActions()
154 {
155 super.SetActions();
156
161
163 }
164
165 override void EEInit()
166 {
167 super.EEInit();
168
169 TryPitch(true, true);
170 }
171
172 void Deconstruct()
173 {
175 SpawnKit();
176 Delete();
177 }
178
179 string GetMaterialPath()
180 {
181 return string.Format("%1 %2 Construction site %3 Materials", CFG_VEHICLESPATH, SITE_OBJECT_TYPE, GetShelterVariant());
182 }
183
184 string GetShelterVariant()
185 {
186 return "";
187 }
188
189 void SpawnKit()
190 {
191 ItemBase constructionKit = ItemBase.Cast(GetGame().CreateObjectEx("ShelterKit", GetPosition(), ECE_PLACE_ON_SURFACE));
192 constructionKit.SetHealth01("", "", GetHealth01());
193 }
194
195 override bool IsPlayerInside(PlayerBase player, string selection)
196 {
197 vector player_pos = player.GetPosition();
198 vector shelter_pos = GetPosition();
199 vector ref_dir = GetDirection();
200 ref_dir[1] = 0;
201 ref_dir.Normalize();
202
203 vector x[2];
204 vector b1,b2;
205 GetCollisionBox(x);
206 b1 = x[0];
207 b2 = x[1];
208
209 vector dir_to_shelter = shelter_pos - player_pos;
210 dir_to_shelter[1] = 0;
211 float len = dir_to_shelter.Length();
212
213 dir_to_shelter.Normalize();
214
215 vector ref_dir_angle = ref_dir.VectorToAngles();
216 vector dir_to_shelter_angle = dir_to_shelter.VectorToAngles();
217 vector test_angles = dir_to_shelter_angle - ref_dir_angle;
218
219 vector test_position = test_angles.AnglesToVector() * len;
220
221 if (test_position[0] < b1[0] || test_position[0] > b2[0] || test_position[2] < 0.2 || test_position[2] > 2.2 )
222 {
223 return false;
224 }
225 else
226 {
227 return true;
228 }
229 }
230}
231
232class ShelterFabric extends ShelterBase
233{
234 override string GetShelterVariant()
235 {
236 return "fabric";
237 }
238}
239
240class ShelterLeather extends ShelterBase
241{
242 override string GetShelterVariant()
243 {
244 return "leather";
245 }
246}
247
248class ShelterStick extends ShelterBase
249{
250 override string GetShelterVariant()
251 {
252 return "stick";
253 }
254}
PlaceObjectActionReciveData ActionReciveData ActionDeployObject()
Определения ActionDeployObject.c:9
ActionPackTentCB ActionContinuousBaseCB ActionPackTent()
Определения ActionPackTent.c:11
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
void RemoveAction(typename actionName)
Определения AdvancedCommunication.c:252
const int ECE_PLACE_ON_SURFACE
Определения CentralEconomy.c:37
Container_Base m_HalfExtents
Icon x
class ShelterBase extends TentBase GetShelterVariant()
Определения Shelter.c:94
override bool IsPlayerInside(PlayerBase player, string selection)
Определения Shelter.c:147
static const string SITE_OBJECT_TYPE
Определения Shelter.c:95
void SpawnKit()
Определения Shelter.c:141
void Deconstruct()
Определения Shelter.c:124
override void EEInit()
Определения Shelter.c:117
override void SetActions()
Определения Shelter.c:105
string GetMaterialPath()
Определения Shelter.c:131
void ShelterBase()
Определения Shelter.c:97
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
override string GetShelterVariant()
Определения Shelter.c:102
Определения Shelter.c:101
static void SpawnConstructionMaterialPiles(notnull EntityAI entity, Man player, string cfg_path, string main_part_name, string damagezone_name="", bool is_base=false)
spawns material from any construction; 'player' parameter optional
Определения Construction.c:1233
proto native float Length()
Returns length of vector (magnitude)
proto float Normalize()
Normalizes vector. Returns length.
proto vector VectorToAngles()
Converts vector to spherical coordinates with radius = 1.
proto vector AnglesToVector()
Converts spherical coordinates (yaw, pitch, roll in degrees) to unit length vector.
Определения EnConvert.c:106
proto native CGame GetGame()
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
const string CFG_VEHICLESPATH
Определения constants.c:220
class JsonUndergroundAreaTriggerData GetPosition
Определения UndergroundAreaLoader.c:9
static proto string Format(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
Gets n-th character from string.

Используется в TentBase::Deconstruct().