Beispiel #1
0
        void SetUpNewPlayerData()
        {
            ChapterPlayerDataList = new List <ChapterPlayerData>();
            for (int i = 0; i < 4; i++)
            {
                ChapterPlayerData nextChapter = new ChapterPlayerData();
                nextChapter.ChapterNumber = i + 1;
                List <LevelPlayerData> newLevels = new List <LevelPlayerData>();
                for (int j = 0; j < 10; j++)
                {
                    LevelPlayerData nextLevel = new LevelPlayerData();
                    nextLevel.ChapterNumber  = nextChapter.ChapterNumber;
                    nextLevel.LevelNumber    = j + 1;
                    nextLevel.HighScore      = 0;
                    nextLevel.MaxStarsEarned = 0;
                    nextLevel.Wins           = 0;
                    nextLevel.Losses         = 0;
                    newLevels.Add(nextLevel);

                    if (i == 0 && j == 0)
                    {
                        nextLevel.LevelIsOpen = true;
                    }
                    else
                    {
                        nextLevel.LevelIsOpen = false;
                    }
                }
                nextChapter.LevelPlayerDataList = newLevels;
                ChapterPlayerDataList.Add(nextChapter);
            }
        }
Beispiel #2
0
        JSONArray GetPlayerChaptersData(JSONArray baseArray)
        {
            for (int i = 0; i < ChapterPlayerDataList.Count; i++)
            {
                JSONClass         newNode        = new JSONClass();
                ChapterPlayerData currentChapter = ChapterPlayerDataList[i];
                newNode["ChapterNumber"].AsInt = currentChapter.ChapterNumber;
                newNode["Levels"] = GetPlayerLevelsData(new JSONArray(), currentChapter);
                baseArray.Add(newNode);
            }

            return(baseArray);
        }
Beispiel #3
0
        JSONArray GetPlayerLevelsData(JSONArray newArray, ChapterPlayerData currentChapter)
        {
            for (int i = 0; i < currentChapter.LevelPlayerDataList.Count; i++)
            {
                LevelPlayerData currentLevel = currentChapter.LevelPlayerDataList[i];

                JSONClass newNode = new JSONClass();
                newNode["LevelNumber"].AsInt    = currentLevel.LevelNumber;
                newNode["HighScore"].AsInt      = currentLevel.HighScore;
                newNode["MaxStarsEarned"].AsInt = currentLevel.MaxStarsEarned;
                newNode["LevelIsOpen"].AsBool   = currentLevel.LevelIsOpen;
                newNode["Wins"].AsInt           = currentLevel.Wins;
                newNode["Losses"].AsInt         = currentLevel.Losses;

                newArray.Add(newNode);
            }
            return(newArray);
        }
Beispiel #4
0
        void SetUpPlayerData(string playerData)
        {
            JSONNode json = JSONNode.Parse(playerData);

            //simple check to see if data is OK
            if (json.Count == expectedChapters)
            {
                for (int i = 0; i < json.Count; i++)
                {
                    ChapterPlayerData nextChapter = new ChapterPlayerData();
                    nextChapter.ChapterNumber       = json[i]["ChapterNumber"].AsInt;
                    nextChapter.LevelPlayerDataList = SetUpPlayerLevels(json[i]["Levels"], nextChapter.ChapterNumber);
                    ChapterPlayerDataList.Add(nextChapter);
                }
            }
            //player data is not OK, rebuild it
            else
            {
                print("PlayerData Json is damaged-- setting up new player data");
                SetUpNewPlayerData();
            }
        }