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