/// <summary> /// Converts loaded asset to desired type. /// </summary> protected override ConversionResult ConvertAssetResult(UnityAsset loadedAsset) { if (loadedAsset.Asset is Font) { // if it's a unity font we return null return(new ConversionResult(null)); } // else we return the text mesh pro asset return(new ConversionResult(loadedAsset.Asset)); }
/// <summary> /// Converts loaded asset to desired type. /// </summary> protected virtual ConversionResult ConvertAssetResult(UnityAsset loadedAsset) { if (IsUnityAssetType) { return(new ConversionResult(loadedAsset)); } else { return(new ConversionResult(loadedAsset.Asset)); } }
/// <summary> /// Called when a sprite used by the view has been loaded or unloaded. /// </summary> public override void OnAssetChanged(UnityAsset unityAsset) { base.OnAssetChanged(unityAsset); // is the sprite changed currently used as the background sprite? if (BackgroundImage.Value != null && BackgroundImage.Value.UnityAsset == unityAsset) { // yes. update background BackgroundChanged(); } }
public static void LoadAsset <T>(UnityAsset asset, Action <T> onLoad) where T : UnityEngine.Object { if (asset == null) { onLoad(null); return; } if (asset.AssetBundle == null || asset.AssetBundle.Url == null) { if (asset.AssetName != null) { var obj = Resources.Load(asset.AssetName) as T; onLoad(obj); } return; } Action <UnityEngine.AssetBundle> onReady = (bundle) => { if (bundle != null) { var resp = bundle.LoadAssetAsync <T>(asset.AssetName); resp.completed += (op) => { onLoad(resp.asset as T); }; //onLoad(bundle.LoadAsset<T>(asset.AssetName)); } else { onLoad(null); } }; LoadAssetBundle(asset.AssetBundle, onReady); }
/// <summary> /// Converts loaded asset to desired type. /// </summary> protected override ConversionResult ConvertAssetResult(UnityAsset loadedAsset) { return(new ConversionResult(new SpriteAsset(loadedAsset))); }
void AddSpawnedAsset(ResourceActivationContext context, AssetSpawner resource, UnityAsset asset, GameObject obj) { GameObject rootObject = new GameObject(asset.AssetName); rootObject.transform.position = Vector3.zero; rootObject.transform.localScale = Vector3.one; rootObject.transform.rotation = Quaternion.Euler(Vector3.zero); var worldObj = AddWorldObject(context, obj, rootObject); worldObj.Asset = asset; obj.transform.position = Vector3.zero; obj.transform.localScale = Vector3.one; obj.transform.rotation = Quaternion.Euler(Vector3.zero); obj.transform.SetParent(rootObject.transform); if (resource.SpawnPosition is FixedWorldPosition) { var fixedPos = resource.SpawnPosition as FixedWorldPosition; if (fixedPos.Position != null) { rootObject.transform.position = LayoutHelper.ToVector3(fixedPos.Position); } if (resource.AssetInstance.Layout != null) { LayoutHelper.Apply(obj.transform, resource.AssetInstance.Layout); } } m_objectsById[resource.AssetInstance.Id] = worldObj; }