|
Terraria v1.4.4.9
Terraria source code documentation
|
Async loading has been fully integrated into AssetRepository Assets which are asynchronously loaded will: More...
Classes | |
| struct | ContinuationScheduler |
Public Member Functions | |
| IAsset[] | GetLoadedAssets () |
| AssetRepository (AssetReaderCollection readers, IEnumerable< IContentSource > sources=null) | |
| virtual void | SetSources (IEnumerable< IContentSource > sources, AssetRequestMode mode=AssetRequestMode.ImmediateLoad) |
| virtual Asset< T > | Request< T > (string assetName, AssetRequestMode mode=AssetRequestMode.AsyncLoad) |
| void | TransferAllAssets () |
| void | TransferCompletedAssets () |
| Asset< T > | CreateUntracked< T > (Stream stream, string name, AssetRequestMode mode=AssetRequestMode.ImmediateLoad) |
| void | Dispose () |
Static Public Member Functions | |
| static void | SetMainThread () |
| static void | ThrowIfNotMainThread () |
Protected Member Functions | |
| IContentSource | FindSourceForAsset (string assetName) |
| virtual void | Dispose (bool disposing) |
Protected Attributes | |
| readonly Dictionary< string, IAsset > | _assets = new Dictionary<string, IAsset>() |
| readonly AssetReaderCollection | _readers |
Package Functions | |
| Asset< T > | Request< T > (string assetName) |
Package Attributes | |
| readonly ConcurrentQueue< Action > | _assetTransferQueue = new ConcurrentQueue<Action>() |
Properties | |
| static bool | IsMainThread [get] |
| IContentSource[] | _sources [get, private set] |
| bool | IsDisposed [get] |
| int | PendingAssets [get] |
| int | TotalAssets [get, private set] |
| int | LoadedAssets [get, private set] |
| bool | IsAsyncLoadingEnabled [get] |
| FailedToLoadAssetCustomAction | AssetLoadFailHandler [get, set] |
Private Member Functions | |
| void | Invoke (Action action) |
| void | ReloadAssetsIfSourceChanged (AssetRequestMode mode) |
| void | LoadAsset< T > (Asset< T > asset, AssetRequestMode mode) |
| async Task | LoadAssetWithPotentialAsync< T > (Asset< T > asset, AssetRequestMode mode) |
| void | SafelyWaitForLoad< T > (Asset< T > asset, Task loadTask, bool tracked) |
| async Task | LoadUntracked< T > (Stream stream, IAssetReader reader, Asset< T > asset, AssetRequestMode mode) |
| void | ForceReloadAsset (IAsset asset, AssetRequestMode mode) |
| void | EnsureReloadActionExistsForType< T > () |
| void | ForceReloadAsset< T > (IAsset asset, AssetRequestMode mode) |
| void | ThrowIfDisposed () |
Private Attributes | |
| readonly Dictionary< Type, Action< IAsset, AssetRequestMode > > | _typeSpecificReloadActions = new Dictionary<Type, Action<IAsset, AssetRequestMode>>() |
| readonly object | _requestLock = new object() |
| bool | _isDisposed |
| int | _Remaining |
Static Private Attributes | |
| static Thread | _mainThread |
Async loading has been fully integrated into AssetRepository Assets which are asynchronously loaded will:
Assets which require main thread creation, but are requested via ImmediateLoad on a worker thread will:
Definition at line 28 of file AssetRepository.cs.