disable_preloader_assets haxedef

When the project contains no assets, excludes asset-related classes for big file size savings
This commit is contained in:
Josh Tynjala
2021-11-18 10:46:07 -08:00
parent e3d49867fb
commit 0ecf27d2d6
4 changed files with 30 additions and 1 deletions

View File

@@ -432,6 +432,10 @@ class AssetHelper
library = new Library(null, DEFAULT_LIBRARY_NAME);
project.libraries.push(library);
}
if(project.assets.length == 0)
{
project.haxedefs.set("disable_preloader_assets", "1");
}
var handlers = new Array<String>();
var hasPackedLibraries = false;

View File

@@ -35,14 +35,18 @@ class Preloader #if flash extends Sprite #end
public var onProgress = new Event<Int->Int->Void>();
@:noCompletion private var bytesLoaded:Int;
#if !disable_preloader_assets
@:noCompletion private var bytesLoadedCache = new Map<AssetLibrary, Int>();
#end
@:noCompletion private var bytesLoadedCache2 = new Map<String, Int>();
@:noCompletion private var bytesTotal:Int;
@:noCompletion private var bytesTotalCache = new Map<String, Int>();
@:noCompletion private var initLibraryNames:Bool;
#if !disable_preloader_assets
@:noCompletion private var libraries:Array<AssetLibrary>;
@:noCompletion private var libraryNames:Array<String>;
@:noCompletion private var loadedLibraries:Int;
#end
@:noCompletion private var loadedStage:Bool;
@:noCompletion private var preloadComplete:Bool;
@:noCompletion private var preloadStarted:Bool;
@@ -58,8 +62,11 @@ class Preloader #if flash extends Sprite #end
bytesLoaded = 0;
bytesTotal = 0;
#if !disable_preloader_assets
libraries = new Array<AssetLibrary>();
libraryNames = new Array<String>();
#end
onProgress.add(update);
@@ -104,6 +111,7 @@ class Preloader #if flash extends Sprite #end
#end
}
#if !disable_preloader_assets
public function addLibrary(library:AssetLibrary):Void
{
libraries.push(library);
@@ -116,17 +124,21 @@ class Preloader #if flash extends Sprite #end
libraryNames.push(name);
}
}
#end
public function load():Void
{
#if !disable_preloader_assets
for (library in libraries)
{
bytesTotal += library.bytesTotal;
}
loadedLibraries = -1;
#end
preloadStarted = false;
#if !disable_preloader_assets
for (library in libraries)
{
Log.verbose("Preloading asset library");
@@ -177,10 +189,12 @@ class Preloader #if flash extends Sprite #end
}
loadedLibraries++;
#end
preloadStarted = true;
updateProgress();
}
#if !disable_preloader_assets
@:noCompletion private function loadedAssetLibrary(name:String = null):Void
{
loadedLibraries++;
@@ -201,6 +215,7 @@ class Preloader #if flash extends Sprite #end
updateProgress();
}
#end
@:noCompletion private function start():Void
{
@@ -227,6 +242,7 @@ class Preloader #if flash extends Sprite #end
onProgress.dispatch(bytesLoaded, bytesTotal);
}
#if !disable_preloader_assets
if (#if flash loadedStage && #end loadedLibraries == libraries.length && !initLibraryNames)
{
initLibraryNames = true;
@@ -291,8 +307,10 @@ class Preloader #if flash extends Sprite #end
});
}
}
#end
if (!simulateProgress && #if flash loadedStage && #end loadedLibraries == (libraries.length + libraryNames.length))
if (!simulateProgress #if flash && loadedStage #end
#if !disable_preloader_assets && loadedLibraries == (libraries.length + libraryNames.length) #end)
{
if (!preloadComplete)
{