/* 文件名:UserStorage.nut 路径:Core/BaseClass/UserStorage.nut 创建日期:2024-11-14 08:43 文件用途:用户存档类 */ class Storage { Data = null; // 构造函数 constructor() { Data = {}; } //储存数据 function SetItem(Key, Value) { Data.rawset(Key, Value); } //储存数据列表 function SetItemList(T) { foreach(Key, Value in T) { Data.rawset(Key, Value); } } //获取数据 function GetItem(Key) { if (Data.rawin(Key)) return Data.rawget(Key); return null; } //获取数据列表 function GetItemList(KeyList) { local T = {}; foreach(Key in KeyList) { local Buf = GetItem(Key); T.Key <- Buf; } return T; } function Load(Path) { try { local FileObj = file(Path, "r"); local IO = blobex(FileObj.readblob(FileObj.len())); local SaveStr = IO.GetString(IO.len()); Data = Json.Decode(SaveStr); FileObj.close(); return true; } catch (exception) { print("未读取到存档文件"); print(exception); return false; } } function Save(Path) { local SaveStr = Json.Encode(Data); local FileObj = file(Path, "w"); foreach(char in SaveStr) { FileObj.writen(char, 'b'); } FileObj.flush(); FileObj.close(); } }