AssetManager
- Namespace: Turian.Engine.Core
- Source File: AssetManager.cs
Coordinates opened assets, the active asset, dirty state, and per-asset selection notifications.
Properties
ActiveAsset
(Asset?): Gets the currently active asset.
HasDirtyAssets
(bool): Gets whether any opened asset is currently dirty.
Public Methods
OpenAsset
public bool OpenAsset(Asset? asset)
Opens an asset and makes it the active asset.
Parameters:
asset(Asset?)
Returns: bool
ActivateAsset
public void ActivateAsset(Asset? asset)
Activates an already-open asset, or clears the active asset when null.
Parameters:
asset(Asset?)
CloseAsset
public bool CloseAsset(Asset asset)
Closes an asset and updates the active asset if needed.
Parameters:
asset(Asset)
Returns: bool
SaveAsset
public bool SaveAsset(Asset asset)
Saves an asset and triggers the AssetSaved event.
Parameters:
asset(Asset)
Returns: bool
SaveActiveAsset
public bool SaveActiveAsset()
Saves the currently active asset, if any.
Returns: bool
AlterAsset
public bool AlterAsset(Asset asset)
Alters an asset and triggers the AssetAltered event.
Parameters:
asset(Asset)
Returns: bool
AlterAssetIfOpened
public void AlterAssetIfOpened()
Marks the currently active asset as modified, if any.
AlterAssetIfOpened
public void AlterAssetIfOpened(Guid assetId)
Marks the provided asset as modified, if it is currently opened.
Parameters:
assetId(Guid)
AlterAssetForSelectedNode
public void AlterAssetForSelectedNode()
Marks the currently active asset as modified, if any, and a node is selected.
OpenNode
public void OpenNode(Node? node)
Mark that a node was selected.
Parameters:
node(Node?)
GetSelectedNodeForAsset
public Node? GetSelectedNodeForAsset(Asset? asset)
Gets the node last selected for the specified asset, when available.
Parameters:
asset(Asset?)
Returns: Node?
UpdateSelectedNode
public void UpdateSelectedNode()
Notify listeners that the currently selected node changed internally without changing selection.
RefreshNode
public void RefreshNode(Node? node)
Notify listeners that the provided node changed internally without requiring selection changes.
Parameters:
node(Node?)
OpenIdClass
public void OpenIdClass(IdClass? amObject)
Mark that an IdClass was selected.
Parameters:
amObject(IdClass?)
SaveAllAssets
public void SaveAllAssets()
Save all modified assets.