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");
|
||
|
}
|
||
|
}
|