AssetManager

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.