72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package kha; | ||
|  | 
 | ||
|  | import js.Boot; | ||
|  | import js.Browser; | ||
|  | import js.lib.Error; | ||
|  | import js.html.audio.DynamicsCompressorNode; | ||
|  | import js.html.ImageElement; | ||
|  | import js.Node; | ||
|  | import js.node.Buffer; | ||
|  | import js.node.Fs; | ||
|  | import kha.FontStyle; | ||
|  | import kha.Blob; | ||
|  | import kha.graphics4.TextureFormat; | ||
|  | import kha.Image; | ||
|  | import kha.Kravur; | ||
|  | import haxe.io.Bytes; | ||
|  | import haxe.io.BytesData; | ||
|  | import js.Lib; | ||
|  | import js.html.XMLHttpRequest; | ||
|  | 
 | ||
|  | class LoaderImpl { | ||
|  | 	public static function getSoundFormats(): Array<String> { | ||
|  | 		return ["nix"]; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function loadSoundFromDescription(desc: Dynamic, done: kha.Sound->Void, failed: AssetError->Void): Void { | ||
|  | 		Node.setTimeout(function() { | ||
|  | 			done(new Sound()); | ||
|  | 		}, 0); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function getImageFormats(): Array<String> { | ||
|  | 		return ["nix"]; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function loadImageFromDescription(desc: Dynamic, done: kha.Image->Void, failed: AssetError->Void): Void { | ||
|  | 		Node.setTimeout(function() { | ||
|  | 			done(new Image(100, 100, TextureFormat.RGBA32)); | ||
|  | 		}, 0); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function getVideoFormats(): Array<String> { | ||
|  | 		return ["nix"]; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function loadVideoFromDescription(desc: Dynamic, done: kha.Video->Void, failed: AssetError->Void): Void { | ||
|  | 		Node.setTimeout(function() { | ||
|  | 			done(new Video()); | ||
|  | 		}, 0); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function loadBlobFromDescription(desc: Dynamic, done: Blob->Void, failed: AssetError->Void): Void { | ||
|  | 		Fs.readFile(desc.files[0], function(error: Error, data: Buffer) { | ||
|  | 			if (error != null) { | ||
|  | 				failed({ | ||
|  | 					url: desc.files[0], | ||
|  | 					error: error, | ||
|  | 				}); | ||
|  | 			} | ||
|  | 			else { | ||
|  | 				done(Blob._fromBuffer(data)); | ||
|  | 			} | ||
|  | 		}); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function loadFontFromDescription(desc: Dynamic, done: Font->Void, failed: AssetError->Void): Void { | ||
|  | 		loadBlobFromDescription(desc, function(blob: Blob) { | ||
|  | 			done(new Kravur(blob)); | ||
|  | 		}, failed); | ||
|  | 	} | ||
|  | } |