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; }
public PackagedUserProfile(LiteracyProfile u, UserPreferences p, LanguageCode l) { userProblems = u; preferences = p; language = l.ToString(); }
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; }
public PackagedUserProfile(string language) { this.language = language; userProblems = new LiteracyProfile(language); preferences = new UserPreferences(); }