3 ref array<string> loadedProjects;
5 void GetLoadedProjectsResponse(array<string> projects)
7 this.loadedProjects = projects;
12 StartArray(
"Loaded Projects");
13 foreach (
string item : loadedProjects)
23 array<string> addons =
new array<string>;
24 array<string> result =
new array<string>();
27 string addonName, absPath;
29 foreach (
string addon : addons)
34 if(addonName !=
"core")
36 Workbench.GetAbsolutePath(
"$" + addonName +
":", absPath,
false);
37 result.Insert(addonName);
65 private string status;
66 private string message;
67 private string projectName;
68 private string projectPath;
70 void LocateProjectResponse(
string _status,
string _message,
string _projectName,
string _projectPath)
74 projectName = _projectName;
75 projectPath = _projectPath;
80class LocateProject : NetApiHandler
91 array<string> loadedAddons =
new array<string>;
94 foreach (
string addon : loadedAddons)
99 Workbench.GetAbsolutePath(
"$" + addonName +
":", absPath,
false);
100 if (absPath !=
"" && req.path.Contains(absPath))
106 return new LocateProjectResponse(
"ERROR",
string.Format(
"Could not find active project in path \"%1\". Please select a different path.", req.path),
"",
"");
114 string selectedProject;
116 string selectedFolder;
118 void LocatePrefabsFromPathRequest()
120 RegV(
"selectedProject");
122 RegV(
"selectedFolder");
128 private string status;
129 private string message;
130 private ref array<string> prefabsPaths;
132 void LocatePrefabsFromPathResponse(
string _status,
string _message, array<string> paths)
136 prefabsPaths = paths;
140 RegV(
"prefabsPaths");
144class LocatePrefabsFromPath : NetApiHandler
148 return new LocatePrefabsFromPathRequest();
151 override JsonApiStruct GetResponse(JsonApiStruct request)
153 LocatePrefabsFromPathRequest req = LocatePrefabsFromPathRequest.Cast(request);
154 array<string> paths = {};
157 string projectAbsPath;
158 Workbench.GetAbsolutePath(
"$" + req.selectedProject +
":", projectAbsPath,
false);
159 bool folderExists =
false;
160 if (req.selectedFolder.Contains(req.projectPath))
162 string absPath = req.selectedFolder;
163 absPath.Replace(
"\\",
"/");
164 FileIO.FindFiles(paths.Insert, absPath,
".et");
165 if (paths.Count() == 0)
167 string errorMessage =
"Could not find any Prefabs! Does " + req.selectedFolder +
" folder exist in your project? Does " + req.selectedFolder +
" folder contain any prefabs?";
168 return LocatePrefabsFromPathResponse(
"ERROR", errorMessage, null);
173 string errorMessage =
"Could not find any Prefabs! Does " + req.selectedFolder +
" folder exist in your project? Does " + req.selectedFolder +
" folder contain any prefabs?";
174 return LocatePrefabsFromPathResponse(
"ERROR", errorMessage, null);
177 int messageApproxSize;
179 foreach(
string entry : paths)
181 messageApproxSize += entry.Length();
184 if (messageApproxSize > 500000)
186 string errorMessage =
"Too many prefabs! (Approximate size " + (messageApproxSize/1000) +
" kB, limit is 512 kB.) Please try importing a directory containing less prefabs.";
187 return LocatePrefabsFromPathResponse(
"ERROR", errorMessage, null);
190 return LocatePrefabsFromPathResponse(
"OK",
"", paths);
200 void GetPrefabGUIDRequest()
208 private string status;
209 private string message;
212 void GetPrefabGUIDResponse(
string _status,
string _message,
string _guid)
224class GetPrefabGUID : NetApiHandler
228 return new GetPrefabGUIDRequest();
231 override JsonApiStruct
GetResponse(JsonApiStruct request)
233 GetPrefabGUIDRequest req = GetPrefabGUIDRequest.Cast(request);
235 ResourceManager rm = Workbench.GetModule(ResourceManager);
236 MetaFile meta = rm.GetMetaFile(req.prefabPath);
241 return GetPrefabGUIDResponse(
"ERROR",
"Meta file not found!",
"");
245 string name = meta.GetResourceID();
246 string guid = name.Substring(name.IndexOf(
"{") + 1, name.IndexOf(
"}") - 1);
248 return GetPrefabGUIDResponse(
"OK",
"GUID found.", guid);
256 ref array<string> guids;
258 void GetPathToAssetsFromGuidsRequest()
266 ref array<ResourceName> prefabsPaths;
267 ref array<string> invalidGuids;
269 void GetPathToAssetsFromGuidsResponse(array<ResourceName> paths, array<string> _invalidGuids)
271 prefabsPaths = paths;
272 invalidGuids = _invalidGuids;
274 RegV(
"prefabsPaths");
275 RegV(
"invalidGuids");
279class GetPathToAssetsFromGuids : NetApiHandler
283 return new GetPathToAssetsFromGuidsRequest();
286 override JsonApiStruct GetResponse(JsonApiStruct request)
288 GetPathToAssetsFromGuidsRequest req = GetPathToAssetsFromGuidsRequest.Cast(request);
289 array<ResourceName> paths = {};
290 array<string> invalidGuids = {};
292 foreach (
string guid : req.guids)
294 ResourceName guidRes =
"{" + guid +
"}";
297 if (Workbench.GetAbsolutePath(guidRes.GetPath(), abs,
true))
299 if (abs.Contains(
".et"))
305 invalidGuids.Insert(guid);
310 return GetPathToAssetsFromGuidsResponse(paths, invalidGuids);
override JsonApiStruct GetResponse(JsonApiStruct request)
void GetLoadedProjectsResponse(array< string > projects)
GetLoadedProjectsResponse JsonApiStruct GetLoadedProjectsArray()
LocateProjectResponse JsonApiStruct GetRequest()
void LocateProjectRequest()
SCR_AICombatMoveRequestBase GetRequest()
base classes for filtering in server browser