Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Файл Shelter.c

См. исходные тексты.

Структуры данных

class  TentBase
 
class  ShelterBase
 

Функции

class ShelterBase extends TentBase GetShelterVariant ()
 
void ShelterBase ()
 
override void SetActions ()
 
override void EEInit ()
 
void Deconstruct ()
 
string GetMaterialPath ()
 
void SpawnKit ()
 
override bool IsPlayerInside (PlayerBase player, string selection)
 

Переменные

static const string SITE_OBJECT_TYPE = "ShelterSite"
 

Функции

◆ Deconstruct()

void Deconstruct ( )

◆ EEInit()

override void EEInit ( )
118{
119 static const string SITE_OBJECT_TYPE = "ShelterSite";
120
121 void ShelterBase()
122 {
123 m_ShowAnimationsWhenPitched.Insert("Body");
124 m_ShowAnimationsWhenPacked.Insert("Body");
125
126 m_HalfExtents = Vector(0.8, 0.15, 1.3);
127 }
128
129 override void SetActions()
130 {
131 super.SetActions();
132
136 RemoveAction(ActionDeployObject);
137
139 }
140
141 override void EEInit()
142 {
143 super.EEInit();
144
145 TryPitch(true, true);
146 }
147
148 void Deconstruct()
149 {
151 SpawnKit();
152 Delete();
153 }
154
155 string GetMaterialPath()
156 {
157 return string.Format("%1 %2 Construction site %3 Materials", CFG_VEHICLESPATH, SITE_OBJECT_TYPE, GetShelterVariant());
158 }
159
160 string GetShelterVariant()
161 {
162 return "";
163 }
164
165 void SpawnKit()
166 {
167 ItemBase constructionKit = ItemBase.Cast(GetGame().CreateObjectEx("ShelterKit", GetPosition(), ECE_PLACE_ON_SURFACE));
168 constructionKit.SetHealth01("", "", GetHealth01());
169 }
170
171 override bool IsPlayerInside(PlayerBase player, string selection)
172 {
173 vector player_pos = player.GetPosition();
175 vector ref_dir = GetDirection();
176 ref_dir[1] = 0;
177 ref_dir.Normalize();
178
179 vector x[2];
180 vector b1,b2;
181 GetCollisionBox(x);
182 b1 = x[0];
183 b2 = x[1];
184
186 dir_to_shelter[1] = 0;
187 float len = dir_to_shelter.Length();
188
189 dir_to_shelter.Normalize();
190
191 vector ref_dir_angle = ref_dir.VectorToAngles();
192 vector dir_to_shelter_angle = dir_to_shelter.VectorToAngles();
194
195 vector test_position = test_angles.AnglesToVector() * len;
196
197 if (test_position[0] < b1[0] || test_position[0] > b2[0] || test_position[2] < 0.2 || test_position[2] > 2.2 )
198 {
199 return false;
200 }
201 else
202 {
203 return true;
204 }
205 }
206}
207
208class ShelterFabric extends ShelterBase
209{
210 override string GetShelterVariant()
211 {
212 return "fabric";
213 }
214}
215
216class ShelterLeather extends ShelterBase
217{
218 override string GetShelterVariant()
219 {
220 return "leather";
221 }
222}
223
224class ShelterStick extends ShelterBase
225{
226 override string GetShelterVariant()
227 {
228 return "stick";
229 }
230}
ActionPackTentCB ActionContinuousBaseCB ActionPackTent()
Definition ActionPackTent.c:11
void AddAction(typename actionName)
Definition AdvancedCommunication.c:220
void RemoveAction(typename actionName)
Definition AdvancedCommunication.c:252
const int ECE_PLACE_ON_SURFACE
Definition CentralEconomy.c:37
Container_Base m_HalfExtents
Icon x
string GetMaterialPath()
Definition Shelter.c:131
class ShelterBase extends TentBase GetShelterVariant()
Definition Shelter.c:94
static const string SITE_OBJECT_TYPE
Definition Shelter.c:95
override void EEInit()
Definition Shelter.c:117
void Deconstruct()
Definition Shelter.c:124
override bool IsPlayerInside(PlayerBase player, string selection)
Definition Shelter.c:147
void SpawnKit()
Definition Shelter.c:141
void ShelterBase()
Definition Shelter.c:97
override void SetActions()
Definition Shelter.c:105
class JsonUndergroundAreaTriggerData GetPosition
Definition UndergroundAreaLoader.c:9
Definition ActionPackShelter.c:2
Definition ActionTogglePlaceObject.c:2
Definition ActionToggleTentOpen.c:2
Definition InventoryItem.c:731
Definition EntityAI.c:95
Definition PlayerBaseClient.c:2
Definition Shelter.c:101
Definition Construction.c:1221
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
Definition Construction.c:1223
Definition 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
Definition constants.c:209
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.

◆ GetMaterialPath()

string GetMaterialPath ( )
132{
133 static const string SITE_OBJECT_TYPE = "ShelterSite";
134
135 void ShelterBase()
136 {
137 m_ShowAnimationsWhenPitched.Insert("Body");
138 m_ShowAnimationsWhenPacked.Insert("Body");
139
140 m_HalfExtents = Vector(0.8, 0.15, 1.3);
141 }
142
143 override void SetActions()
144 {
145 super.SetActions();
146
150 RemoveAction(ActionDeployObject);
151
153 }
154
155 override void EEInit()
156 {
157 super.EEInit();
158
159 TryPitch(true, true);
160 }
161
162 void Deconstruct()
163 {
165 SpawnKit();
166 Delete();
167 }
168
169 string GetMaterialPath()
170 {
171 return string.Format("%1 %2 Construction site %3 Materials", CFG_VEHICLESPATH, SITE_OBJECT_TYPE, GetShelterVariant());
172 }
173
174 string GetShelterVariant()
175 {
176 return "";
177 }
178
179 void SpawnKit()
180 {
181 ItemBase constructionKit = ItemBase.Cast(GetGame().CreateObjectEx("ShelterKit", GetPosition(), ECE_PLACE_ON_SURFACE));
182 constructionKit.SetHealth01("", "", GetHealth01());
183 }
184
185 override bool IsPlayerInside(PlayerBase player, string selection)
186 {
187 vector player_pos = player.GetPosition();
189 vector ref_dir = GetDirection();
190 ref_dir[1] = 0;
191 ref_dir.Normalize();
192
193 vector x[2];
194 vector b1,b2;
195 GetCollisionBox(x);
196 b1 = x[0];
197 b2 = x[1];
198
200 dir_to_shelter[1] = 0;
201 float len = dir_to_shelter.Length();
202
203 dir_to_shelter.Normalize();
204
205 vector ref_dir_angle = ref_dir.VectorToAngles();
206 vector dir_to_shelter_angle = dir_to_shelter.VectorToAngles();
208
209 vector test_position = test_angles.AnglesToVector() * len;
210
211 if (test_position[0] < b1[0] || test_position[0] > b2[0] || test_position[2] < 0.2 || test_position[2] > 2.2 )
212 {
213 return false;
214 }
215 else
216 {
217 return true;
218 }
219 }
220}
221
222class ShelterFabric extends ShelterBase
223{
224 override string GetShelterVariant()
225 {
226 return "fabric";
227 }
228}
229
230class ShelterLeather extends ShelterBase
231{
232 override string GetShelterVariant()
233 {
234 return "leather";
235 }
236}
237
238class ShelterStick extends ShelterBase
239{
240 override string GetShelterVariant()
241 {
242 return "stick";
243 }
244}

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

◆ GetShelterVariant()

override string GetShelterVariant ( )
95 {
96 return "fabric";
97 }

◆ IsPlayerInside()

override bool IsPlayerInside ( PlayerBase player,
string selection )
148{
149 static const string SITE_OBJECT_TYPE = "ShelterSite";
150
151 void ShelterBase()
152 {
153 m_ShowAnimationsWhenPitched.Insert("Body");
154 m_ShowAnimationsWhenPacked.Insert("Body");
155
156 m_HalfExtents = Vector(0.8, 0.15, 1.3);
157 }
158
159 override void SetActions()
160 {
161 super.SetActions();
162
166 RemoveAction(ActionDeployObject);
167
169 }
170
171 override void EEInit()
172 {
173 super.EEInit();
174
175 TryPitch(true, true);
176 }
177
178 void Deconstruct()
179 {
181 SpawnKit();
182 Delete();
183 }
184
185 string GetMaterialPath()
186 {
187 return string.Format("%1 %2 Construction site %3 Materials", CFG_VEHICLESPATH, SITE_OBJECT_TYPE, GetShelterVariant());
188 }
189
190 string GetShelterVariant()
191 {
192 return "";
193 }
194
195 void SpawnKit()
196 {
197 ItemBase constructionKit = ItemBase.Cast(GetGame().CreateObjectEx("ShelterKit", GetPosition(), ECE_PLACE_ON_SURFACE));
198 constructionKit.SetHealth01("", "", GetHealth01());
199 }
200
201 override bool IsPlayerInside(PlayerBase player, string selection)
202 {
203 vector player_pos = player.GetPosition();
205 vector ref_dir = GetDirection();
206 ref_dir[1] = 0;
207 ref_dir.Normalize();
208
209 vector x[2];
210 vector b1,b2;
211 GetCollisionBox(x);
212 b1 = x[0];
213 b2 = x[1];
214
216 dir_to_shelter[1] = 0;
217 float len = dir_to_shelter.Length();
218
219 dir_to_shelter.Normalize();
220
221 vector ref_dir_angle = ref_dir.VectorToAngles();
222 vector dir_to_shelter_angle = dir_to_shelter.VectorToAngles();
224
225 vector test_position = test_angles.AnglesToVector() * len;
226
227 if (test_position[0] < b1[0] || test_position[0] > b2[0] || test_position[2] < 0.2 || test_position[2] > 2.2 )
228 {
229 return false;
230 }
231 else
232 {
233 return true;
234 }
235 }
236}
237
238class ShelterFabric extends ShelterBase
239{
240 override string GetShelterVariant()
241 {
242 return "fabric";
243 }
244}
245
246class ShelterLeather extends ShelterBase
247{
248 override string GetShelterVariant()
249 {
250 return "leather";
251 }
252}
253
254class ShelterStick extends ShelterBase
255{
256 override string GetShelterVariant()
257 {
258 return "stick";
259 }
260}

◆ SetActions()

override void SetActions ( )
109{
110 override string GetShelterVariant()
111 {
112 return "stick";
113 }
114}

◆ ShelterBase()

void ShelterBase ( )
101{
102 override string GetShelterVariant()
103 {

◆ SpawnKit()

void SpawnKit ( )
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
160 RemoveAction(ActionDeployObject);
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();
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
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();
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}

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

Переменные

◆ SITE_OBJECT_TYPE

const string SITE_OBJECT_TYPE = "ShelterSite"
static

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