/// <summary> /// 释放资源 /// </summary> /// <param name="resource"></param> public void Unload(AResource resource) { if (resource == null) { throw new ArgumentException($"{nameof(ResourceManager)}.{nameof(Unload)}() {nameof(resource)} is null."); } resource.ReduceReference(); if (resource.reference == 0) { resource.destroyTime = now + resource.delay; WillUnload(resource); } }
/// <summary> /// 释放资源 /// </summary> /// <param name="resource"></param> public void Unload(IResource resource) { if (resource == null) { throw new ArgumentException($"{nameof(ResourceManager)}.{nameof(Unload)}() {nameof(resource)} is null."); } AResource aResource = resource as AResource; aResource.ReduceReference(); if (aResource.reference == 0) { WillUnload(aResource); } }