public bool Save(bool sign, ReplayInfo flag) { if (File.Exists(FileName)) { File.Delete(FileName); } ReplayStream = File.Create(FileName); if (sign && (flag & ReplayInfo.Signed) != ReplayInfo.Signed) { flag |= ReplayInfo.Signed; } Writer = new ReplayWriter(ReplayStream, flag); if (SaveReplay(sign)) { // Writer.Compress(ReplayStream, FileName); ReplayStream.Close(); Writer.Dispose(); //File.Delete(FileName); //File.Move(FileName + ".gz", FileName); if (Directory.Exists(CacheDirectory)) { DeleteDirectory(CacheDirectory); } return(true); } ReplayStream.Close(); Writer.Dispose(); File.Delete(FileName); return(false); }
public void End() { Program.GameMess.OnMessage -= GameMess_OnMessage; SaveHistory(); ReplayWriter?.Dispose(); ReplayEngine?.Dispose(); _logStream?.Dispose(); Program.GameEngine = null; Player.Reset(); Card.Reset(); CardIdentity.Reset(); Selection.Clear(); }