示例#1
0
        /// <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();
            }
        }
示例#4
0
        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;
        }