Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Request< T >() [2/2]

virtual Asset< T > ReLogic.Content.AssetRepository.Request< T > ( string assetName,
AssetRequestMode mode = AssetRequestMode::AsyncLoad )
inlinevirtual

Implements ReLogic.Content.IAssetRepository.

Type Constraints
T :class 

Definition at line 154 of file AssetRepository.cs.

154 : class
155 {
156 if (_readers == null)
157 {
158 mode = AssetRequestMode.DoNotLoad;
159 }
161 assetName = AssetPathHelper.CleanPath(assetName);
162 Asset<T> asset = null;
164 {
166 {
167 asset = value as Asset<T>;
168 }
169 if (asset == null)
170 {
171 asset = new Asset<T>(assetName);
172 _assets[assetName] = asset;
173 }
174 if (asset.State == AssetState.NotLoaded)
175 {
177 LoadAsset(asset, mode);
178 }
179 }
180 if (mode == AssetRequestMode.ImmediateLoad)
181 {
182 asset.Wait();
183 }
184 return asset;
185 }
readonly AssetReaderCollection _readers
readonly Dictionary< string, IAsset > _assets
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)

References ReLogic.Content.AssetRepository._assets, ReLogic.Content.AssetRepository._readers, ReLogic.Content.AssetRepository._requestLock, ReLogic.Content.AssetPathHelper.CleanPath(), ReLogic.Content.AssetRepository.EnsureReloadActionExistsForType< T >(), ReLogic.Content.AssetRepository.ThrowIfDisposed(), System.Collections.Generic.Dictionary< TKey, TValue >.TryGetValue(), and System.value.