Example #1
0
    // numberOfPlayer can be 100 at max.
    public GlobalstatsIO_Leaderboard getLeaderboard(string gtd, int numberOfPlayers)
    {
        if (numberOfPlayers < 0)
        {
            return(new GlobalstatsIO_Leaderboard());
        }
        else if (numberOfPlayers > 100)            // Number has to be between 0 and 100
        {
            numberOfPlayers = 100;
        }

        if (api_access_token == null || !api_access_token.isValid())
        {
            if (!getAccessToken())
            {
                return(new GlobalstatsIO_Leaderboard());
            }
        }


        string url = "https://api.globalstats.io/v1/gtdleaderboard/" + gtd;

        string json_payload = "{\"limit\":" + numberOfPlayers + "\n}";

        Dictionary <string, string> headers = new Dictionary <string, string>();

        headers.Add("Authorization", "Bearer " + api_access_token.access_token);
        headers.Add("Content-Type", "application/json");
        headers.Add("Cache-Control", "no-cache");
        headers.Add("Content-Length", json_payload.Length.ToString());

        byte[] pData = Encoding.ASCII.GetBytes(json_payload.ToCharArray());


        WWW www = new WWW(url, pData, headers);


        while (!www.isDone)
        {
            System.Threading.Thread.Sleep(100);
        }

        // check for errors
        if (www.error == null)
        {
            //UnityEngine.Debug.Log ("WWW POST Ok!");
        }
        else
        {
            UnityEngine.Debug.Log("WWW POST Error: " + www.error);
            UnityEngine.Debug.Log("WWW POST Content: " + www.text);
            return(new GlobalstatsIO_Leaderboard());
        }

        GlobalstatsIO_Leaderboard leaderboard = JsonUtility.FromJson <GlobalstatsIO_Leaderboard>(www.text);

        return(leaderboard);
    }
Example #2
0
    // numberOfPlayer can be 100 at max.
    public GlobalstatsIO_Leaderboard getLeaderboard(string gtd, int numberOfPlayers, string[] additionals = null)
    {
        if (numberOfPlayers < 0)
        {
            return(new GlobalstatsIO_Leaderboard());
        }
        else if (numberOfPlayers > 100)            // Number has to be between 0 and 100
        {
            numberOfPlayers = 100;
        }

        if (api_access_token == null || !api_access_token.isValid())
        {
            if (!getAccessToken())
            {
                return(new GlobalstatsIO_Leaderboard());
            }
        }


        string url = "https://api.globalstats.io/v1/gtdleaderboard/" + gtd;

        string json_payload = "{\"limit\":" + numberOfPlayers;

        if (additionals != null)
        {
            string additionalsString = "[\"" + string.Join("\",\"", additionals) + "\"]";
            json_payload += ",\n" + "\"additionals\":" + additionalsString;
        }
        json_payload += "\n}";

        Dictionary <string, string> headers = new Dictionary <string, string>();

        headers.Add("Authorization", "Bearer " + api_access_token.access_token);
        headers.Add("Content-Type", "application/json");
        headers.Add("Cache-Control", "no-cache");
        headers.Add("Content-Length", json_payload.Length.ToString());

        byte[] pData = Encoding.ASCII.GetBytes(json_payload.ToCharArray());


        WWW www = new WWW(url, pData, headers);


        // NOTE thorsten: partially synchronous
        // literal comment from here: https://docs.unity3d.com/ScriptReference/WWW-isDone.html
        // "You should not write loops that spin until download is done; use coroutines instead."
        while (!www.isDone)
        {
            System.Threading.Thread.Sleep(100);
        }

        // check for errors
        if (www.error == null)
        {
            //UnityEngine.Debug.Log ("WWW POST Ok!");
        }
        else
        {
            UnityEngine.Debug.Log("WWW POST Error: " + www.error);
            UnityEngine.Debug.Log("WWW POST Content: " + www.text);
            return(new GlobalstatsIO_Leaderboard());
        }

        GlobalstatsIO_Leaderboard leaderboard = JsonUtility.FromJson <GlobalstatsIO_Leaderboard>(www.text);

        return(leaderboard);
    }
Example #3
0
    // Start is called before the first frame update
    void Start()
    {
        GameOverScreen.SetActive(false);
        NameEntry.SetActive(false);
        GlobalstatsIO.api_id     = "X0251Fjn0zp0sDsyOWiXZfnUc2QIdocapfgqUzOV";
        GlobalstatsIO.api_secret = "eWBSoaGksDkI1eV44DhtPsS5IjZh8VqnR2ffdVAF";

        GridLayout = GetComponent <GridLayoutGroup> ();

        GlobalStats = new GlobalstatsIO();
        lb          = GlobalStats.getLeaderboard("leaders", 10);


        LevelData  = new List <Level> ();
        LevelWords = new Dictionary <Level, List <string> > ();

        LevelData.Add(new Level {
            id = 1, rows = 7, cols = 8, x = 1, y = 1, isDown = true
        });

        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "TUTORIAL", "LEVEL"
        });

        LevelData.Add(new Level {
            id = 2, rows = 12, cols = 7, x = 1, y = 1, isDown = true
        });


        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "THE", "THEME", "IS", "TERRIBLE"
        });


        LevelData.Add(new Level {
            id = 3, rows = 12, cols = 7, x = 1, y = 6, isDown = true
        });

        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "DAY", "ONE", "TOTAL", "DISASTER"
        });



        LevelData.Add(new Level {
            id = 4, rows = 10, cols = 8, x = 2, y = 7, isDown = false
        });

        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "HAD", "ALMOST", "GIVEN", "UP", "COMPLETELY"
        });

        LevelData.Add(new Level {
            id = 5, rows = 9, cols = 12, x = 3, y = 2, isDown = true
        });


        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "WATCHING", "BIG", "BANG", "THEORY", "ON", "SHOWBOX"
        });

        LevelData.Add(new Level {
            id = 6, rows = 9, cols = 10, x = 4, y = 5, isDown = false
        });

        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "WHEN", "THIS", "IDEA", "CAME", "TOGETHER"
        });

        LevelData.Add(new Level {
            id = 7, rows = 12, cols = 9, x = 3, y = 5, isDown = false
        });

        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "THAT", "WASNT", "UTTERLY", "TERRIBLE"
        });

        LevelData.Add(new Level {
            id = 8, rows = 8, cols = 7, x = 1, y = 8, isDown = false
        });

        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "NOW", "RACE", "AGAINST", "TIME"
        });


        LevelData.Add(new Level {
            id = 9, rows = 7, cols = 13, x = 6, y = 1, isDown = true
        });

        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "TO", "HACK", "SOMETHING", "TOGETHER"
        });

        LevelData.Add(new Level {
            id = 10, rows = 9, cols = 9, x = 1, y = 8, isDown = false
        });

        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "IF", "YOURE", "PLAYING", "THIS"
        });

        LevelData.Add(new Level {
            id = 11, rows = 8, cols = 10, x = 4, y = 2, isDown = false
        });

        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "AND", "COMPLETE", "TWELVE", "LEVELS"
        });

        LevelData.Add(new Level {
            id = 12, rows = 10, cols = 11, x = 5, y = 4, isDown = true
        });

        LevelWords.Add(LevelData [LevelData.Count - 1], new List <string>
        {
            "POST", "HORSE", "TO", "DEMONSTRATE", "GENIUS"
        });

        CurrentLevel = LevelData [CurrentLevelID];

        StartTime = DateTime.Now;
        ClearGrid();
    }
Example #4
0
 public void GetLeaderboard()
 {
     lb = GlobalStats.getLeaderboard("leaders", 10);
 }