forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			851 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			851 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
package kha;
 | 
						|
 | 
						|
import haxe.io.Bytes;
 | 
						|
import haxe.io.BytesBuffer;
 | 
						|
import haxe.io.BytesData;
 | 
						|
 | 
						|
using StringTools;
 | 
						|
 | 
						|
class KromStorageFile extends StorageFile {
 | 
						|
	var name: String;
 | 
						|
 | 
						|
	public function new(name: String) {
 | 
						|
		this.name = name;
 | 
						|
	}
 | 
						|
 | 
						|
	override public function read(): Blob {
 | 
						|
		var data: BytesData = Krom.readStorage(name);
 | 
						|
		return data != null ? Blob.fromBytes(Bytes.ofData(data)) : null;
 | 
						|
	}
 | 
						|
 | 
						|
	override public function write(data: Blob): Void {
 | 
						|
		if (data != null) {
 | 
						|
			Krom.writeStorage(name, data.toBytes().getData());
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
class Storage {
 | 
						|
	public static function namedFile(name: String): StorageFile {
 | 
						|
		name = name.replace("\\", ".");
 | 
						|
		name = name.replace("/", ".");
 | 
						|
		return new KromStorageFile(name);
 | 
						|
	}
 | 
						|
 | 
						|
	public static function defaultFile(): StorageFile {
 | 
						|
		return namedFile("default.kha");
 | 
						|
	}
 | 
						|
}
 |