public static void Load(MachineInfo machineInfo)
        {
            Script.FileName = machineInfo.Name;
            if (!machineInfo.MachineData.HasKey("LenchScripterMod-Version"))
            {
                Script.EmbeddedCode = null;
                OnLoadWarning?.Invoke("No embedded code found.");
            }
            else
            {
                var version = new Version(machineInfo.MachineData.ReadString("LenchScripterMod-Version").TrimStart('v'));
                if (version > Assembly.GetExecutingAssembly().GetName().Version)
                {
                    OnLoadWarning?.Invoke($"Loaded code is from a newer version v{version}.\nSome features might be incompatible.");
                }
                if (new Version(2, 0, 0) > version)
                {
                    OnLoadWarning?.Invoke($"Loaded code is from version v{version}.\nLua code is no longer supported.");
                }
                var code = machineInfo.MachineData.ReadString("LenchScripterMod-Code");
                Script.EmbeddedCode = code;
                OnLoadSuccess?.Invoke("Successfully loaded embedded code.");
            }

            Script.SetSource();
        }
    public void PullSave(OnLoadSuccess onLoadSuccess)
    {
        BmobQuery query = new BmobQuery();

        query.WhereEqualTo("username", GameUser.CurrentUser.username);
        bmob.Find <GameUser>(GameUser.TABLE, query, (resp, ex) => {
            if (ex != null)
            {
                print("载入失败, 失败原因为: " + ex.Message);
                return;
            }
            print("载入成功:" + resp.results[0].updatedAt);
            string resSaveData = resp.results[0].SaveData;
            int level          = resp.results[0].Level == null ? 1 : resp.results[0].Level.Get();
            onLoadSuccess(resSaveData, level);
        });
    }