Editor API
UnigineEditor public API
UnigineAssetManager.h
1 /* Copyright (C) 2005-2025, UNIGINE. All rights reserved.
2 *
3 * This file is a part of the UNIGINE 2 SDK.
4 *
5 * Your use and / or redistribution of this software in source and / or
6 * binary form, with or without modification, is subject to: (i) your
7 * ongoing acceptance of and compliance with the terms and conditions of
8 * the UNIGINE License Agreement; and (ii) your inclusion of this notice
9 * in any version of this software that you use or redistribute.
10 * A copy of the UNIGINE License Agreement is available by contacting
11 * UNIGINE. at http://unigine.com/
12 */
13 // DO NOT EDIT DIRECTLY. This is an auto-generated file. Your changes will be lost.
14 
15 #pragma once
16 
17 #include <UnigineCallback.h>
18 #include <UnigineGUID.h>
19 #include <UniginePtr.h>
20 
21 #include "UnigineEditorGlobal.h"
22 #include "UnigineCollection.h"
23 
24 namespace UnigineEditor
25 {
26 
27 class MountPointParameters;
29 
36 class UNIGINE_EDITOR_API AssetManager
37 {
38 public:
39  static bool isInitialized();
40  // assets
44  static Unigine::UGUID getAssetGUIDFromPath(const char *asset_path);
48  static Unigine::String getAssetPathFromGUID(const Unigine::UGUID &asset_guid);
53  static bool importAssetSync(const char *asset_path, const Unigine::Ptr<Collection> &import_parameters = {});
58  static bool importAssetAsync(const char *asset_path, const Unigine::Ptr<Collection> &import_parameters = {});
63  static bool reimportAssetSync(const char *asset_path, const Unigine::Ptr<Collection> &import_parameters = {});
68  static bool reimportAssetAsync(const char *asset_path, const Unigine::Ptr<Collection> &import_parameters = {});
72  static bool removeAssetSync(const char *asset_path);
76  static bool removeAssetAsync(const char *asset_path);
81  static bool moveAssetSync(const char *old_asset_path, const char *new_asset_path);
86  static bool moveAssetAsync(const char *old_asset_path, const char *new_asset_path);
91  static bool renameAssetSync(const char *asset_path, const char *new_asset_name);
96  static bool renameAssetAsync(const char *asset_path, const char *new_asset_name);
101  static bool copyAssetSync(const char *asset_path, const char *new_asset_path);
106  static bool copyAssetAsync(const char *asset_path, const char *new_asset_path);
110  static bool isAsset(const char *asset_path);
114  static Unigine::Ptr<Collection> getAssetImportParameters(const char *asset_path);
118  static bool isAssetWritable(const char *asset_path);
121  static Unigine::Vector<Unigine::UGUID> getAssetGUIDs();
124  static void getAssetGUIDs(Unigine::Vector<Unigine::UGUID> &asset_guids);
127  static Unigine::Vector<Unigine::String> getAssetPaths();
130  static void getAssetPaths(Unigine::Vector<Unigine::String> &asset_paths);
134  static Unigine::Vector<Unigine::UGUID> getAssetGUIDsForDirectory(const char *directory_path);
138  static void getAssetGUIDsForDirectory(const char *directory_path, Unigine::Vector<Unigine::UGUID> &asset_guids);
142  static Unigine::Vector<Unigine::UGUID> getAssetGUIDsForDirectoryRecursive(const char *directory_path);
146  static void getAssetGUIDsForDirectoryRecursive(const char *directory_path, Unigine::Vector<Unigine::UGUID> &asset_guids);
150  static Unigine::Vector<Unigine::String> getAssetPathsForDirectory(const char *directory_path);
154  static void getAssetPathsForDirectory(const char *directory_path, Unigine::Vector<Unigine::String> &asset_paths);
158  static Unigine::Vector<Unigine::String> getAssetPathsForDirectoryRecursive(const char *directory_path);
162  static void getAssetPathsForDirectoryRecursive(const char *directory_path, Unigine::Vector<Unigine::String> &asset_paths);
166  static Unigine::Vector<Unigine::UGUID> getRuntimeGUIDs(const char *asset_path);
170  static void getRuntimeGUIDs(const char *asset_path, Unigine::Vector<Unigine::UGUID> &runtime_guids);
174  static Unigine::String getRuntimeAlias(const Unigine::UGUID &runtime_guid);
178  static bool isRuntimePrimary(const Unigine::UGUID &runtime_guid);
179  // directories
183  static bool createDirectory(const char *directory_path);
187  static bool removeDirectorySync(const char *directory_path);
191  static bool removeDirectoryAsync(const char *directory_path);
196  static bool moveDirectorySync(const char *old_directory_path, const char *new_directory_path);
201  static bool moveDirectoryAsync(const char *old_directory_path, const char *new_directory_path);
206  static bool renameDirectorySync(const char *directory_path, const char *new_directory_name);
211  static bool renameDirectoryAsync(const char *directory_path, const char *new_directory_name);
216  static bool copyDirectorySync(const char *directory_path, const char *new_directory_path);
221  static bool copyDirectoryAsync(const char *directory_path, const char *new_directory_path);
225  static bool isDirectory(const char *directory_path);
229  static bool isDirectoryWritable(const char *directory_path);
232  static Unigine::Vector<Unigine::String> getDirectoryPathsAll();
235  static void getDirectoryPathsAll(Unigine::Vector<Unigine::String> &directory_paths);
239  static Unigine::Vector<Unigine::String> getDirectoryPaths(const char *directory_path);
243  static void getDirectoryPaths(const char *directory_path, Unigine::Vector<Unigine::String> &directory_paths);
247  static Unigine::Vector<Unigine::String> getDirectoryPathsRecursive(const char *directory_path);
251  static void getDirectoryPathsRecursive(const char *directory_path, Unigine::Vector<Unigine::String> &directory_paths);
252  // mount points
257  static bool createMountPoint(const char *directory_path, const Unigine::Ptr<MountPointParameters> &mount_creation_parameters);
261  static bool removeMountPoint(const char *directory_path);
265  static bool isMountPoint(const char *directory_path);
269  static Unigine::Ptr<MountPointParameters> getMountPointParameters(const char *directory_path);
273  static bool refreshMountPointAsync(const char *directory_path);
274  // file system watcher
283  static void blockAutoRefresh();
292  static void unblockAutoRefresh();
301  static bool isAutoRefreshBlocked();
302  // asset events
309  static Unigine::Event<const char *> &getEventAssetAdded();
311  static Unigine::Event<const char *> &getEventAssetBeforeRemove();
313  static Unigine::Event<const char *> &getEventAssetRemoved();
315  static Unigine::Event<const char *> &getEventAssetChanged();
317  static Unigine::Event<const char *, const char *> &getEventAssetMoved();
318  // directory events
320  static Unigine::Event<const char *> &getEventDirectoryAdded();
322  static Unigine::Event<const char *> &getEventDirectoryBeforeRemove();
324  static Unigine::Event<const char *> &getEventDirectoryRemoved();
326  static Unigine::Event<const char *, const char *> &getEventDirectoryMoved();
327  // process events
329  static Unigine::Event<> &getEventProcessBegin();
331  static Unigine::Event<> &getEventProcessEnd();
332  // utils
341  static Unigine::String generateUniqueWritablePath(const char *path);
344  static bool isExist(const char *path);
345 };
346 
347 
349 class UNIGINE_EDITOR_API MountPointParameters : public Unigine::APIInterface
350 {
351 public:
352  static constexpr bool HAS_OWNERSHIP = true;
353 
354 
356  enum ACCESS
357  {
359  ACCESS_READONLY = 0,
362  };
364  static Unigine::Ptr<MountPointParameters> create();
367  void setAccess(MountPointParameters::ACCESS access);
369  MountPointParameters::ACCESS getAccess() const;
372  void setAbsolutePath(const char *path);
374  const char *getAbsolutePath() const;
378  void addExclusiveFilter(const char *exclusive_filter);
382  Unigine::Vector<Unigine::String> getExclusiveFilters() const;
386  void getExclusiveFilters(Unigine::Vector<Unigine::String> &exclusive_filters) const;
390  void addIgnoreFilter(const char *ignore_filter);
394  Unigine::Vector<Unigine::String> getIgnoreFilters() const;
398  void getIgnoreFilters(Unigine::Vector<Unigine::String> &ignore_filters) const;
399  void addGuidsDBIgnoreFilter(const char *ignore_filter);
400  Unigine::Vector<Unigine::String> getGuidsDBIgnoreFilters() const;
401  void getGuidsDBIgnoreFilters(Unigine::Vector<Unigine::String> &ignore_filters) const;
402 };
403 typedef Unigine::Ptr<MountPointParameters> MountPointParametersPtr;
404 
405 } // namespace UnigineEditor
Read-write mode. The mount point access mode is read-write, files contained in the mounted folder/pac...
Definition: UnigineAssetManager.h:361
ACCESS
Access mode.
Definition: UnigineAssetManager.h:356
This class is used to manage assets in the Editor. You can check if an asset with the specified GUID ...
Definition: UnigineAssetManager.h:36
This class is used to manage parameters of mount points, such as access, path, filters....
Definition: UnigineAssetManager.h:349