Skip to main content

Cache

Description:

  A singleton cache instance for various game resources.

Cache.ResourceType

Type: Enumeration.

Description:

  An enum that defines the various types of resources that can be loaded into the cache.

Signature:

enum ResourceType
"Bone"
"Spine"
"Texture"
"SVG"
"Clip"
"Frame"
"Model"
"Particle"
"Shader"
"Font"
"Sound"
end

Cache.ResourceTypeSafeUnload

Type: Enumeration.

Description:

  An enum that defines the various types of resources that can be safely unloaded from the cache.

Signature:

enum ResourceTypeSafeUnload
"Texture"
"SVG"
"Clip"
"Frame"
"Model"
"Particle"
"Shader"
"Font"
"Sound"
"Spine"
end

load

Type: Function.

Description:

  Loads a file into the cache with a blocking operation.

Signature:

load: function(self: Cache, filename: string): boolean

Parameters:

ParameterTypeDescription
filenamestringThe name of the file to load.

Returns:

Return TypeDescription
booleanTrue if the file was loaded successfully, false otherwise.

loadAsync

Type: Function.

Description:

  Loads a file into the cache asynchronously.

Signature:

loadAsync: function(self: Cache, filename: string | {string}, handler?: function(progress: number)): boolean

Usage:

thread(function()
local success = Cache:loadAsync("file.png")
if success then
print("Game resource is loaded into memory")
end
end)

Parameters:

ParameterTypeDescription
filenamesstring{string}
handlerfunction[optional] A callback function that is invoked when the file is loaded. The progress parameter is a number between 0 and 1.

Returns:

Return TypeDescription
booleanTrue if the files were loaded successfully, false otherwise.

update

Type: Function.

Description:

  Updates the content of a file loaded in the cache. If the item of filename does not exist in the cache, a new file content will be added into the cache.

Signature:

update: function(self: Cache, filename: string, content: string)

Parameters:

ParameterTypeDescription
filenamestringThe name of the file to update.
contentstringThe new content for the file.

update

Type: Function.

Description:

  Updates the texture object of the specific filename loaded in the cache. If the texture object of filename does not exist in the cache, it will be added into the cache.

Signature:

update: function(self: Cache, filename: string, texture: Texture2D)

Parameters:

ParameterTypeDescription
filenamestringThe name of the texture to update.
textureTexture2DThe new texture object for the file.

unload

Type: Function.

Description:

  Unloads a resource from the cache.

Signature:

unload: function(self: Cache, type: ResourceTypeSafeUnload): boolean

Parameters:

ParameterTypeDescription
typeResourceTypeSafeUnloadThe type of resource to unload.

Returns:

Return TypeDescription
booleanTrue if the resource was unloaded successfully, false otherwise.

unload

Type: Function.

Description:

  Unloads a resource from the cache.

Signature:

unload: function(self: Cache, filename: string): boolean

Parameters:

ParameterTypeDescription
filenamestringThe name of the file to unload.

Returns:

Return TypeDescription
booleanTrue if the resource was unloaded successfully, false otherwise.

unload

Type: Function.

Description:

  Unloads all resources from the cache.

Signature:

unload: function(self: Cache)

removeUnused

Type: Function.

Description:

  Removes all unused resources (not being referenced) of the given type from the cache.

Signature:

removeUnused: function(self: Cache, type: ResourceType)

Parameters:

ParameterTypeDescription
typeResourceTypeThe type of resource to remove.

removeUnused

Type: Function.

Description:

  Removes all unused resources (not being referenced) from the cache.

Signature:

removeUnused: function(self: Cache)