DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
UndergroundAreaLoader.c
См. документацию.
2{
4}
5
6
7class JsonUndergroundAreaBreadcrumb
8{
10 {
11 return Vector(Position[0],Position[1],Position[2]);
12 }
13
17 float Radius;
18 bool LightLerp; // only used in LinePointFade
19}
20
22{
24 {
25 return Vector(Position[0],Position[1],Position[2]);
26 }
27
33 {
34 return Vector(Size[0],Size[1],Size[2]);
35 }
36
42 bool UseLinePointFade; // simple fade between points which are defined using existing breadcrumbs array
43 string AmbientSoundType; // type of ambient sound which will be played by sound controller
44
46
47};
48
49
51{
52 private static string m_Path = "$mission:cfgundergroundtriggers.json";
53
55
56
58 {
59 if (!FileExist(m_Path))
60 {
61 // We fallback to check in data and notify user file was not found in mission
62 PrintToRPT("[WARNING] :: [UndergroundAreaLoader GetData()] :: file not found in MISSION folder, your path is " + m_Path + " Attempting DATA folder");
63
64 string worldName;
65 GetGame().GetWorldName(worldName);
66 m_Path = string.Format("dz/worlds/%1/ce/cfgundergroundtriggers.json", worldName);
67
68 if (!FileExist(m_Path))
69 {
70 PrintToRPT("[WARNING] :: [UndergroundAreaLoader GetData()] ::file not found in DATA folder, your path is " + m_Path);
71 return null; // Nothing could be read, just end here
72 }
73 }
74
75 string errorMessage;
77 if (!JsonFileLoader<JsonUndergroundTriggers>.LoadFile(m_Path, data, errorMessage))
78 ErrorEx(errorMessage);
79
80 return data;
81 }
82
83
85 {
86 if (!m_JsonData)
87 {
89 }
90
91 if (!m_JsonData || !m_JsonData.Triggers)
92 {
93 return;
94 }
95
96 foreach (int i, auto data:m_JsonData.Triggers)
97 {
98 SpawnTriggerCarrier(i, data);
99 }
100 }
101
103 {
104
105 UndergroundTriggerCarrierBase carrier = UndergroundTriggerCarrierBase.Cast(GetGame().CreateObjectEx( "UndergroundTriggerCarrier", data.GetPosition(), ECE_NONE ));
106 //Print("spawning trigger carrier at pos :" +data.GetPosition());
107 if (carrier)
108 {
109 carrier.SetIndex(index);
110 carrier.SetOrientation(data.GetOrientation());
111 }
112 }
113
114 //---------------------------------------------------------------------------------------
115 static void SyncDataSend(PlayerIdentity identity)
116 {
117 GetGame().RPCSingleParam(null, ERPCs.RPC_UNDERGROUND_SYNC, new Param1<JsonUndergroundTriggers>(m_JsonData), true, identity);
118 }
119
120 //---------------------------------------------------------------------------------------
121
122 static void OnRPC(ParamsReadContext ctx)
123 {
124 Param1<JsonUndergroundTriggers> data = new Param1< JsonUndergroundTriggers>(null);
125
126 if ( ctx.Read(data) )
127 {
128 m_JsonData = data.param1;
129 }
130 else
131 {
132 ErrorEx("UndergroundAreaLoader datasynced - failed to read");
133 }
134 }
135
136}
const int ECE_NONE
Определения CentralEconomy.c:7
ERPCs
Определения ERPCs.c:2
float EyeAccommodation
Определения UndergroundAreaLoader.c:15
float Radius
Определения UndergroundAreaLoader.c:17
bool LightLerp
Определения UndergroundAreaLoader.c:18
bool UseRaycast
Определения UndergroundAreaLoader.c:16
ref array< float > Position
Определения UndergroundAreaLoader.c:14
proto void GetWorldName(out string world_name)
proto native void RPCSingleParam(Object target, int rpc_type, Param param, bool guaranteed, PlayerIdentity recipient=null)
see CGame.RPC
ref array< ref JsonUndergroundAreaBreadcrumb > Breadcrumbs
Определения UndergroundAreaLoader.c:45
ref array< float > Size
Определения UndergroundAreaLoader.c:39
ref array< float > Position
Определения UndergroundAreaLoader.c:37
ref array< float > Orientation
Определения UndergroundAreaLoader.c:38
ref array< ref JsonUndergroundAreaTriggerData > Triggers
Определения UndergroundAreaLoader.c:3
The class that will be instanced (moddable)
Определения gameplay.c:389
proto bool Read(void value_in)
static void SpawnTriggerCarrier(int index, JsonUndergroundAreaTriggerData data)
Определения UndergroundAreaLoader.c:102
static ref JsonUndergroundTriggers m_JsonData
Определения UndergroundAreaLoader.c:54
static void SyncDataSend(PlayerIdentity identity)
Определения UndergroundAreaLoader.c:115
static string m_Path
Определения UndergroundAreaLoader.c:52
static void OnRPC(ParamsReadContext ctx)
Определения UndergroundAreaLoader.c:122
static void SpawnAllTriggerCarriers()
Определения UndergroundAreaLoader.c:84
static JsonUndergroundTriggers GetData()
Определения UndergroundAreaLoader.c:57
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения EnConvert.c:106
Serializer ParamsReadContext
Определения gameplay.c:15
proto native CGame GetGame()
proto void PrintToRPT(void var)
Prints content of variable to RPT file (performance warning - each write means fflush!...
enum ShapeType ErrorEx
proto bool FileExist(string name)
Check existence of file.
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
class JsonUndergroundAreaTriggerData GetPosition
Определения UndergroundAreaLoader.c:9