internal void SetGameDataReference(GameData gameData)
 {
     if (AchievementsTracker != null)
     {
         AchievementsTracker.SetGameDataReference(gameData);
     }
 }
Exemple #2
0
        public bool Merge(IPlayerDataModel data)
        {
            AchievementsTracker other = (AchievementsTracker)data;

            if (other != null)
            {
                foreach (int achivementID in other._unlockedAchievements)
                {
                    if (!_unlockedAchievements.Contains(achivementID))
                    {
                        _unlockedAchievements.Add(achivementID);
                    }
                }

                foreach (KeyValuePair <int, int> param in other._parametersInt)
                {
                    if (_parametersInt.ContainsKey(param.Key))
                    {
                        if (_parametersInt[param.Key] < param.Value)
                        {
                            _parametersInt[param.Key] = param.Value;
                        }
                    }
                    else
                    {
                        _parametersInt.Add(param.Key, param.Value);
                    }
                }

                foreach (KeyValuePair <int, float> param in other._parametersFloat)
                {
                    if (_parametersFloat.ContainsKey(param.Key))
                    {
                        if (_parametersFloat[param.Key] < param.Value)
                        {
                            _parametersFloat[param.Key] = param.Value;
                        }
                    }
                    else
                    {
                        _parametersFloat.Add(param.Key, param.Value);
                    }
                }

                return(true);
            }
            else
            {
                return(false);
            }
        }