Class AssetBundleTemplate
- Namespace
- Nautilus.Assets.PrefabTemplates
- Assembly
- Nautilus.dll
A PrefabTemplate used for loading objects in from asset bundles
public class AssetBundleTemplate : PrefabTemplate
- Inheritance
-
AssetBundleTemplate
- Inherited Members
- Extension Methods
Constructors
AssetBundleTemplate(string, string, PrefabInfo, Assembly)
Instantiates a new AssetBundleTemplate. Automatically loads the bundle by calling LoadFromAssetsFolder(Assembly, string),
which expects the bundle to be in your mod's Assets folder.
Also caches the loaded bundle for future use.
If you are loading and using your bundle on your own, it's highly recommended to use the AssetBundle constructor overload instead.
Bundles are cached per Assembly, and won't work with mods that use multiple seperate bundles.
public AssetBundleTemplate(string assetBundleFileName, string prefabName, PrefabInfo info, Assembly modAssembly = null)
Parameters
assetBundleFileNamestring- The file name of the asset bundle. These often do not have file extensions.
prefabNamestring- The name of the prefab GameObject to load from the bundle.
infoPrefabInfo- The prefab info to base this template off of.
modAssemblyAssembly- The Assembly of the mod that contains the given Asset Bundle. If left unassigned, this will be automatically set to GetCallingAssembly().
AssetBundleTemplate(AssetBundle, string, PrefabInfo)
Instantiates a new AssetBundleTemplate
public AssetBundleTemplate(AssetBundle bundle, string prefabName, PrefabInfo info)
Parameters
bundleAssetBundle- The AssetBundle to load the asset from
prefabNamestring- The name of the prefab game object to load from the bundle
infoPrefabInfo- The prefab info to base this template off of.
Properties
Prefab
A reference to the loaded prefab for modification purposes. This points directly to the prefab contained in the Asset Bundle.
public GameObject Prefab { get; }
Property Value
- GameObject
Methods
GetPrefabAsync(TaskResult<GameObject>)
Gets a prefab of this template type. The returned object can be accessed via TaskResult<T>.Get().
public override IEnumerator GetPrefabAsync(TaskResult<GameObject> gameObject)
Parameters
gameObjectTaskResult<GameObject>- The prefab computation result is set into this argument.
If the provided task result already has a game object set to it, it will try to set the necessary components first. Otherwise; sets a default implementation of this entity type.
Returns
- IEnumerator
- A coroutine operation. Must be used with either
yield return, or StartCoroutine(IEnumerator).