public static bool Prefix(string saveFileName) { string fileName = saveFileName; string fileContent = System.IO.File.ReadAllText(GenFilePaths.FilePathForSavedGame(saveFileName)); if (SyncTickData.cliendID == 0) { PirateRPC.PirateRPC.SendInvocation(NetDemo.ns, u => { NetDemo.SetSFD(new NetDemo.SaveFileData() { tcontext = fileContent, partial_name = fileName + "_received" }); PirateRPC.PirateRPC.SendInvocation(u, uu => { NetDemo.LoadFromRemoteSFD(); }); }); LongEventHandler.QueueLongEvent(() => { for (; NetDemo.GetSFD() == null;) { } }, "Downloading savefile".Translate(), true, e => { RimLog.Error(e.ToString()); }); } return(false); }