コード例 #1
0
ファイル: LevelEngine.cs プロジェクト: valsavva/dynacat
 public LevelEngine(GameEngine gameEngine, XLevelInfo levelInfo, XLevelScore levelScore)
     : base(gameEngine, levelInfo.File)
 {
     this.LevelInfo  = levelInfo;
     this.LevelScore = levelScore;
     this.cps        = new EventRateCounter(TimeSpan.FromSeconds(game.GameObject.CpsTimeSpan));
 }
コード例 #2
0
        private void LoadScore()
        {
            // TODO: This is a mindfuck, we need to simplify it

            this.ScoreFile = LoadFromContainerOrCreateNew(SaveFileName, () =>
                                                          new XScoreFile()
            {
                LevelScores = this.GameObject.Levels.Select(l =>
                                                            new XLevelScore(l)
                                                            ).ToList()
            }
                                                          );

            this.ScoreFile.GenerateScoreDict();

            this.ScoreFile.LevelScores = this.GameObject.Levels.Select(l => {
                var score = new XLevelScore(l);
                XLevelScore scoreFromFile;
                if (this.ScoreFile.LevelScoreDict.TryGetValue(score.Id, out scoreFromFile))
                {
                    scoreFromFile.CopyTo(score);
                }
                return(score);
            }).ToList();

            this.ScoreFile.GenerateScoreDict();
        }
コード例 #3
0
ファイル: LevelEngine.cs プロジェクト: valsavva/dynacat
        public void SaveNewScore(XLevelScore newScore)
        {
            if (newScore.TotalScore < this.LevelScore.TotalScore)
            {
                return;
            }

            newScore.CopyTo(this.LevelScore);

            game.SaveScore();
        }