| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | #if !COMBAT_SERVERusing System.Collections;using System.Collections.Generic;using Fort23.Core;using UnityEngine;using UnityEngine.UI;using Utility;public class AssetHandle :UILoadSpriteHand{    public T AssetObject<T>() where T : Object    {        return (T) _assetObject;    }    private Object _assetObject;    public bool IsRelease;    public AssetLoadTaskBasic Associate;    public AssetInfo AssetInfo;    public bool IsNull()    {        return _assetObject==null;    }    public int count    {        get { return Associate.HandCount; }    }    public void Init(AssetLoadTaskBasic assetLoadTaskBasicBasic, Object assetObject)    {        _assetObject = assetObject;        Associate = assetLoadTaskBasicBasic;    }    public void Release()    {        if (IsRelease)        {            return;        }        IsRelease = true;        Associate?.RemoveAssetHandle(this);    }    public async CTask<AssetHandle>  InstantiateSync(bool isUseSynchronous)    {        if (Associate == null)        {            return null;        }        return await Associate.InstantiateSync(isUseSynchronous);    }    public bool IsActivation()    {        return !IsRelease && _assetObject != null;    }    public void ReleaseUI()    {        Release();    }    public Sprite GetSprite()    {        return AssetObject<Sprite>();    }}#endif
 |