示例#1
0
        /// <summary>
        /// Handles the AchievementsUnlocked event of the AchievementContext control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="args">
        ///     The <see cref="Strokes.Core.AchievementsUnlockedEventArgs"/> instance containing the event data.
        /// </param>
        private static void AchievementContext_AchievementsUnlocked(object sender, AchievementsUnlockedEventArgs args)
        {
            if (args.Achievements.Any())
            {
                Debug.WriteLine(string.Format("Achievements unlocked: {0}",
                                              string.Join(", ", args.Achievements.Select(a => "[" + a.Name + "]"))));

                AchievementNotificationBox.ShowAchievements(args.Achievements);
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            ObjectFactory.Configure(a =>
            {
                a.For <IAchievementRepository>()
                .Singleton()
                .Use <AppDataXmlCompletedAchievementsRepository>()
                .Ctor <string>("storageFile")
                .Is("AchievementStorage_ConsoleTest.xml");

                a.For <IAchievementService>()
                .Singleton()
                .Use <SerialStrokesAchievementService>();
            });

            var achievementService = ObjectFactory.GetInstance <IAchievementService>();

            achievementService.LoadAchievementsFrom(typeof(ArrayLengthPropertyAchievement).Assembly);

            notificationBox = new AchievementNotificationBox(achievementService);

            var cultureToTest = "ru-RU"; // Set to "ru-RU" to enable russian. Set to "nl" for dutch

            // Comment the following line to use operating system default culture.
            //Thread.CurrentThread.CurrentUICulture = new CultureInfo(cultureToTest);

            achievementService.AchievementsUnlocked += AchievementContext_AchievementsUnlocked;
            achievementService.ResetAchievementProgress();

            achievementService.StaticAnalysisCompleted += DetectionDispatcher_DetectionCompleted;
            var file = System.IO.Path.GetFullPath("TestFile.cs");

            achievementService.PerformStaticAnalysis(new StaticAnalysisManifest()
            {
                ActiveFile   = file,
                ChangedFiles = new string[] { file },
                CodeFiles    = new string[] { file }
            }, true);

            System.Console.Read();
        }
示例#3
0
        public AchievementPaneViewModel()
        {
            AchievementsOrdered = new ObservableCollection <AchievementsPerCategory>();
            AvailableCultures   = new ObservableCollection <CultureItem>();

            ResetCommand  = new RelayCommand(ResetExecute);
            ToggleCommand = new RelayCommand(ToggleExecute);

            achievementService = ObjectFactory.TryGetInstance <IAchievementService>();
            settingsRepository = ObjectFactory.TryGetInstance <ISettingsRepository>();

            // Solves a design-time issue with StructureMap.
            if (achievementService != null && settingsRepository != null)
            {
                notificationBox = new AchievementNotificationBox(achievementService);
                achievementService.AchievementsUnlocked += AchievementContext_AchievementsUnlocked;

                ReloadViewModel();
                LoadCultures();
            }
        }