public List<int[]> syncWithProfile(LiteracyProfile profile)
    {
        //int[][] severities){

        List<int[]> listUpdates = new List<int[]>();

        List<byte> clusters = satchel.getUnlockedClusters();

        for(int i = 0; i<profile.getUserSeveritites().getSeverities().Length;i++){

            for(int j = 0; j<profile.getUserSeveritites().getSeverities()[i].Length;j++){

                int empty = 3;
                if(profile.getDifficultiesDescription().getLanguageAreas()[i].getSeverityType().Equals("binary"))//zeroToThree
                    empty = 1;

                if(profile.getUserSeveritites().getSeverities()[i][j]<empty){

                    if(!clusters.Contains((byte)profile.getDifficultiesDescription().getDifficulties()[i][j].cluster)){
                        listUpdates.Add(new int[]{profile.getDifficultiesDescription().getDifficulties()[i][j].cluster,i,j});
                        unlockAllRelatedDifficulties(profile.getDifficultiesDescription().getDifficulties()[i][j].cluster);
                    }

                }
            }

        }

        return listUpdates;
    }
Esempio n. 2
0
 public PackagedUserProfile(LiteracyProfile u, UserPreferences p, LanguageCode l)
 {
     userProblems = u; preferences = p; language = l.ToString();
 }
Esempio n. 3
0
    public static bool loadSaveFromPlayerDownload(string para_downloadedGameState,LanguageCode language, LiteracyProfile profile)
    {
        bool successFlag = false;

        LocalisationMang.init(language);
        string gameSaveStr = para_downloadedGameState;

        try
        {
            ILearnRWSaveFilePackage savePackage = ObjectSerializerHelper.deserialiseObjFromString<ILearnRWSaveFilePackage>(gameSaveStr);
            SaveVersioningInfo saveVersionInfo =  savePackage.getGameVersionInfo();

            GameObject poRef = PersistentObjMang.getInstance();
            DatastoreScript ds = poRef.GetComponent<DatastoreScript>();

            GhostbookManagerLight gbMang;

            if((saveVersionInfo==null)||(saveVersionInfo.getYearValue()==2014)){

                ILearnRWSaveA castSave = (ILearnRWSaveA) savePackage;

                PlayerAvatarSettings tmpPASettings = castSave.getPlayerAvatarSettings();
                if(tmpPASettings == null)
                {

                    tmpPASettings = new PlayerAvatarSettings();
                    tmpPASettings.initWithDefaultState();
                }

                ds.insertData("PlayerAvatarSettings",tmpPASettings);

                PlayerGhostbookSatchel oldSatchel = castSave.getPlayerGBSatchelState();
                gbMang = new GhostbookManagerLight(oldSatchel);

            }else{
                ILearnRWSaveB castSave = (ILearnRWSaveB) savePackage;

                PlayerAvatarSettings tmpPASettings = castSave.getPlayerAvatarSettings();
                if(tmpPASettings == null)
                {

                    tmpPASettings = new PlayerAvatarSettings();
                    tmpPASettings.initWithDefaultState();
                }

                ds.insertData("PlayerAvatarSettings",tmpPASettings);

                LightSatchel satchel = castSave.getPlayerGBSatchelState();
                gbMang = new GhostbookManagerLight(satchel);

            }

            List<int[]> updates = gbMang.syncWithProfile(profile);

            foreach(int[] up in updates){
                Debug.Log("Sync: "+up[0]+" "+up[1]+" "+up[2]);
            }

            ds.insertData("IsUsingSaveFile",true);

            ds.insertData("GBMang",gbMang);

            successFlag = true;
            Debug.Log("SaveManager: Success in LOADING player file.");
        }
        catch(System.Exception ex)
        {

            Debug.Log(ex.ToString());
            Debug.Log(ex.Message);
            GameObject poRef = PersistentObjMang.getInstance();
            DatastoreScript ds = poRef.GetComponent<DatastoreScript>();
            ds.removeData("IsUsingSaveFile");
            ds.removeData("PlayerAvatarSettings");
            ds.removeData("WorldViewState");
            ds.insertData("FirstTime",true);

            Debug.LogError("SaveManager: Failed to LOAD player file.");
            successFlag = false;
        }

        return successFlag;
    }
Esempio n. 4
0
 public PackagedUserProfile(string language)
 {
     this.language = language;
     userProblems = new LiteracyProfile(language);
     preferences = new UserPreferences();
 }