Пример #1
0
        internal static void DrawUsables(AchievementList achievements, Grid grid)
        {
            int BlockMax = grid.GridMax;
            int BlockMin = grid.GridMin;

            var achieveBox = new Draw(BlockMin, BlockMax);

            // TITLE
            achieveBox.BoxTop();
            achieveBox.BoxTitle("Achievements");
            achieveBox.BoxMiddleBreak();
            // ACHIEVEMENTS
            achieveBox.BoxInventorySubHeader("Completed: ");
            foreach (var achieve in achievements.CompletedAchievements)
            {
                achieveBox.BoxItemGenericAchievement(achieve.Achievement.AchievementName);
                achieveBox.BoxItemGenericAchievementAttribute("Points", achieve.Achievement.PointValue);
                achieveBox.BoxItemGenericAchievementAttribute(achieve.TimeCompleted);
            }
            achieveBox.BoxMiddleBreak();
            achieveBox.BoxTitle($"Total Points: {achievements.GetTotalPoints()}");
            achieveBox.BoxMiddleBreak();
            if (achievements.DefeatedMonsters.Any())
            {
                achieveBox.BoxInventorySubHeader("Monsters Killed: ");
                foreach (var monster in achievements.DefeatedMonsters)
                {
                    achieveBox.BoxItemGenericMonster(monster.Name, "Difficulty", monster.Difficulty);
                }
            }
            achieveBox.BoxEnd();
        }
Пример #2
0
 public static HashSet <AchievementCard> GetLongTickCards()
 {
     if (tickerAchievements.EnumerableNullOrEmpty())
     {
         tickerAchievements.AddRange(AchievementList.Where(a => a.tracker.AttachToLongTick != null && !a.unlocked));
     }
     return(tickerAchievements);
 }
Пример #3
0
 public void Reset()
 {
     _achievementList = new AchievementList {
         Achievements = new List <IAchievement>()
     };
     RegisterAchievements();
     SaveAchievements();
 }
Пример #4
0
    /// <summary>
    /// 读取成就配置文件
    /// </summary>
    /// <param name="fileName">成就配置文件名字</param>
    /// <returns></returns>
    public static AchievementList GetAchievement(string fileName)
    {
        string          path         = VariablePath.Config_Achievement + fileName;
        string          jsonStr      = Resources.Load <TextAsset>(path).ToString();
        AchievementList achievements = new AchievementList();

        achievements = JsonUtility.FromJson <AchievementList>(jsonStr);

        return(achievements);
    }
Пример #5
0
 private void OnGetAchievement(string achievementArray)
 {
     if (_onGetAchievementInfo != null)
     {
         AchievementList result = JsonUtility.FromJson <AchievementList>(achievementArray);
         _onGetAchievementInfo(result);
     }
     else
     {
         Debug.Log("ArioGameService :  onGetAchievement Callback not defined!!");
     }
 }
Пример #6
0
        protected override void Initialize()
        {
            _achievementList = new AchievementList {
                Achievements = new List <IAchievement>()
            };

            LoadAchievements();

            if (0 == _achievementList.Achievements.Count)
            {
                RegisterAchievements();
            }
        }
Пример #7
0
 private void OnGetAchievementInfo(AchievementList achievementList)
 {
     Debug.LogError("AriogameService achievement List size: " + achievementList.list.Length);
     if (achievementList.list.Length > 0)
     {
         Debug.LogError("xp is 1 : " + achievementList.list[0].xp + " / xp is 2 : " + achievementList.list[1].xp + " / xp is 3 : " + achievementList.list[2].xp);
         AchievementList.Achievement achievementOne = achievementList.list[0];
         textAchievementOne.text = "\nname: " + achievementOne.name + "\ndescription: " + achievementOne.description + "\ntotalStep: " + achievementOne.totalStep.ToString() + "\ncurrentStep: " + achievementOne.currentStep.ToString() + "\nisUnlock: " + (achievementOne.isUnlock) + "\nxp: " + (achievementOne.xp);
         AchievementList.Achievement achievementTwo = achievementList.list[1];
         textAchievementTwo.text = "\nname: " + achievementTwo.name + "\ndescription: " + achievementTwo.description + "\ntotalStep: " + achievementTwo.totalStep.ToString() + "\ncurrentStep: " + achievementTwo.currentStep.ToString() + "\nisUnlock: " + (achievementTwo.isUnlock) + "\nxp: " + (achievementTwo.xp);
         AchievementList.Achievement achievementThree = achievementList.list[2];
         textAchievementThree.text = "\nname: " + achievementThree.name + "\ndescription: " + achievementThree.description + "\ntotalStep: " + achievementThree.totalStep.ToString() + "\ncurrentStep: " + achievementThree.currentStep.ToString() + "\nisUnlock: " + (achievementThree.isUnlock) + "\nxp: " + (achievementThree.xp);
     }
 }
Пример #8
0
        /// <summary>
        /// Happens when an Achievement is changed in the AchievementManager
        /// </summary>
        public void Refresh()
        {
            IcUnlocked.Items.Clear();
            foreach (Achievement achievement in AchievementList.Where(x => x.Unlocked))
            {
                IcUnlocked.Items.Add(new AchievementControl(achievement)
                {
                    Margin = new Thickness(5)
                });
            }

            IcLocked.Items.Clear();
            foreach (Achievement achievement in AchievementList.Where(x => !x.Unlocked))
            {
                if (!achievement.Hidden)
                {
                    IcLocked.Items.Add(new AchievementControl(achievement)
                    {
                        Margin = new Thickness(5)
                    });
                }
            }

            if (AchievementList.Any(x => x.Unlocked))
            {
                UnlockedAchievementsVisibility = Visibility.Visible;
            }
            else
            {
                UnlockedAchievementsVisibility = Visibility.Collapsed;
            }

            if (AchievementList.Any(x => !x.Unlocked && !x.Hidden))
            {
                LockedAchievementsVisibility = Visibility.Visible;
            }
            else
            {
                LockedAchievementsVisibility = Visibility.Collapsed;
            }

            if (AchievementList.Any(x => x.Unlocked) && AchievementList.Any(x => !x.Unlocked && !x.Hidden))
            {
                SeparatorVisibility = Visibility.Visible;
            }
            else
            {
                SeparatorVisibility = Visibility.Collapsed;
            }
        }
Пример #9
0
        private void LoadAchievements()
        {
            try
            {
                if (!WaveServices.Storage.ExistsStorageFile(ACHIEVEMENTS_FILE_NAME))
                {
                    return;
                }

                _achievementList = WaveServices.Storage.Read <AchievementList>(ACHIEVEMENTS_FILE_NAME);
                AttachAchievementHandler();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
        }
Пример #10
0
        public AchievementEditor(Personal personal)
        {
            InitializeComponent();
            this.TranslateInterface(GameInfo.CurrentLanguage);

            Personal = personal;
            var list = List = personal.Achievements;
            var str  = GameInfo.Strings.InternalNameTranslation;

            for (int i = 0; i < list.Counts.Length; i++)
            {
                LB_Counts.Items.Add(LifeSupportAchievement.GetName(i, list.Counts[i], str));
            }

            Rows = new[] { AR_1, AR_2, AR_3, AR_4, AR_5, AR_6 };

            LB_Counts.SelectedIndex = 0;
        }
Пример #11
0
 public static HashSet <AchievementCard> GetCards <T>(bool locked = true)
 {
     lock (achievementLookup)
     {
         if (achievementLookup.TryGetValue(GetTrackerKey <T>(), out var hashset))
         {
             if (locked)
             {
                 return(hashset.Where(c => !c.unlocked).ToHashSet());
             }
             return(hashset);
         }
         achievementLookup.Add(GetTrackerKey <T>(), AchievementList.Where(c => c.tracker.Key == GetTrackerKey <T>()).ToHashSet());
         if (locked)
         {
             return(achievementLookup[GetTrackerKey <T>()].Where(c => !c.unlocked).ToHashSet());
         }
         return(achievementLookup[GetTrackerKey <T>()]);
     }
 }
Пример #12
0
        public void GetAchievementCountByTier_ShouldReturnTierCount(Fixture fixture, AchievementList achievements)
        {
            new List <AchievementTier>
            {
                AchievementTier.Bronze,
                AchievementTier.Gold,
                AchievementTier.Silver,
                AchievementTier.Silver,
                AchievementTier.Silver,
                AchievementTier.Gold
            }.ForEach(tier => achievements.Add(new Achievement {
                Tier = tier
            }));

            var groups = achievements.GetAchievementCountByTier();

            groups.Keys.Should().HaveCount(3);
            groups[AchievementTier.Gold].Should().Be(2);
            groups[AchievementTier.Silver].Should().Be(3);
            groups[AchievementTier.Bronze].Should().Be(1);
        }
Пример #13
0
        /// <summary>
        /// A basic overview of a set of Achievements
        /// </summary>
        /// <param name="achievements">A set of Achievements to be desplyed</param>
        /// <param name="achievementManager">The AchievementManager to get all the infos from</param>
        public AchievementOverviewControl(IEnumerable <Achievement> achievements, AchievementManager achievementManager)
        {
            this.achievementManager = achievementManager;
            InitializeComponent();

            // initialize the achievementList
            achievementList = new ObservableCollection <Achievement>();

            if (achievements == null)
            {
                // If the Control is invoked without a list of Achivements to display it will register
                // to AchievementManager.Instance.AchievementsChanged and will load all registered Achievements
                achievementManager.AchievementRegistered += AchievementRegisteredHandler;

                // Get all already registered Achievements and add them to the list
                achievements = achievementManager.AchievementList;
            }

            // Add all Achievements to our List
            foreach (Achievement achievement in achievements)
            {
                AchievementList.Add(achievement);
            }
        }
        public ActionResult Index()
        {
            var model = new AchievementList[0];

            return(View(model));
        }
Пример #15
0
 public void LoadRow(AchievementList list, in int index, in int row)
Пример #16
0
 /// <summary>
 /// When the AchievementManager class fires the AchievementRegistered event the newly registered Achievement will be added to our AchievementList
 /// </summary>
 private void AchievementRegisteredHandler(Achievement a)
 {
     AchievementList.Add(a);
 }
Пример #17
0
        public void GetAchievementCountByTier_WhenMoreThan255Achievements_ShouldReturnTierCount(Fixture fixture, AchievementList achievements)
        {
            achievements.AddMany(() => new Achievement {
                Tier = AchievementTier.Gold
            }, 257);

            var groups = achievements.GetAchievementCountByTier();

            groups.Keys.Should().HaveCount(1);
            groups[AchievementTier.Gold].Should().Be(255);
        }