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