protected void messageCallBack(WebView webview, WebViewMessage message) { switch (message.Host) { case (WEBVIEW_LOGIN): saveUserInfo(message.Arguments ["userId"], message.Arguments ["tokenId"], message.Arguments["displayName"]); loginToShopika(ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUserId, ShopikaManager.GetCastedInstance <ShopikaManager> ().currentUser.accesToken); if (OnLoggedIn != null) { OnLoggedIn(); } break; case (WEBVIEW_GEMS): if (!((DataManagerKubera)DataManagerKubera.GetInstance()).alreadyPurchaseGems()) { KuberaAnalytics.GetInstance().registerGemsFirstPurchase(PersistentData.GetInstance().lastLevelReachedName); ((DataManagerKubera)DataManagerKubera.GetInstance()).markGemsAsPurchased(); } ShopikaManager.GetCastedInstance <ShopikaManager>().OnGemsRemotleyChanged(); break; case (WEBVIEW_FINISH): closeWebView(); ShopikaManager.GetCastedInstance <ShopikaManager>().OnGemsRemotleyChanged(); break; } }
public void activateMusic() { if (AudioManager.GetInstance()) { //AudioManager.GetInstance ().Play ("fxButton"); if (AudioManager.GetInstance().activateMusic) { AudioManager.GetInstance().activateMusic = false; UserDataManager.instance.isMusicActive = false; KuberaAnalytics.GetInstance().registerMusicTurnedOff(); AudioManager.GetInstance().StopAllAudiosInCategory("MAIN MUSIC"); if (OnActivateMusic != null) { OnActivateMusic(false); } } else { AudioManager.GetInstance().activateMusic = true; UserDataManager.instance.isMusicActive = true; if (OnActivateMusic != null) { OnActivateMusic(true); } } setStateMusic(); } }
protected void OnBossReachedPressed(MapLevel pressed) { KuberaAnalytics.GetInstance().registerForBossReached(pressed.fullLvlName, (DataManagerKubera.GetInstance() as DataManagerKubera).getAllEarnedStars()); if ((DataManagerKubera.GetInstance() as DataManagerKubera).getAllEarnedStars() >= pressed.starsNeeded) { unlockBoss(pressed.fullLvlName); if (nextLevel == null) { nextLevel = pressed; } } else { bossLockedPopUp.lvlName = pressed.lvlName; bossLockedPopUp.fullLvlName = pressed.fullLvlName; bossLockedPopUp.initializeValues(pressed.friendsNeeded, pressed.gemsNeeded, pressed.starsNeeded, pressed.lvlName); if (nextLevel == null) { nextLevel = pressed; } openPopUp("bossLocked"); } }
/** * Cuando se recibe el usuario (sin informacion solo sus identificaciones) **/ protected override void OnUserReceived(RemoteUser remoteUser) { base.OnUserReceived(remoteUser); //Exsitia un usuario creado con id de facebook temporal? KuberaUser kUser = localData.getCurrentData().getUserById(currentUser.facebookId); if (kUser != null) { //Le asignamos su id de verdad kUser._id = currentUser.id; } localData.changeCurrentuser(currentUser.id); //En caso de que se creo un nuevo usuario se le asigna su facebookId if (localData.currentUser.facebookId != currentUser.facebookId) { localData.currentUser.facebookId = currentUser.facebookId; localData.saveLocalData(false); } if (remoteUser.newlyCreated) { if (_mustShowDebugInfo) { Debug.Log("Creating remote user."); } KuberaAnalytics.GetInstance().registerFaceBookLogin(); if (!localData.currentUser.remoteLifesGranted) { if (_mustShowDebugInfo) { Debug.Log("Granted Lifes: " + freeLifesAfterSignIn.ToString()); } localData.giveUserLifes(freeLifesAfterSignIn); localData.currentUser.isDirty = localData.currentUser.updateremoteLifesGranted(true) || localData.currentUser.isDirty; } //Hacemos un update normal del usuario //updateData(localData.getUserDirtyData()); isGettingData = true; server.getUserData(currentUser.id, localData.currentUser.remoteDataVersion, true); } else { if (_mustShowDebugInfo) { Debug.Log("Getting data from remote user."); } isGettingData = true; //Nos traemos los datos de este usuario server.getUserData(currentUser.id, localData.currentUser.remoteDataVersion, true); } }
public void savePassedLevel(string levelName, int stars, int points) { KuberaUser currUser = currentUser; LevelData level = currUser.getLevelById(levelName); if (level != null) { KuberaAnalytics.GetInstance().registerFirstWinAttempts(levelName, level.attempts); level.updateOnlyIncrementalValues(stars, points); level.updatePassed(true); level.attempts++; level.isDirty = true; } else { level = new LevelData(levelName); level.points = points; level.stars = stars; level.passed = true; level.world = levelsList.getLevelByName(levelName).world; level.attempts = 1; level.isDirty = true; currUser.addLevel(level); KuberaAnalytics.GetInstance().registerFirstWinStars(levelName, stars); KuberaAnalytics.GetInstance().registerFirstWinAttempts(levelName, level.attempts); } KuberaAnalytics.GetInstance().registerLevelAttempts(levelName, level.attempts); //El maximo avance currUser.isDirty = currUser.upgradeMaxLevelReached(int.Parse(level._id)) || currUser.isDirty; //Es sucio porque ya estaba sucio o por un cambio aqui currUser.isDirty = currUser.isDirty || level.isDirty; if (currUser.isDirty) { saveLocalData(false); //Mandamos un usuario solo con este nivel KuberaUser user = new KuberaUser(currentUserId); user.addLevel(level); syncManager.updateData(user); } }
public void rechargeLifes() { if (ShopikaManager.GetCastedInstance <ShopikaManager>().isPossibleToConsumeGems(price)) { ShopikaManager.GetCastedInstance <ShopikaManager>().tryToConsumeGems(price); LifesManager.GetInstance().giveLifesToUser(LifesManager.GetInstance().maximumLifes); KuberaAnalytics.GetInstance().registerGemsUsedOnLifes(PersistentData.GetInstance().lastLevelReachedName); popUp.SetActive(false); OnComplete(); } else { OnComplete("notMoney", false); } }
public void incrementLevelAttemp(string levelName) { KuberaUser currUser = currentUser; LevelData level = currUser.getLevelById(levelName); if (level != null) { level.attempts++; level.isDirty = true; } else { level = new LevelData(levelName); level.points = 0; level.stars = 0; level.passed = false; level.world = levelsList.getLevelByName(levelName).world; level.attempts = 1; level.isDirty = true; currUser.addLevel(level); } KuberaAnalytics.GetInstance().registerLevelAttempts(levelName, level.attempts); currUser.isDirty = true; if (currUser.isDirty) { saveLocalData(false); //Mandamos un usuario solo con este nivel KuberaUser user = new KuberaUser(currentUserId); user.addLevel(level); syncManager.updateData(user); } }
public void activateSounds() { if (AudioManager.GetInstance()) { //AudioManager.GetInstance().Play("fxButton"); if (AudioManager.GetInstance().activateSounds) { AudioManager.GetInstance().activateSounds = false; UserDataManager.instance.isSoundEffectsActive = false; KuberaAnalytics.GetInstance().registerFXTurnedOff(); AudioManager.GetInstance().StopAllAudiosInCategory("LOOP FX"); AudioManager.GetInstance().StopAllAudiosInCategory("FX"); } else { AudioManager.GetInstance().activateSounds = true; UserDataManager.instance.isSoundEffectsActive = true; } setStateSounds(); } }
protected void setParalaxManager() { if (currentLevel == null) { currentLevel = mapLevels [0]; PersistentData.GetInstance().lastLevelReachedName = currentLevel.fullLvlName; } if (first) { paralaxManager.setPosLastOrFirst(true); first = false; } else if (last) { paralaxManager.setPosLastOrFirst(false); last = false; } else if (fromGame) { if (PersistentData.GetInstance().fromLoose) { popUpManager.activatePopUp("retryPopUp"); stopInput(true); (DataManagerKubera.GetInstance() as DataManagerKubera).incrementLevelAttemp(PersistentData.GetInstance().currentLevel.name); if (LifesManager.GetInstance().currentUser.playerLifes == 0) { KuberaAnalytics.GetInstance().registerLevelWhereReached0Lifes(PersistentData.GetInstance().currentLevel.name); } } else { int starsReached = PersistentData.GetInstance().lastPlayedLevelStars; //;(DataManagerKubera.GetInstance () as DataManagerKubera).getLevelStars (PersistentData.GetInstance ().currentLevel.name); int pointsMade = PersistentData.GetInstance().lastPlayedLevelPoints; //(DataManagerKubera.GetInstance () as DataManagerKubera).getLevelPoints (PersistentData.GetInstance ().currentLevel.name); goalManager.initializeFromString(PersistentData.GetInstance().currentLevel.goal); string levelName = PersistentData.GetInstance().currentLevel.name; for (int i = 0; i < levelName.Length; i++) { if (levelName [i] == '0') { levelName = levelName.Remove(i, 1); i--; } else { break; } } goalAfterGame.setGoalPopUpInfo(starsReached, levelName, pointsMade.ToString(), PersistentData.GetInstance().currentWorld); popUpManager.activatePopUp("goalAfterGame"); stopInput(true); } if (toStairs) { paralaxManager.setPosByCurrentLevel(paralaxManager.getPosByLevel(mapLevels[mapLevels.Count - 1])); } else { paralaxManager.setPosByCurrentLevel(paralaxManager.getPosByLevel(lastLevelPlayed)); } } else { //print ("currentLevel " + currentLevel); //paralaxManager.setPosByCurrentLevel (paralaxManager.getPosByLevel( mapLevels [0])); paralaxManager.setPosByCurrentLevel(paralaxManager.getPosByLevel(currentLevel)); } }
public void sendRequest() { List <string> friendsIds = new List <string> (); List <List <string> > friIDs = new List <List <string> >(); friendsIds = getFriendsActivatedIDByFriendsType(currentFriendType); int friendGroups = (int)Mathf.Floor(friendsIds.Count / 30.0f); facebookManager.OnSuccesRequest += succesPopUp; /* * string myId = FacebookPersistentData.GetInstance ().getPlayerId (); * * if(currentFriendType == EFriendsType.GAME) * { * for(int i=0; i<friendsIds.Count; i++) * { * ShopikaSyncManager.GetCastedInstance<ShopikaSyncManager>().registerInvite(friendsIds[i],myId); * } * }*/ if (friendsIds.Count == 0) { return; } switch (currentRequestType) { case ERequestType.ASK_KEYS: KuberaAnalytics.GetInstance().registerFacebookKeyRequest(PersistentData.GetInstance().lastLevelReachedName); if (friendsIds.Count > 30) { for (int i = 0, k = 0; i <= friendGroups; i++) { friIDs.Add(new List <string>()); for (int j = 0; j < 30; j++, k++) { if (friendsIds [k] != null) { friIDs [i].Add(friendsIds [k]); } } } for (int i = 0; i < friIDs.Count; i++) { facebookManager.askKey(friIDs[i]); } } else { facebookManager.askKey(friendsIds); return; } break; case ERequestType.ASK_LIFES: if (!((DataManagerKubera)DataManagerKubera.GetInstance()).alreadyAskForLifes()) { KuberaAnalytics.GetInstance().registerFacebookFirstLifeRequest(PersistentData.GetInstance().lastLevelReachedName); ((DataManagerKubera)DataManagerKubera.GetInstance()).markLifesAsAsked(); } if (friendsIds.Count > 30) { for (int i = 0, k = 0; i <= friendGroups; i++) { friIDs.Add(new List <string>()); for (int j = 0; j < 30; j++, k++) { if (k < friendsIds.Count) { friIDs [i].Add(friendsIds [k]); } } } for (int i = 0; i < friIDs.Count; i++) { facebookManager.askLife(friIDs[i]); } } else { facebookManager.askLife(friendsIds); return; } break; default: break; } }