public void InitializeStatistics(Game game, GameEventAggregator eventAggregator) { String statisticsDefinitionPath = Path.Combine("Statistics", game.Id + ".statistics"); var definitions = _persistenceManager.Load<StatisticDefinitions>(statisticsDefinitionPath, StatisticsModule.StatisticsPersistenceProviderKey); if (definitions == null) return; foreach (var stat in definitions.Statistics) { var uState = _userState.GetStatisticState(stat.Id); stat.State = uState; stat.Initialize(eventAggregator); if (uState == null) _userState.AddState(stat.State); } }
private void EmulatorStarting(IEvent e) { var ese = e as EmulatorStartingEvent; if (ese.Mode != EmulationMode.Playing) return; if (ese.EmulationRunner.Emulator is IDebuggingEmulator) { GameEventAggregator gea = new GameEventAggregator(_eventAggregator, ese.EmulationRunner); foreach (var a in GetAchievements(ese.Game)) { if (!a.IsUnlocked) { AchievementEvaluator evaluator = new AchievementEvaluator(a, gea); evaluator.RegisterHandlers(new AchievementHelpers(a, this, ese.EmulationRunner.Emulator)); } } } }
public AchievementEvaluator(Achievement achievement, GameEventAggregator gameEventAggregator) { _gameEventAggregator = gameEventAggregator; _achievement = achievement; }