public Common.Result GetResult()
        {
            Common.Result result = new Common.Result();
            result.score    = this.score;
            result.maxCombo = this.comboManager.maxCombo;
            float scoreRatio = this.score / (this.notesManager.backUp.Count * this.perfectPoint);

            if (scoreRatio < 0.3f)
            {
                result.scoreRate = Common.SCORERATE.C;
            }
            else if (scoreRatio < 0.6f)
            {
                result.scoreRate = Common.SCORERATE.B;
            }
            else if (scoreRatio < 0.8f)
            {
                result.scoreRate = Common.SCORERATE.A;
            }
            else if (scoreRatio < 0.99f)
            {
                result.scoreRate = Common.SCORERATE.S;
            }
            else
            {
                result.scoreRate = Common.SCORERATE.SS;
            }
            result.perfectCount = this.perfectCount;
            result.greatCount   = this.greatCount;
            result.goodCount    = this.goodCount;
            result.badCount     = this.badCount;
            result.missCount    = this.missCount;

            return(result);
        }
Пример #2
0
        private void LoadRecord()
        {
            if (!File.Exists(this.recordPath + SongDataSender.songData.songName + "/" + SongDataSender.songData.songName + "-" + SongDataSender.difficulty.ToString() + ".csv"))
            {
                Debug.Log(this.name + ": NOCSVFILE " + this.recordPath + SongDataSender.songData.songName + "/" + SongDataSender.songData.songName + "-" + SongDataSender.difficulty.ToString() + ".csv");
                return;
            }

            int maxIndex = 0;

            try
            {
                FileStream   fs     = new FileStream(this.recordPath + SongDataSender.songData.songName + "/" + SongDataSender.songData.songName + "-" + SongDataSender.difficulty.ToString() + ".csv", FileMode.Open, FileAccess.Read);
                StreamReader reader = new StreamReader(fs);

                while (!reader.EndOfStream)
                {
                    string   line   = reader.ReadLine();
                    string[] values = line.Split(',');

                    Common.Result record = new Common.Result(
                        Convert.ToInt32(values[(int)Common.RECORDDATA.INDEX]),
                        Convert.ToInt32(values[(int)Common.RECORDDATA.SCORE]),
                        Convert.ToInt32(values[(int)Common.RECORDDATA.MAXCOMBO]),
                        (Common.SCORERATE)Enum.ToObject(typeof(Common.SCORERATE), Convert.ToInt32(values[(int)Common.RECORDDATA.SCORERATE])),
                        Convert.ToInt32(values[(int)Common.RECORDDATA.PERFECT]),
                        Convert.ToInt32(values[(int)Common.RECORDDATA.GREAT]),
                        Convert.ToInt32(values[(int)Common.RECORDDATA.GOOD]),
                        Convert.ToInt32(values[(int)Common.RECORDDATA.BAD]),
                        Convert.ToInt32(values[(int)Common.RECORDDATA.MISS]));

                    this.recordList.Add(record);

                    if (record.index > maxIndex)
                    {
                        maxIndex = record.index;
                    }
                }

                reader.Close();
                fs.Close();
            }
            catch (System.Exception e)
            {
                Debug.Log(this.name + ": " + e.ToString());
                return;
            }

            SongDataSender.index = maxIndex + 1;
        }
Пример #3
0
        public int GetRank(Common.Result result)
        {
            int rank = 1;

            foreach (Common.Result record in this.recordList)
            {
                if (record.score > result.score)
                {
                    rank++;
                }
            }

            return(rank);
        }
 public void Notify(Common.Result result, List <string> messages)
 {
     if (result == Common.Result.ValidationFailed)
     {
         string title = Common.Message(result);
         string msg   = string.Empty;
         int    count = 1;
         foreach (var item in messages)
         {
             msg   += string.Format("{0}.{1}\n", count, item);
             count += 1;
         }
         MessageBox.Show(msg, title);
     }
     else
     {
         string msg = Common.Message(result);
         MessageBox.Show(msg);
     }
 }
Пример #5
0
        public void RecordResult(Common.Result result)
        {
            if (!Directory.Exists(this.recordPath + SongDataSender.songData.songName))
            {
                Directory.CreateDirectory(this.recordPath + SongDataSender.songData.songName);
            }

            try
            {
                FileStream   fs     = new FileStream(this.recordPath + SongDataSender.songData.songName + "/" + SongDataSender.songData.songName + "-" + SongDataSender.difficulty.ToString() + ".csv", FileMode.Append, FileAccess.Write);
                StreamWriter writer = new StreamWriter(fs);

                StringBuilder sb = new StringBuilder();
                sb.Append(SongDataSender.index.ToString() + ",");
                sb.Append(result.nickname + ",");
                sb.Append(result.score.ToString() + ",");
                sb.Append(result.maxCombo.ToString() + ",");
                sb.Append(((int)result.scoreRate).ToString() + ",");
                sb.Append(result.perfectCount.ToString() + ",");
                sb.Append(result.greatCount.ToString() + ",");
                sb.Append(result.goodCount.ToString() + ",");
                sb.Append(result.badCount.ToString() + ",");
                sb.Append(result.missCount.ToString());
                writer.WriteLine(sb.ToString());

                writer.Close();
                fs.Close();
            }
            catch (System.Exception e)
            {
                Debug.Log(this.name + ": " + e.ToString());
                return;
            }

            SongDataSender.index++;
        }
 public AttachmentResult(Common.Result Result, Attachment Attachment, Ticket Ticket)
 {
     MergeResults(Result);
     this.Attachment = Attachment;
     this.Ticket     = Ticket;
 }
Пример #7
0
        private PatchApplierTest Apply()
        {
            _actualResult = _patchApplier.Apply(String.Empty);

            return this;
        }
Пример #8
0
        private PatchApplierTest AddExpectedResult(Common.Result result)
        {
            _expectedResult = result;

            return this;
        }
Пример #9
0
 private void ProcessExecutionUnsuccessful(Common.Execution.Result executionResult)
 {
     _logger.Write(String.Format("Execution failed - {0}", _action.FilePath));
     _logger.Write(executionResult.Exception.Message);
     _finalResult = executionResult;
 }
Пример #10
0
        private void ProcessExecutionSuccessful()
        {
            var postProcessResult = PostProcess();

            if (postProcessResult.WasSuccessful)
                _finalResult = PatchResult.CreateSuccessfulResult();
            else
                ProcessPostProcessUnsuccessful(postProcessResult);
        }
Пример #11
0
 private void ProcessPreProcessUnsuccessful(PrePatchResult preProcessResult)
 {
     _logger.Write(String.Format("Pre Process failed - {0}", _action.FilePath));
     _logger.Write(preProcessResult.Exception.Message);
     _finalResult = preProcessResult;
 }
Пример #12
0
 private void ProcessLoadUnsuccessful(Common.Loading.LoadResult loadResult)
 {
     _logger.Write(String.Format("Loading failed - {0}", _action.FilePath));
     _logger.Write(loadResult.Exception.Message);
     _finalResult = loadResult;
 }
Пример #13
0
 public TicketResult(Common.Result Result, Ticket Ticket)
 {
     MergeResults(Result);
     this.Ticket = Ticket;
 }
Пример #14
0
 public void Notify(Common.Result result, List <string> messages)
 {
     parent.Notify(result, messages);
 }