public void UpdateWhisperScoresAndLeaderboards(string PackName, string LevelName, GameType gameType, float currentScore) { //Obtain current Level info (scores) SyncableLevelScore slevel = WhisperPlayerScores.Instance.GetSyncLevelScore(PackName, LevelName, gameType); if (slevel == null) { Debug.Log("Something went wrong, no puede ser nulo, revisar"); return; } //Si el score que viene de parametro para ese nivel en ese modo en ese pack, entonces actualizar // el score de ese level en el GameDataMap de whisper sync. if (slevel != null && currentScore > slevel.score.BestScore.AsInt()) { Debug.Log("Deberia registrar el score"); slevel.score.BestScore.Set(currentScore); // Revisar si estoy logueado para poder hacer update de leaderboards if (AGSPlayerClient.IsSignedIn()) { // Update all pack leaderboards foreach (var packName in Globals.Constants.PackNameArray) { string packleaderboard = Managers.GameData.GetLeaderBoardName(packName); int packscore = WhisperPlayerScores.Instance.GetPackScore(packName); Managers.GameCircleAmazon.SubmitScoreToLeaderboard(packleaderboard, packscore); } int globalscore = WhisperPlayerScores.Instance.GetGlobalScore(); Managers.GameCircleAmazon.SubmitScoreToLeaderboard(Globals.Constants.LeaderBoardGlobal, globalscore); } } }
public SyncableLevelScore GetSyncLevelScore(string packName, string levelName, GameType gameType) { SyncableLevelScore Synlevel = ScoreList.FirstOrDefault(x => x.score.PackName.GetValue() == packName && x.score.GameType.GetValue() == gameType.ToString() && x.score.LevelName.GetValue() == levelName); return(Synlevel); }
public int GetLevelTopScore(string packName, string levelName, GameType type) { int Score = 0; SyncableLevelScore slevel = WhisperPlayerScores.Instance.GetSyncLevelScore(packName, levelName, type); if (slevel != null) { Score = slevel.score.BestScore.AsInt(); } return(Score); }
public void Initialize() { GlobaldataMap = AGSWhispersyncClient.GetGameData(); if (GlobaldataMap == null) { Debug.Log("Globaldata map es null"); Managers.GameCircleAmazon.WhisperInitialized = false; return; } Debug.Log("Inicializando WhisperScores"); ScoreList.Clear(); foreach (var packName in Globals.Constants.PackNameArray) { for (var i = 1; i <= Globals.Constants.LevelsPerPack; i++) { foreach (var enumVal in Enum.GetValues(typeof(GameType))) { SyncableLevelScore synclevelscore = new SyncableLevelScore(); synclevelscore.map = GlobaldataMap.GetMap(packName + "@" + enumVal.ToString() + "@LEVEL-" + i.ToString()); synclevelscore.score.BestScore = synclevelscore.map.GetHighestNumber("BestScore"); if (!synclevelscore.score.BestScore.IsSet()) { synclevelscore.score.BestScore.Set(0); } synclevelscore.score.PackName = synclevelscore.map.GetLatestString("PackName"); synclevelscore.score.GameType = synclevelscore.map.GetLatestString("GameType"); synclevelscore.score.LevelName = synclevelscore.map.GetLatestString("LevelName"); synclevelscore.score.PackName.Set(packName); synclevelscore.score.GameType.Set(enumVal.ToString()); synclevelscore.score.LevelName.Set("LEVEL-" + i.ToString()); /* synclevelscore.score.PackName = synclevelscore.map.GetLatestString("PackName"); * synclevelscore.score.GameType = synclevelscore.map.GetLatestString("GameType"); * synclevelscore.score.LevelName = synclevelscore.map.GetLatestString("LevelName"); * synclevelscore.score.Hits = synclevelscore.map.GetLatestNumber("Hits"); * synclevelscore.score.MaxTurns = synclevelscore.map.GetLatestNumber("MaxTurns"); * synclevelscore.score.TimeUsed = synclevelscore.map.GetLatestNumber("TimeUsed"); * */ ScoreList.Add(synclevelscore); } } } }
public int GetLevelTopScore(string packName, int levelNumber, GameType type) { int Score = 0; SyncableLevelScore slevel = WhisperPlayerScores.Instance.GetSyncLevelScore(packName, "LEVEL-" + levelNumber.ToString(), type); if (slevel != null) { Score = slevel.score.BestScore.AsInt(); } return(Score); }