Пример #1
0
    //--------------------------------------
    //  EVENTS
    //--------------------------------------


    private void onLeaderBoardScore(string array)
    {
        string[] data;
        data = array.Split("," [0]);

        string lbId     = data[0];
        string scoreVal = data[1];
        int    rank     = System.Convert.ToInt32(data[2]);


        GCBoardTimeSpan  timeSpan   = (GCBoardTimeSpan)System.Convert.ToInt32(data[3]);
        GCCollectionType collection = (GCCollectionType)System.Convert.ToInt32(data[4]);

        GCLeaderBoard board;

        if (_leaderboards.ContainsKey(lbId))
        {
            board = _leaderboards[lbId];
        }
        else
        {
            board = new GCLeaderBoard(lbId);
            _leaderboards.Add(lbId, board);
        }


        GCScore score = new GCScore(scoreVal, rank, timeSpan, collection, lbId, player.playerId);

        board.UpdateScore(score);
        board.UpdateCurrentPlayerRank(rank, timeSpan, collection);


        dispatcher.dispatch(GAME_CENTER_LEADER_BOARD_SCORE_LOADED, score);
    }
Пример #2
0
    public GCScore GetScore(int rank, GCBoardTimeSpan scope, GCCollectionType collection)
    {
        ScoreCollection col = GlobalCollection;

        switch(collection) {
        case GCCollectionType.GLOBAL:
            col = GlobalCollection;
            break;
        case GCCollectionType.FRIENDS:
            col = SocsialCollection;
            break;
        }

        Dictionary<int, GCScore> scoreDict = col.AllTimeScores;

        switch(scope) {
        case GCBoardTimeSpan.ALL_TIME:
            scoreDict = col.AllTimeScores;
            break;
        case GCBoardTimeSpan.TODAY:
            scoreDict = col.TodayScores;
            break;
        case GCBoardTimeSpan.WEEK:
            scoreDict = col.WeekScores;
            break;
        }

        if(scoreDict.ContainsKey(rank)) {
            return scoreDict[rank];
        } else {
            return null;
        }
    }
Пример #3
0
	public void UpdateCurrentPlayerRank(int rank, GCBoardTimeSpan timeSpan, GCCollectionType collection) {
		string key = timeSpan.ToString() + "_" + collection.ToString();
		if(currentPlayerRank.ContainsKey(key)) {
			currentPlayerRank[key] = rank;
		} else {
			currentPlayerRank.Add(key, rank);
		}
	}
Пример #4
0
	public GCScore GetCurrentPlayerScore(GCBoardTimeSpan timeSpan, GCCollectionType collection) {
		string key = timeSpan.ToString() + "_" + collection.ToString();
		if(currentPlayerRank.ContainsKey(key)) {
			int rank = currentPlayerRank[key];
			return GetScore(rank, timeSpan, collection);
		} else {
			return null;
		}
		
	}
Пример #5
0
    public GCScore(string vScore, int vRank, GCBoardTimeSpan vTimeSpan, GCCollectionType sCollection, string lid, string pid)
    {
        _score = vScore;
        _rank = vRank;

        _playerId = pid;
        _leaderboardId = lid;

        _timeSpan  = vTimeSpan;
        _collection = sCollection;
    }
Пример #6
0
    public GCScore(string vScore, int vRank, GCBoardTimeSpan vTimeSpan, GCCollectionType sCollection, string lid, string pid)
    {
        _score = vScore;
        _rank  = vRank;

        _playerId      = pid;
        _leaderboardId = lid;


        _timeSpan   = vTimeSpan;
        _collection = sCollection;
    }
Пример #7
0
    public void UpdateCurrentPlayerRank(int rank, GCBoardTimeSpan timeSpan, GCCollectionType collection)
    {
        string key = timeSpan.ToString() + "_" + collection.ToString();

        if (currentPlayerRank.ContainsKey(key))
        {
            currentPlayerRank[key] = rank;
        }
        else
        {
            currentPlayerRank.Add(key, rank);
        }
    }
Пример #8
0
    public GCScore GetCurrentPlayerScore(GCBoardTimeSpan timeSpan, GCCollectionType collection)
    {
        string key = timeSpan.ToString() + "_" + collection.ToString();

        if (currentPlayerRank.ContainsKey(key))
        {
            int rank = currentPlayerRank[key];
            return(GetScore(rank, timeSpan, collection));
        }
        else
        {
            return(null);
        }
    }
Пример #9
0
    private void onLeaderBoardScoreListLoaded(string array)
    {
        string[] data;
        data = array.Split("," [0]);

        string           lbId       = data[0];
        GCBoardTimeSpan  timeSpan   = (GCBoardTimeSpan)System.Convert.ToInt32(data[1]);
        GCCollectionType collection = (GCCollectionType)System.Convert.ToInt32(data[2]);

        GCLeaderBoard board;

        if (_leaderboards.ContainsKey(lbId))
        {
            board = _leaderboards[lbId];
        }
        else
        {
            board = new GCLeaderBoard(lbId);
            _leaderboards.Add(lbId, board);
        }



        for (int i = 3; i < data.Length; i += 3)
        {
            string playerId = data[i];
            string scoreVal = data[i + 1];
            int    rank     = System.Convert.ToInt32(data[i + 2]);

            GCScore score = new GCScore(scoreVal, rank, timeSpan, collection, lbId, playerId);
            board.UpdateScore(score);
            if (player != null)
            {
                if (player.playerId.Equals(playerId))
                {
                    board.UpdateCurrentPlayerRank(rank, timeSpan, collection);
                }
            }
        }



        ISN_Result result = new ISN_Result(true);

        OnScoresListLoaded(result);
        dispatcher.dispatch(GAME_CENTER_LEADER_BOARD_SCORE_LIST_LOADED, result);
    }
Пример #10
0
    public GCScore GetScore(int rank, GCBoardTimeSpan scope, GCCollectionType collection)
    {
        ScoreCollection col = GlobalCollection;

        switch (collection)
        {
        case GCCollectionType.GLOBAL:
            col = GlobalCollection;
            break;

        case GCCollectionType.FRIENDS:
            col = SocsialCollection;
            break;
        }



        Dictionary <int, GCScore> scoreDict = col.AllTimeScores;

        switch (scope)
        {
        case GCBoardTimeSpan.ALL_TIME:
            scoreDict = col.AllTimeScores;
            break;

        case GCBoardTimeSpan.TODAY:
            scoreDict = col.TodayScores;
            break;

        case GCBoardTimeSpan.WEEK:
            scoreDict = col.WeekScores;
            break;
        }



        if (scoreDict.ContainsKey(rank))
        {
            return(scoreDict[rank]);
        }
        else
        {
            return(null);
        }
    }
Пример #11
0
	public static void LoadCurrentPlayerScore(string leaderboardId, GCBoardTimeSpan timeSpan = GCBoardTimeSpan.ALL_TIME, GCCollectionType collection = GCCollectionType.GLOBAL)  {
		#if (UNITY_IPHONE && !UNITY_EDITOR) || SA_DEBUG_MODE
		_getLeaderboardScore(leaderboardId, (int) timeSpan, (int) collection);
		#endif
	}
Пример #12
0
 public static void loadScore(string leaderBoradrId, int from, int to, GCBoardTimeSpan timeSpan = GCBoardTimeSpan.ALL_TIME, GCCollectionType collection = GCCollectionType.GLOBAL)
 {
             #if (UNITY_IPHONE && !UNITY_EDITOR) || SA_DEBUG_MODE
     _loadLeadrBoardScore(leaderBoradrId, (int)timeSpan, (int)collection, from, to);
             #endif
 }
Пример #13
0
 public static void getScore(string leaderBoradrId, GCBoardTimeSpan timeSpan = GCBoardTimeSpan.ALL_TIME, GCCollectionType collection = GCCollectionType.GLOBAL)
 {
     loadCurrentPlayerScore(leaderBoradrId, timeSpan, collection);
 }
Пример #14
0
    private IEnumerator loadCurrentPlayerScoreLocal(string leaderBoradrId, GCBoardTimeSpan timeSpan = GCBoardTimeSpan.ALL_TIME, GCCollectionType collection = GCCollectionType.GLOBAL)
    {
        yield return(new WaitForSeconds(2f));

        loadCurrentPlayerScore(leaderBoradrId, timeSpan, collection);
    }
Пример #15
0
 public static void loadCurrentPlayerScore(string leaderBoradrId, GCBoardTimeSpan timeSpan = GCBoardTimeSpan.ALL_TIME, GCCollectionType collection = GCCollectionType.GLOBAL)
 {
             #if (UNITY_IPHONE && !UNITY_EDITOR) || SA_DEBUG_MODE
     _getLeadrBoardScore(leaderBoradrId, (int)timeSpan, (int)collection);
             #endif
 }
Пример #16
0
    void OnGUI()
    {
        GUI.Label(new Rect(10, 20, 400, 40), "Custom Leader Board GUI Example", headerStyle);

        if (GUI.Button(new Rect(400, 10, 150, 50), "Load Friends Scores"))
        {
            GameCenterManager.loadScore(leaderBoardId, 1, 10, GCBoardTimeSpan.ALL_TIME, GCCollectionType.FRIENDS);
        }

        if (GUI.Button(new Rect(600, 10, 150, 50), "Load Global Scores"))
        {
            GameCenterManager.loadScore(leaderBoardId, 1, 10, GCBoardTimeSpan.ALL_TIME, GCCollectionType.GLOBAL);
        }

        Color defaultColor = GUI.color;

        if (diplayCollection == GCCollectionType.GLOBAL)
        {
            GUI.color = Color.green;
        }
        if (GUI.Button(new Rect(800, 10, 170, 50), "Displying Global Scores"))
        {
            diplayCollection = GCCollectionType.GLOBAL;
        }
        GUI.color = defaultColor;



        if (diplayCollection == GCCollectionType.FRIENDS)
        {
            GUI.color = Color.green;
        }
        if (GUI.Button(new Rect(800, 70, 170, 50), "Displying Friends Scores"))
        {
            diplayCollection = GCCollectionType.FRIENDS;
        }
        GUI.color = defaultColor;

        GUI.Label(new Rect(10, 90, 100, 40), "rank", boardStyle);
        GUI.Label(new Rect(100, 90, 100, 40), "score", boardStyle);
        GUI.Label(new Rect(200, 90, 100, 40), "playerId", boardStyle);
        GUI.Label(new Rect(400, 90, 100, 40), "name ", boardStyle);
        GUI.Label(new Rect(550, 90, 100, 40), "avatar ", boardStyle);

        if (loadedLeaderBoard != null)
        {
            for (int i = 1; i < 10; i++)
            {
                GCScore score = loadedLeaderBoard.GetScore(i, GCBoardTimeSpan.ALL_TIME, diplayCollection);
                if (score != null)
                {
                    GUI.Label(new Rect(10, 90 + 70 * i, 100, 40), i.ToString(), boardStyle);
                    GUI.Label(new Rect(100, 90 + 70 * i, 100, 40), score.GetIntScore().ToString(), boardStyle);
                    GUI.Label(new Rect(200, 90 + 70 * i, 100, 40), score.playerId, boardStyle);


                    GameCenterPlayerTemplate player = GameCenterManager.GetPlayerById(score.playerId);
                    if (player != null)
                    {
                        GUI.Label(new Rect(400, 90 + 70 * i, 100, 40), player.alias, boardStyle);
                        if (player.avatar != null)
                        {
                            GUI.DrawTexture(new Rect(550, 75 + 70 * i, 50, 50), player.avatar);
                        }
                        else
                        {
                            GUI.Label(new Rect(550, 90 + 70 * i, 100, 40), "no photo ", boardStyle);
                        }
                    }

                    if (GUI.Button(new Rect(650, 90 + 70 * i, 100, 30), "Chalange"))
                    {
                        GameCenterManager.issueLeaderboardChallenge(leaderBoardId, "Your message here", score.playerId);
                    }
                }
            }
        }
    }
Пример #17
0
 public static void getScore(string leaderBoradrId, GCBoardTimeSpan timeSpan = GCBoardTimeSpan.ALL_TIME, GCCollectionType collection = GCCollectionType.FRIENDS)
 {
     Debug.LogWarning("getScore is deprecated, use loadCurrentPlayerScore instead");
     loadCurrentPlayerScore(leaderBoradrId, timeSpan, collection);
 }
Пример #18
0
    void OnGUI()
    {
        GUI.Label(new Rect(10, 20, 400, 40), "Custom Leader Board GUI Example", headerStyle);

        if(GUI.Button(new Rect(400, 10, 150, 50), "Load Friends Scores")) {
            GameCenterManager.loadScore(leaderBoardId, 1, 10, GCBoardTimeSpan.ALL_TIME, GCCollectionType.FRIENDS);
        }

        if(GUI.Button(new Rect(600, 10, 150, 50), "Load Global Scores")) {
            GameCenterManager.loadScore(leaderBoardId, 1, 10, GCBoardTimeSpan.ALL_TIME, GCCollectionType.GLOBAL);
        }

        Color defaultColor = GUI.color;

        if(diplayCollection == GCCollectionType.GLOBAL) {
            GUI.color = Color.green;
        }
        if(GUI.Button(new Rect(800, 10, 170, 50), "Displying Global Scores")) {
            diplayCollection = GCCollectionType.GLOBAL;
        }
        GUI.color = defaultColor;

        if(diplayCollection == GCCollectionType.FRIENDS) {
            GUI.color = Color.green;
        }
        if(GUI.Button(new Rect(800, 70, 170, 50), "Displying Friends Scores")) {
            diplayCollection = GCCollectionType.FRIENDS;
        }
        GUI.color = defaultColor;

        GUI.Label(new Rect(10,  90, 100, 40), "rank", boardStyle);
        GUI.Label(new Rect(100, 90, 100, 40), "score", boardStyle);
        GUI.Label(new Rect(200, 90, 100, 40), "playerId", boardStyle);
        GUI.Label(new Rect(400, 90, 100, 40), "name ", boardStyle);
        GUI.Label(new Rect(550, 90, 100, 40), "avatar ", boardStyle);

        if(loadedLeaderBoard != null) {
            for(int i = 1; i < 10; i++) {
                GCScore score = loadedLeaderBoard.GetScore(i, GCBoardTimeSpan.ALL_TIME, diplayCollection);
                if(score != null) {
                    GUI.Label(new Rect(10,  90 + 70 * i, 100, 40), i.ToString(), boardStyle);
                    GUI.Label(new Rect(100, 90 + 70 * i, 100, 40), score.GetIntScore().ToString() , boardStyle);
                    GUI.Label(new Rect(200, 90 + 70 * i, 100, 40), score.playerId, boardStyle);

                    GameCenterPlayerTemplate player = GameCenterManager.GetPlayerById(score.playerId);
                    if(player != null) {
                        GUI.Label(new Rect(400, 90 + 70 * i , 100, 40), player.alias, boardStyle);
                        if(player.avatar != null) {
                            GUI.DrawTexture(new Rect(550, 75 + 70 * i, 50, 50), player.avatar);
                        } else  {
                            GUI.Label(new Rect(550, 90 + 70 * i, 100, 40), "no photo ", boardStyle);
                        }
                    }

                    if(GUI.Button(new Rect(650, 90 + 70 * i, 100, 30), "Chalange")) {
                        GameCenterManager.issueLeaderboardChallenge(leaderBoardId, "Your message here", score.playerId);
                    }

                }

            }
        }
    }
Пример #19
0
	private IEnumerator LoadCurrentPlayerScoreLocal(string leaderboardId, GCBoardTimeSpan timeSpan = GCBoardTimeSpan.ALL_TIME, GCCollectionType collection = GCCollectionType.GLOBAL ) {
		yield return new WaitForSeconds(4f);
		LoadCurrentPlayerScoreLocal(leaderboardId, timeSpan, collection);
	}
Пример #20
0
 public static void getScore(string leaderBoradrId, GCBoardTimeSpan timeSpan = GCBoardTimeSpan.ALL_TIME, GCCollectionType collection = GCCollectionType.FRIENDS)
 {
     #if (UNITY_IPHONE && !UNITY_EDITOR) || SA_DEBUG_MODE
         _getLeadrBoardScore(leaderBoradrId, (int) timeSpan, (int) collection);
     #endif
 }
Пример #21
0
	public static void LoadScore(string leaderboardId, int from, int to, GCBoardTimeSpan timeSpan = GCBoardTimeSpan.ALL_TIME, GCCollectionType collection = GCCollectionType.GLOBAL) {

		#if (UNITY_IPHONE && !UNITY_EDITOR) || SA_DEBUG_MODE
			_loadLeaderboardScore(leaderboardId, (int) timeSpan, (int) collection, from, to);
		#endif

	}
Пример #22
0
 public static void getScore(string leaderBoradrId, GCBoardTimeSpan timeSpan = GCBoardTimeSpan.ALL_TIME, GCCollectionType collection = GCCollectionType.FRIENDS)
 {
     Debug.LogWarning("getScore is deprecated, use loadCurrentPlayerScore instead");
     loadCurrentPlayerScore(leaderBoradrId, timeSpan, collection);
 }