39 lines
		
	
	
		
			667 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			667 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| package iron.system;
 | |
| 
 | |
| import kha.StorageFile;
 | |
| 
 | |
| class Storage {
 | |
| 
 | |
| 	static var file: StorageFile = null;
 | |
| 	public static var data(get, set): Dynamic;
 | |
| 	static var _data: Dynamic = null;
 | |
| 
 | |
| 	static function init() {
 | |
| 		file = kha.Storage.defaultFile();
 | |
| 		if (file != null) {
 | |
| 			_data = file.readObject();
 | |
| 			if (_data == null) _data = {};
 | |
| 			save();
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	public static function save() {
 | |
| 		if (file != null) {
 | |
| 			file.writeObject(_data);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	public static function clear() {
 | |
| 		_data = {};
 | |
| 	}
 | |
| 
 | |
| 	public static function set_data(d: Dynamic): Dynamic {
 | |
| 		return _data = d;
 | |
| 	}
 | |
| 
 | |
| 	public static function get_data(): Dynamic {
 | |
| 		if (file == null) init();
 | |
| 		return _data;
 | |
| 	}
 | |
| }
 |