예제 #1
0
        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);
        }
예제 #2
0
파일: GameEngine.cs 프로젝트: wlk0/OCTGN
        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();
        }