12345678910111213141516171819202122232425262728293031323334 |
- using UnityEngine;
- using YooAsset;
- namespace GFGGame
- {
- public static class SpriteHelper
- {
- /// <summary>
- /// 移除的时候请用RemoveSpriteFrom,否则不会释放资源
- /// </summary>
- /// <param name="spr"></param>
- /// <param name="resPath"></param>
- public static void AddSpriteTo(SpriteRenderer spr, string resPath)
- {
- RemoveSpriteFrom(spr);
- var handle = YooAssets.LoadAssetSync<Sprite>(resPath);
- Sprite sp = handle.AssetObject as Sprite;
- GameObject gameObject = spr.gameObject;
- AssetReleaserHelper.AddReleaserToInstantiateObj(gameObject, resPath, handle);
- spr.sprite = sp;
- }
- public static void RemoveSpriteFrom(SpriteRenderer spr)
- {
- spr.sprite = null;
- AssetReleaser assetReleaser = spr.gameObject.GetComponent<AssetReleaser>();
- if(assetReleaser != null)
- {
- //必须立即销毁,不能改为Destroy代替
- GameObject.DestroyImmediate(assetReleaser);
- }
- }
- }
- }
|