Class ContentDatabaseModule
Manages assets database and searches for workspace directory changes.
Inheritance
Namespace: FlaxEditor.Modules
Assembly: FlaxEngine.CSharp.dll
Syntax
public sealed class ContentDatabaseModule : EditorModule
Fields
Projects
The list of all projects workspace directories (including game, engine and plugins projects).
Declaration
public readonly List<ProjectTreeNode> Projects
Field Value
System.Collections.Generic.List<ProjectTreeNode>
|
Proxy
The list with all content items proxy objects. Use AddProxy(ContentProxy, Boolean) and RemoveProxy(ContentProxy, Boolean) to modify this or Rebuild(Boolean) to refresh database when adding new item proxy types.
Declaration
public readonly List<ContentProxy> Proxy
Field Value
System.Collections.Generic.List<FlaxEditor.Content.ContentProxy>
|
Properties
Engine
The engine directory.
Declaration
public ProjectTreeNode Engine { get; }
Property Value
ProjectTreeNode
|
Game
The project directory.
Declaration
public ProjectTreeNode Game { get; }
Property Value
ProjectTreeNode
|
ItemsCreated
Gets the amount of created items.
Declaration
public int ItemsCreated { get; }
Property Value
System.Int32
|
ItemsDeleted
Gets the amount of deleted items.
Declaration
public int ItemsDeleted { get; }
Property Value
System.Int32
|
Methods
AddProxy(ContentProxy, Boolean)
Adds the proxy.
Declaration
public void AddProxy(ContentProxy proxy, bool rebuild = false)
Parameters
FlaxEditor.Content.ContentProxy
proxy
The proxy type. |
System.Boolean
rebuild
Should rebuild entire database after addition. |
Copy(ContentItem, String)
Copies the specified item to the target location. Handles copying whole directories and single assets.
Declaration
public void Copy(ContentItem item, string targetPath)
Parameters
FlaxEditor.Content.ContentItem
item
The item. |
System.String
targetPath
The target item path. |
Delete(ContentItem, Boolean)
Deletes the specified item.
Declaration
public void Delete(ContentItem item, bool deletedByUser = false)
Parameters
FlaxEditor.Content.ContentItem
item
The item. |
System.Boolean
deletedByUser
If the file was deleted by the user and not outside the editor. |
Find(Guid)
Tries to find item with the specified ID.
Declaration
public ContentItem Find(Guid id)
Parameters
System.Guid
id
The item ID. |
Returns
FlaxEditor.Content.ContentItem
Found item or null if cannot find it. |
Find(String)
Tries to find item at the specified path.
Declaration
public ContentItem Find(string path)
Parameters
System.String
path
The path. |
Returns
FlaxEditor.Content.ContentItem
Found item or null if cannot find it. |
FindAsset(Guid)
Tries to find asset with the specified ID.
Declaration
public AssetItem FindAsset(Guid id)
Parameters
System.Guid
id
The asset ID. |
Returns
FlaxEditor.Content.AssetItem
Found asset item or null if cannot find it. |
FindScript(Guid)
Tries to find script item with the specified ID.
Declaration
public ScriptItem FindScript(Guid id)
Parameters
System.Guid
id
The item ID. |
Returns
ScriptItem
Found script or null if cannot find it. |
FindScript(String)
Tries to find script item at the specified path.
Declaration
public ScriptItem FindScript(string path)
Parameters
System.String
path
The path. |
Returns
ScriptItem
Found script or null if cannot find it. |
FindScriptWitScriptName(ScriptType)
Tries to find script item that is used by the specified script type.
Declaration
public ScriptItem FindScriptWitScriptName(ScriptType scriptType)
Parameters
FlaxEditor.Scripting.ScriptType
scriptType
The type of the script. |
Returns
ScriptItem
Found script or null if cannot find it. |
FindScriptWitScriptName(Script)
Tries to find script item that is used by the specified script object.
Declaration
public ScriptItem FindScriptWitScriptName(Script script)
Parameters
Script
script
The instance of the script. |
Returns
ScriptItem
Found script or null if cannot find it. |
FindScriptWitScriptName(String)
Tries to find script item with the specified name.
Declaration
public ScriptItem FindScriptWitScriptName(string scriptName)
Parameters
System.String
scriptName
The name of the script. |
Returns
ScriptItem
Found script or null if cannot find it. |
GetAssetProxy(String, String)
Gets the proxy object for the given asset type id.
Declaration
public AssetProxy GetAssetProxy(string typeName, string path)
Parameters
System.String
typeName
The asset type name. |
System.String
path
The asset path. |
Returns
FlaxEditor.Content.AssetProxy
Asset proxy or null if cannot find. |
GetAssetVirtualProxy(String)
Gets the virtual proxy object from given path.
Declaration
public AssetProxy GetAssetVirtualProxy(string path)
Parameters
System.String
path
The asset path. |
Returns
FlaxEditor.Content.AssetProxy
Asset proxy or null if cannot find. |
GetProjectWorkspace(ProjectInfo)
Gets the project workspace used by the given project.
Declaration
public ProjectTreeNode GetProjectWorkspace(ProjectInfo project)
Parameters
ProjectInfo
project
The project. |
Returns
ProjectTreeNode
The project workspace or null if not loaded into database. |
GetProxy(ContentItem)
Gets the proxy object for the given content item.
Declaration
public ContentProxy GetProxy(ContentItem item)
Parameters
FlaxEditor.Content.ContentItem
item
The item. |
Returns
FlaxEditor.Content.ContentProxy
Content proxy for that item or null if cannot find. |
GetProxy(String)
Gets the proxy object for the given file extension. Warning! Different asset types may share the same file extension.
Declaration
public ContentProxy GetProxy(string extension)
Parameters
System.String
extension
The file extension. |
Returns
FlaxEditor.Content.ContentProxy
Content proxy for that item or null if cannot find. |
GetProxy<T>()
Gets the proxy object for the given asset type.
Declaration
public ContentProxy GetProxy<T>()
where T : Asset
Returns
FlaxEditor.Content.ContentProxy
Content proxy for that asset type or null if cannot find. |
Type Parameters
T
|
Move(ContentItem, ContentFolder)
Moves the specified item to the different location. Handles moving whole directories and single assets.
Declaration
public void Move(ContentItem item, ContentFolder newParent)
Parameters
FlaxEditor.Content.ContentItem
item
The item. |
FlaxEditor.Content.ContentFolder
newParent
The new parent. |
Move(ContentItem, String)
Moves the specified item to the different location. Handles moving whole directories and single assets.
Declaration
public void Move(ContentItem item, string newPath)
Parameters
FlaxEditor.Content.ContentItem
item
The item. |
System.String
newPath
The new path. |
Move(List<ContentItem>, ContentFolder)
Moves the specified items to the different location. Handles moving whole directories and single assets.
Declaration
public void Move(List<ContentItem> items, ContentFolder newParent)
Parameters
System.Collections.Generic.List<FlaxEditor.Content.ContentItem>
items
The items. |
FlaxEditor.Content.ContentFolder
newParent
The new parent. |
OnExit()
Declaration
public override void OnExit()
Overrides
OnInit()
Declaration
public override void OnInit()
Overrides
OnUpdate()
Declaration
public override void OnUpdate()
Overrides
Rebuild(Boolean)
Rebuilds the whole database (eg. when adding custom item types from plugin).
Declaration
public void Rebuild(bool immediate = false)
Parameters
System.Boolean
immediate
True if rebuild now, otherwise will be scheduled for the next editor update (eg. to batch multiple rebuilds within a frame). |
RefreshFolder(ContentItem, Boolean)
Refreshes the given item folder. Tries to find new content items and remove not existing ones.
Declaration
public void RefreshFolder(ContentItem item, bool checkSubDirs)
Parameters
FlaxEditor.Content.ContentItem
item
Folder to refresh |
System.Boolean
checkSubDirs
True if search for changes inside a subdirectories, otherwise only top-most folder will be updated |
RemoveProxy(ContentProxy, Boolean)
Removes the proxy.
Declaration
public void RemoveProxy(ContentProxy proxy, bool rebuild = false)
Parameters
FlaxEditor.Content.ContentProxy
proxy
The proxy type. |
System.Boolean
rebuild
Should rebuild entire database after removal. |
Events
ItemAdded
Occurs when new items is added to the workspace content database.
Declaration
public event Action<ContentItem> ItemAdded
Event Type
System.Action<FlaxEditor.Content.ContentItem>
|
ItemRemoved
Occurs when new items is removed from the workspace content database.
Declaration
public event Action<ContentItem> ItemRemoved
Event Type
System.Action<FlaxEditor.Content.ContentItem>
|
WorkspaceModified
Occurs when workspace has been modified.
Declaration
public event Action WorkspaceModified
Event Type
System.Action
|
WorkspaceRebuilding
Occurs when workspace has will be rebuilt.
Declaration
public event Action WorkspaceRebuilding
Event Type
System.Action
|
WorkspaceRebuilt
Occurs when workspace has been rebuilt.
Declaration
public event Action WorkspaceRebuilt
Event Type
System.Action
|