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

◆ GetMaterialPath()

string GetShelterVariant::GetMaterialPath ( )

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

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
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();
188 vector shelter_pos = 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
199 vector dir_to_shelter = shelter_pos - player_pos;
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();
207 vector test_angles = dir_to_shelter_angle - ref_dir_angle;
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}
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().