Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
LayerPresets.c
Go to the documentation of this file.
1class LayerPresetsRequest : JsonApiStruct
2{
3 string Input;
4
5 void LayerPresetsRequest()
6 {
7 RegV("Input");
8 }
9}
10
12{
13 ref array<string> layersPresets;
14
15 void LayerPresetsResponse(array<string> layers)
16 {
17 this.layersPresets = layers;
18 }
19
20 override void OnPack()
21 {
22 StartArray("Layer Presets");
23 foreach (string item : layersPresets)
24 {
25 ItemString(item);
26 }
27 EndArray();
28 }
29}
30
31
32static array<string> GetLayerPresets()
33{
34 // get project setting conf
35 BaseContainer cont = Workbench.GetGameProjectSettings();
36 BaseContainerList config = cont.GetObjectArray(EBTContainerFields.conf);
37
38 cont = config.Get(0);
39 cont = cont.GetObject("PhysicsSettings");
40 cont = cont.GetObject("Interactions");
41 config = cont.GetObjectArray("LayerPresets");
42
43 // getting all LayerPresets
44 BaseContainer contLayerPresets;
45
46 array<string> result = new array<string>();
47
48 for (int i = 0; i < config.Count(); i++; )
49 {
50 contLayerPresets = config.Get(i);
51 //response.Layers += contLayerPresets.GetName() + " ";
52 result.Insert(contLayerPresets.GetName());
53 }
54 return result;
55}
56
57class LayerPresets : NetApiHandler
58{
59 override JsonApiStruct GetRequest()
60 {
61 return new LayerPresetsRequest();
62 }
63
64 override JsonApiStruct GetResponse(JsonApiStruct request)
65 {
66 LayerPresetsRequest req = LayerPresetsRequest.Cast(request);
67 return new LayerPresetsResponse(GetLayerPresets());
68 }
69}
70
71
73{
74 string layer;
75
77 {
78 RegV("layer");
79 }
80}
81
82class GetLayerInteractionResponse : JsonApiStruct
83{
84 ref array<string> layerPresets = new array<string>;
85
87 {
88 RegV("layerPresets");
89 }
90}
91
92class GetLayerInteraction : NetApiHandler
93{
94 override JsonApiStruct GetRequest()
95 {
96 return new GetLayerInteractionRequest();
97 }
98
100 {
103 // opening xob in ResourceManager
104
105 BaseContainer cont = Workbench.GetGameProjectSettings();
106 BaseContainerList projectSettings = cont.GetObjectArray(EBTContainerFields.conf);
107
108 cont = projectSettings.Get(0);
109 cont = cont.GetObject("PhysicsSettings");
110 cont = cont.GetObject("Interactions");
111 BaseContainerList configPresets = cont.GetObjectArray("LayerPresets");
112
113 array<string> layers = {};
114 cont.Get("Layers", layers);
115
116 int index = layers.Find(req.layer);
117 for(int i = 0; i < configPresets.Count(); i++)
118 {
119 BaseContainer layer = configPresets[i];
120 int mask;
121 layer.Get("Mask", mask);
122
123 int shift = mask >> index;
124 int result = shift & 1;
125 if(result)
126 {
127 response.layerPresets.Insert(layer.GetName());
128 }
129 }
130 return response;
131 }
132
133}
134
override JsonApiStruct GetResponse(JsonApiStruct request)
void GetLayerInteractionRequest()
GetLayerInteractionResponse JsonApiStruct GetRequest()
void GetLayerInteractionResponse()
LayerPresets layer
LayerPresetsRequest layersPresets
void LayerPresetsResponse(array< string > layers)
SCR_AICombatMoveRequestBase GetRequest()
override void OnPack()
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
base classes for filtering in server browser