private void MNUM_onScoresUpdated(string messageParams)
        {
            MNTools.DLog("MNScoreProgressProvider:MNUM_onScoresUpdated: messageParams=<" + messageParams + ">");

              if (ScoresUpdatedStorage != null) {
            List<object> paramsArray = (List<object>)MNUnityCommunicator.Serializer.Deserialize(messageParams,typeof(List<object>));

            MNTools.DLogList("MNUM_onScoresUpdated params",paramsArray,MNTools.DEBUG_LEVEL_DETAILED);

            List<object> param1List = MNSerializerMapper.ListOfObjectsFromListOfDictionaries((List<object>)paramsArray[0],typeof(MNScoreProgressProvider.ScoreItem));
            MNScoreProgressProvider.ScoreItem[] param1Array = new MNScoreProgressProvider.ScoreItem[param1List.Count];

            for (int index = 0;index < param1List.Count;index++) {
              param1Array[index] = (MNScoreProgressProvider.ScoreItem)param1List[index];
            }

            ScoresUpdatedStorage(param1Array);
              }
        }
        public static MNScoreProgressProvider.ScoreItem MNScoreProgressProviderScoreItemFromDictionary(IDictionary deserializedObject)
        {
            if (deserializedObject == null) {
            return null;
              }

              MNScoreProgressProvider.ScoreItem typedResult = new MNScoreProgressProvider.ScoreItem();

              typedResult.Place = Convert.ToInt32(deserializedObject["Place"]);
              typedResult.Score = Convert.ToInt64(deserializedObject["Score"]);
              typedResult.UserInfo = MNUserInfoFromDictionary((IDictionary)deserializedObject["UserInfo"]);

              return typedResult;
        }