Example #1
0
        static void PrintUnlocksAchievement(Achievement achievement, int depth)
        {
            for (int i = 0; i < depth; i++)
                Console.Write("\t");
            Console.WriteLine("- " + achievement.Name);

            foreach (var a in achievement.Unlocks)
            {
                PrintUnlocksAchievement(a, depth + 1);
            }
        }
        public static Achievement GetAchievementDto(this Type achievementType, CultureInfo culture)
        {
            var descriptionAttribute = GetDescriptionAttribute(achievementType);
            var assembly = achievementType.Assembly;

            var AchievementResourcesType = assembly.GetType("Strokes.Resources.AchievementResources");
            var categoryResourcesType = assembly.GetType("Strokes.Resources.AchievementCategoryResources");

            var AchievementResources = (ResourceManager)AchievementResourcesType.GetProperty("ResourceManager",
                BindingFlags.Static | BindingFlags.Public).GetValue(null, null);

            var categoryResources = (ResourceManager)categoryResourcesType.GetProperty("ResourceManager",
                BindingFlags.Static | BindingFlags.Public).GetValue(null, null);

            var category = descriptionAttribute.AchievementCategory;
            if (category.StartsWith("@") && category.Length > 1)
                category = categoryResources.GetString(category.Substring(1), culture);

            var title = descriptionAttribute.AchievementTitle;
            if (title.StartsWith("@") && title.Length > 1)
                title = AchievementResources.GetString(title.Substring(1), culture);

            var description = descriptionAttribute.AchievementDescription;
            if (description.StartsWith("@") && description.Length > 1)
                description = AchievementResources.GetString(description.Substring(1), culture);

            Uri hintUri;
            if(!Uri.TryCreate(descriptionAttribute.HintUrl, UriKind.Absolute, out hintUri))
            {
                hintUri = null;
            }

            var descriptor = new Achievement
            {
                Guid = descriptionAttribute.Guid,
                AchievementType = achievementType,
                Category = category,
                Description = description,
                Name = title,
                Image = descriptionAttribute.Image,
                HintUri = hintUri
            };

            return descriptor;
        }
Example #3
0
 public CompletedAchievement(Achievement achievementDescriptor)
 {
     Guid = achievementDescriptor.Guid;
 }
 public void UpdateLocalization(Achievement achievement, CultureInfo culture)
 {
     AchievementRepository.UpdateLocalization(achievement, culture);
 }