• AssetDB
  • urlToUuid
  • fspathToUuid
  • uuidToFspath
  • uuidToUrl
  • fspathToUrl
  • urlToFspath
  • exists
  • existsByUuid
  • existsByPath
  • isSubAsset
  • isSubAssetByUuid
  • isSubAssetByPath
  • containsSubAssets
  • containsSubAssetsByUuid
  • containsSubAssetsByPath
  • assetInfo
  • assetInfoByUuid
  • assetInfoByPath
  • subAssetInfos
  • subAssetInfosByUuid
  • subAssetInfosByPath
  • loadMeta
  • loadMetaByUuid
  • loadMetaByPath
  • isMount
  • isMountByPath
  • isMountByUuid
  • mountInfo
  • mountInfoByUuid
  • mountInfoByPath
  • mount
  • attachMountPath
  • unattachMountPath
  • unmount
  • init
  • refresh
  • deepQuery
  • queryAssets
  • queryMetas
  • move
  • delete
  • create
  • saveExists
  • import
  • saveMeta
  • exchangeUuid
  • clearImports
  • register
  • unregister
  • getRelativePath
  • getAssetBackupPath

    AssetDB

    AssetDB singleton class in main process, you can access the instance with Editor.assetdb

    urlToUuid

    Return uuid by url. if uuid not found, it will return null.

    Parameters

    • url string

    Returns string

    fspathToUuid

    Return uuid by file path. if uuid not found, it will return null.

    Parameters

    • fspath string

    Returns string

    uuidToFspath

    Return file path by uuid. if file path not found, it will return null.

    Parameters

    • uuid string

    Returns string

    uuidToUrl

    Return url by uuid. if url not found, it will return null.

    Parameters

    • uuid string

    Returns string

    fspathToUrl

    Return url by file path. if file path not found, it will return null.

    Parameters

    • fspath string

    Returns string

    urlToFspath

    Return file path by url. if url not found, it will return null.

    Parameters

    • url string

    Returns string

    exists

    Check existance by url.

    Parameters

    • url string

    Returns string

    existsByUuid

    Check existance by uuid.

    Parameters

    • uuid string

    Returns string

    existsByPath

    Check existance by path.

    Parameters

    • fspath string

    Returns string

    isSubAsset

    Check whether asset for a given url is a sub asset.

    Parameters

    • url string

    Returns boolean

    isSubAssetByUuid

    Check whether asset for a given uuid is a sub asset.

    Parameters

    • uuid string

    Returns boolean

    isSubAssetByPath

    Check whether asset for a given path is a sub asset.

    Parameters

    • fspath string

    Returns boolean

    containsSubAssets

    Check whether asset contains sub assets for a given url.

    Parameters

    • url string

    Returns boolean

    containsSubAssetsByUuid

    Check whether asset contains sub assets for a given uuid.

    Parameters

    • uuid string

    Returns boolean

    containsSubAssetsByPath

    Check whether asset contains sub assets for a given path.

    Parameters

    • path string
    • fspath

    Returns boolean

    assetInfo

    Return asset info by a given url.

    Parameters

    • url string

    Returns object { uuid, path, url, type, isSubAsset }

    assetInfoByUuid

    Return asset info by a given uuid.

    Parameters

    • uuid string

    Returns object { uuid, path, url, type, isSubAsset }

    assetInfoByPath

    Return asset info by a given file path.

    Parameters

    • fspath string

    Returns object { uuid, path, url, type, isSubAsset }

    subAssetInfos

    Return all sub assets info by url if the url contains sub assets.

    Parameters

    • url string

    Returns array [{ uuid, path, url, type, isSubAsset }]

    subAssetInfosByUuid

    Return all sub assets info by uuid if the uuid contains sub assets.

    Parameters

    • uuid string

    Returns array [{ uuid, path, url, type, isSubAsset }]

    subAssetInfosByPath

    Return all sub assets info by path if the path contains sub assets.

    Parameters

    • fspath string

    Returns array [{ uuid, path, url, type, isSubAsset }]

    loadMeta

    Return meta instance by a given url.

    Parameters

    • url string

    Returns object

    loadMetaByUuid

    Return meta instance by a given uuid.

    Parameters

    • uuid string

    Returns object

    loadMetaByPath

    Return meta instance by a given path.

    Parameters

    • fspath string

    Returns object

    isMount

    Return whether a given url is reference to a mount

    Parameters

    • url string

    Returns boolean

    isMountByPath

    Return whether a given path is reference to a mount

    Parameters

    • fspath string

    Returns boolean

    isMountByUuid

    Return whether a given uuid is reference to a mount

    Parameters

    • uuid string

    Returns boolean

    mountInfo

    Return mount info by url

    Parameters

    • url string

    Returns object { path, name, type }

    mountInfoByUuid

    Return mount info by uuid

    Parameters

    • uuid string

    Returns object { path, name, type }

    mountInfoByPath

    Return mount info by path

    Parameters

    • fspath string

    Returns object { path, name, type }

    mount

    mount a directory to assetdb, and give it a name. if you don’t provide a name, it will mount to root.

    Parameters

    • path string file system path
    • mountPath string the mount path (relative path)
    • opts object options
      • opts.hide object if the mount hide in assets browser
      • opts.virtual object if this is a virtual mount point
      • opts.icon object icon for the mount
    • cb function? a callback function

    Examples

    1. ```js
    2. Editor.assetdb.mount('path/to/mount', 'assets', function (err) {
    3. // mounted, do something ...
    4. });
    5. ```

    attachMountPath

    attach the specified mount path

    Parameters

    • mountPath string the mount path (relative path)
    • cb function? a callback function

    Examples

    1. ```js
    2. Editor.assetdb.attachMountPath('assets', function (err, results) {
    3. // mount path attached, do something ...
    4. // results are the assets created
    5. });
    6. ```

    unattachMountPath

    unattach the specified mount path

    Parameters

    • mountPath string the mount path (relative path)
    • cb function? a callback function

    Examples

    1. ```js
    2. Editor.assetdb.unattachMountPath('assets', function (err, results) {
    3. // mount path unattached, do something ...
    4. // results are the assets deleted
    5. });
    6. ```

    unmount

    Unmount by name

    Parameters

    • mountPath string the mount path
    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.unmount('assets', function (err) {
    3. // unmounted, do something ...
    4. });
    5. ```

    init

    Init assetdb, it will scan the mounted directories, and import unimported assets.

    Parameters

    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.init(function (err, results) {
    3. // assets that imported during init
    4. results.forEach(function ( result ) {
    5. // result.uuid
    6. // result.parentUuid
    7. // result.url
    8. // result.path
    9. // result.type
    10. });
    11. });
    12. ```

    refresh

    Refresh the assets in url, and return the results

    Parameters

    • url string
    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.refresh('db://assets/foo/bar/', function (err, results) {
    3. // assets that imported during init
    4. results.forEach(function ( result ) {
    5. if ( result.command === 'delete' ) {
    6. // result.uuid
    7. // result.url
    8. // result.path
    9. // result.type
    10. } else if ( result.command === 'change' || result.command === 'create' ) {
    11. // result.uuid
    12. // result.parentUuid
    13. // result.url
    14. // result.path
    15. // result.type
    16. } else if ( result.command === 'uuid-change' ) {
    17. // result.oldUuid
    18. // result.uuid
    19. // result.parentUuid
    20. // result.url
    21. // result.path
    22. // result.type
    23. }
    24. });
    25. });
    26. ```

    deepQuery

    deepQuery

    Parameters

    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.deepQuery(function ( err, results ) {
    3. results.forEach(function ( result ) {
    4. // result.name
    5. // result.extname
    6. // result.uuid
    7. // result.type
    8. // result.isSubAsset
    9. // result.children - the array of children result
    10. });
    11. });
    12. ```

    queryAssets

    queryAssets

    Parameters

    • pattern string The url pattern
    • assetTypes (string | array) The asset type(s)
    • cb function? The callback function
    • urlPattern

    Examples

    1. ```js
    2. Editor.assetdb.queryAssets( 'db://assets/**\/*', 'texture', function ( err, results ) {
    3. results.forEach(function ( result ) {
    4. // result.url
    5. // result.path
    6. // result.uuid
    7. // result.type
    8. // result.isSubAsset
    9. });
    10. });
    11. ```

    queryMetas

    queryMetas

    Parameters

    • pattern string The url pattern
    • type string The asset type
    • cb function? The callback function
    • urlPattern
    • assetType

    Examples

    1. ```js
    2. Editor.assetdb.queryAssets( 'db://assets/**\/*', 'texture', function ( err, results ) {
    3. results.forEach(function ( meta ) {
    4. // the meta instance
    5. });
    6. });
    7. ```

    move

    move

    Parameters

    • srcUrl string
    • destUrl string
    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.move( 'db://assets/foo/foobar.png', 'db://assets/bar/foobar.png', function ( err, results ) {
    3. results.forEach(function ( result ) {
    4. // result.srcPath
    5. // result.destPath
    6. // result.uuid
    7. // result.parentUuid
    8. });
    9. });
    10. ```

    delete

    delete

    Parameters

    • urls array
    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.delete( [ 'db://assets/foo/bar.png', 'db://assets/foo/bar.plist' ], function ( err, results ) {
    3. results.forEach(function ( result ) {
    4. // result.srcPath
    5. // result.destPath
    6. // result.uuid
    7. // result.parentUuid
    8. });
    9. });
    10. ```

    create

    Create asset at url with data

    Parameters

    • url string
    • data string
    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.create( 'db://assets/foo/bar.js', data, function ( err, results ) {
    3. results.forEach(function ( result ) {
    4. // result.uuid
    5. // result.parentUuid
    6. // result.url
    7. // result.path
    8. // result.type
    9. });
    10. });
    11. ```

    saveExists

    Save data to the exists asset at url

    Parameters

    • url string
    • data string
    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.saveExists( 'db://assets/foo/bar.js', data, function ( err, meta ) {
    3. // do something
    4. });
    5. ```

    import

    Import raw files to url

    Parameters

    • rawfiles array
    • url string
    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.import( ['/User/user/foo.js', '/User/user/bar.js'], 'db://assets/foobar', function ( err, results ) {
    3. results.forEach(function ( result ) {
    4. // result.uuid
    5. // result.parentUuid
    6. // result.url
    7. // result.path
    8. // result.type
    9. });
    10. });
    11. ```

    saveMeta

    Overwrite the meta by loading it through uuid

    Parameters

    • uuid string
    • jsonString string
    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.saveMeta( uuid, jsonString, function ( err, meta ) {
    3. // do something
    4. });
    5. ```

    exchangeUuid

    Exchange uuid for two assets

    Parameters

    • urlA string
    • urlB string
    • cb function?

    clearImports

    Clear imports

    Parameters

    • url string
    • cb function?

    Examples

    1. ```js
    2. Editor.assetdb.clearImports( 'db://assets/foo/bar.js', function ( err, results ) {
    3. results.forEach(function ( result ) {
    4. // result.uuid
    5. // result.url
    6. // result.path
    7. // result.type
    8. });
    9. });
    10. ```

    register

    Register meta type

    Parameters

    • extname string
    • folder boolean Whether it’s a folder type
    • metaCtor object

    Examples

    1. ```js
    2. Editor.assetdb.register( '.png', false, PngMeta );
    3. ```

    unregister

    Unregister meta type

    Parameters

    • metaCtor object

    Examples

    1. ```js
    2. Editor.assetdb.unregister( PngMeta );
    3. ```

    getRelativePath

    Get the relative path from mount path to the asset by fspath

    Parameters

    • fspath string

    Returns string the relative path from mount path to the asset

    getAssetBackupPath

    get the backup file path of asset file

    Parameters

    • filePath string asset file path