4 private static string m_Path =
"$mission:cfgeffectarea.json";
6 static void CreateZones()
14 PrintToRPT(
"[WARNING] :: [EffectAreaLoader CreateZones] :: No contaminated area file found in MISSION folder, your path is " + m_Path +
" Attempting DATA folder");
18 m_Path =
string.Format(
"dz/worlds/%1/ce/cfgeffectarea.json", m_Path);
22 PrintToRPT(
"[WARNING] :: [EffectAreaLoader CreateZones] :: No contaminated area file found in DATA folder, your path is " + m_Path);
34 for (
int i = 0; i < effectAreaData.Areas.Count(); ++i)
36 EffectAreaParams params =
new EffectAreaParams();
39 params.m_ParamName = effectAreaData.Areas.Get( i ).AreaName;
40 string areaType = effectAreaData.Areas.Get( i ).Type;
41 params.m_ParamTriggerType = effectAreaData.Areas.Get( i ).TriggerType;
45 vector pos =
Vector( data.Pos[0], data.Pos[1], data.Pos[2] );
48 ErrorEx(
string.Format(
"Radius cannot be <= 0. Fix [%1] area definition in cfgeffectarea.json", params.m_ParamName));
52 params.m_ParamRadius = data.Radius;
54 params.m_ParamPosHeight = data.PosHeight;
55 params.m_ParamNegHeight = data.NegHeight;
57 params.m_ParamInnerRings = data.InnerRingCount;
58 params.m_ParamInnerSpace = data.InnerPartDist;
59 params.m_ParamOuterToggle = data.OuterRingToggle;
60 params.m_ParamOuterSpace = data.OuterPartDist;
61 params.m_ParamOuterOffset = data.OuterOffset;
62 params.m_ParamVertLayers = data.VerticalLayers;
63 params.m_ParamVerticalOffset = data.VerticalOffset;
64 string particleName = data.ParticleName;
65 params.m_ParamEffectInterval = data.EffectInterval;
66 params.m_ParamEffectDuration = data.EffectDuration;
67 params.m_ParamEffectModifier = data.EffectModifier;
71 string aroundPartName = playerData.AroundPartName;
72 string tinyPartName = playerData.TinyPartName;
73 string ppeRequesterType = playerData.PPERequesterType;
76 if (particleName !=
"")
77 params.m_ParamPartId =
ParticleList.GetParticleID( particleName );
79 if (aroundPartName !=
"")
80 params.m_ParamAroundPartId =
ParticleList.GetParticleID(aroundPartName);
82 if (tinyPartName !=
"")
83 params.m_ParamTinyPartId =
ParticleList.GetParticleID(tinyPartName);
85 params.m_ParamPpeRequesterType = ppeRequesterType;
96 newZone = EffectArea.Cast(
GetGame().CreateObjectEx(areaType, pos,
ECE_NONE));
100 newZone.SetupZoneData(params);
102 Error(
"[WARNING] :: [EffectAreaLoader CreateZones] :: Cast failed, are you sure your class ( 'Type:' ) inherits from EffectArea and that there are no Typos?");
106 Error(
"[WARNING] :: [EffectAreaLoader CreateZones] :: Data could not be read, please check data and syntax");
113 if (!JsonFileLoader<JsonDataContaminatedAreas>.LoadFile(m_Path, data, errorMessage))
proto native vector Vector(float x, float y, float z)
Vector constructor from components.