示例#1
0
 public void LoadAutosave(string InFilename)
 {
     try
     {
         FileStream File = new FileStream(InFilename, FileMode.Open);
         CurData = ExData.Load(File);
         File.Close();
     }
     catch (System.Exception e)
     {
         Debug.Log("Load autosave exception: " + e.Message);
     }
 }
    public void ReceiveExData(string JudgeGuid, string InData)
    {
        ExData NewExData = ExData.Load(Global.GenerateStreamFromString(InData));

        if (NewExData != null)
        {
            TeamData TData = Global.GetTeamData(NewExData.Division, NewExData.Round, NewExData.Pool, NewExData.Team);
            if (TData != null)
            {
                bool bNewScore = TData.RoutineScores.SetExResults(NewExData);

                OnRecievedResultsData(bNewScore);
            }
        }
    }
示例#3
0
    public override void RecoverAutosave()
    {
        base.RecoverAutosave();

        BackupList.Clear();

        string BackupPath = Application.persistentDataPath + "/Backup";

        string[] Files = Directory.GetFiles(BackupPath);
        foreach (string filename in Files)
        {
            if (filename.Contains("ExBackup"))
            {
                BackupExData backup = new BackupExData();
                try
                {
                    FileStream BackupFile = new FileStream(filename, FileMode.Open);
                    backup.Data     = ExData.Load(BackupFile);
                    backup.Filename = filename;
                    BackupFile.Close();
                }
                catch (System.Exception e)
                {
                    Debug.Log("Load autosave exception: " + e.Message);
                }

                backup.WrittenTime = File.GetLastWriteTime(filename);
                BackupList.Add(backup);
            }
        }

        BackupList.Sort(
            delegate(BackupExData b1, BackupExData b2)
        {
            if (b1 == b2)
            {
                return(0);
            }
            else if (b1.WrittenTime < b2.WrittenTime)
            {
                return(1);
            }
            else
            {
                return(-1);
            }
        });

        // Delete old backup files
        if (BackupList.Count > Global.MaxBackupFileCount)
        {
            for (int FileIndex = Global.MaxBackupFileCount; FileIndex < BackupList.Count; ++FileIndex)
            {
                try
                {
                    File.Delete(BackupList[FileIndex].Filename);
                }
                catch (System.Exception e)
                {
                    Debug.Log("Delete old backup files exception: " + e.Message);
                }
            }

            while (BackupList.Count > Global.MaxBackupFileCount)
            {
                BackupList.RemoveAt(Global.MaxBackupFileCount);
            }
        }
    }