SceneCache
Extends: Node
Description
A rolling cache to preload scenes for a better performance Uses the ResourceQueue as described in the Godot documentation
Method Descriptions
_init
func _init(cache_count: int, scene_path: String, permanent_cache: PoolStringArray, cache_max_size: int)
Initialize the cache
** Parameters **
cache_count: The number of scenes to cache before and after the current scene
scene_path: The absolute path where scenes are stored has to include a named group called “index”
permanent_cache: A list of scenes that is cached permanently
cache_max_size: Maximum size of cache (w/o permanent cache) in megabyte
update_progress
func update_progress()
Update the current progress on the waiting screen and emit the queue_complete signal when we’re done
get_scene
func get_scene(path: String) -> PackedScene
Retrieve a scene from the cache. If the scene wasn’t already cached, this function will wait for it to be cached.
** Parameters **
path: The path to the scene
update_cache
func update_cache(current_scene: String) -> int
Update the cache. Start caching new scenes and remove scenes, that are not used anymore
** Parameters **
current_scene: The path and filename of the current scene Returns Number of cached scenes
update_permanent_cache
func update_permanent_cache(scene: String)
Add a scene to the permanent cache Scenes in permanent cache are not handled by cache manager
** Parameters **
scene: scene that is to be added to permanent cache
print_cache_mgr
func print_cache_mgr()
Print content of cache and cache manager to output (for cache verification)
Signals
signal queue_complete(): All pending resources were loaded
Sub-classes
CacheMgmt
Property Descriptions
age
var age: int
Inner class for parameters of cached scenes Indicates the age when the scene was inserted or updated in the cache minus the distance to the current scene
size
var size: float
Inner class for parameters of cached scenes Indicates the age when the scene was inserted or updated in the cache minus the distance to the current scene Size of the textures of the scene (in Megabyte)
Method Descriptions
_init
func _init(age, size)
Constructor