Esempio n. 1
0
    public IEnumerator Load(string levelid)
    {
        var postdata = new Dictionary <String, String>();

        postdata.Add("levelid", levelid);

        string  url;
        WWWForm post;

        Playtomic_Request.Prepare(SECTION, LOAD, postdata, out url, out post);

        WWW www = new WWW(url, post);

        yield return(www);

        var response = Playtomic_Request.Process(www);

        if (response.Success)
        {
            var item  = response.JSON;
            var level = new Playtomic_PlayerLevel();
            level.LevelId      = (string)item["LevelId"];
            level.PlayerSource = (string)item["PlayerSource"];
            level.PlayerName   = WWW.UnEscapeURL((string)item["PlayerName"]);
            level.Name         = WWW.UnEscapeURL((string)item["Name"]);
            level.Votes        = (int)(double)item["Votes"];
            level.Plays        = (int)(double)item["Plays"];
            level.Rating       = (double)item["Rating"];
            level.Score        = (int)(double)item["Score"];
            level.SDate        = DateTime.Parse((string)item["SDate"]);
            level.RDate        = WWW.UnEscapeURL((string)item["RDate"]);

            if (item.ContainsKey("Data"))
            {
                level.Data = (string)item["Data"];
            }

            if (item.ContainsKey("CustomData"))
            {
                Hashtable customdata = (Hashtable)item["CustomData"];

                foreach (var key in customdata.Keys)
                {
                    level.CustomData.Add((string)key, WWW.UnEscapeURL((string)customdata[key]));
                }
            }

            response.Levels = new List <Playtomic_PlayerLevel>();
            response.Levels.Add(level);
        }

        SetResponse(response, "Load");
    }
Esempio n. 2
0
    public IEnumerator Save(Playtomic_PlayerLevel level)
    {
        var postdata = new Dictionary <String, String>();

        postdata.Add("data", level.Data);
        postdata.Add("playerid", level.PlayerId);
        postdata.Add("playername", level.PlayerName);
        postdata.Add("playersource", Playtomic.SourceUrl);
        postdata.Add("name", level.Name);
        postdata.Add("nothumb", "y");
        postdata.Add("customfields", level.CustomData.Count.ToString());

        var n = 0;

        foreach (var key in level.CustomData.Keys)
        {
            postdata.Add("ckey" + n, key);
            postdata.Add("cdata" + n, level.CustomData[key]);
            n++;
        }

        string  url;
        WWWForm post;

        Playtomic_Request.Prepare(SECTION, SAVE, postdata, out url, out post);

        WWW www = new WWW(url, post);

        yield return(www);

        var response = Playtomic_Request.Process(www);

        if (response.Success)
        {
            var data = (Hashtable)response.JSON;

            foreach (string key in data.Keys)
            {
                var name  = WWW.UnEscapeURL(key);
                var value = WWW.UnEscapeURL((string)data[key]);
                response.Data.Add(name, value);
            }
        }

        SetResponse(response, "Save");
    }
    IEnumerator SaveLevel()
    {
        var level = new Playtomic_PlayerLevel();

        level.Name       = "this is a level";
        level.PlayerName = "Ben";
        level.Data       = "Asdfasdfasdfasdf";

        yield return(StartCoroutine(Playtomic.PlayerLevels.Save(level)));

        var response = Playtomic.PlayerLevels.GetResponse("Save");

        if (response.Success)
        {
            Debug.Log("Level saved!");
        }
        else
        {
            Debug.Log("Level failed to save because of " + response.ErrorCode + ": " + response.ErrorDescription);
        }
    }
    public IEnumerator List(string mode, int page, int perpage, bool includedata, bool includethumbs, Dictionary<string,string> customdata, DateTime datemin, DateTime datemax)
    {
        var postdata = new Dictionary<String, String>();
        postdata.Add("mode", mode);
        postdata.Add("page", page.ToString());
        postdata.Add("perpage", perpage.ToString());
        postdata.Add("thumbs", includethumbs ? "y" : "n");
        postdata.Add("data", includedata ? "y" : "n");
        postdata.Add("datemin", datemin.ToString("MM/dd/yyyy"));
        postdata.Add("datemax", datemax.ToString("MM/dd/yyyy"));

        if(customdata != null)
        {
            var n = 0;

            foreach(var key in customdata.Keys)
            {
                postdata.Add("ckey" + n, key);
                postdata.Add("cdata" + n, customdata[key]);
                n++;
            }

            postdata.Add("filters", customdata.Count.ToString());
        }
        else
        {
            postdata.Add("filters", "0");
        }

        string url;
        WWWForm post;

        Playtomic_Request.Prepare(SECTION, LIST, postdata, out url, out post);

        WWW www = new WWW(url, post);
        yield return www;

        var response = Playtomic_Request.Process(www);

        if (response.Success)
        {
            var data = (Hashtable)response.JSON;
            var levels = (ArrayList)data["Levels"];
            var len = levels.Count;

            response.NumItems = (int)(double)data["NumLevels"];
            response.Levels = new List<Playtomic_PlayerLevel>();

            for(var i=0; i<len; i++)
            {
                Hashtable item = (Hashtable)levels[i];

                var level = new Playtomic_PlayerLevel();
                level.LevelId = (string)item["LevelId"];
                level.PlayerSource = (string)item["PlayerSource"];
                level.PlayerName = WWW.UnEscapeURL((string)item["PlayerName"]);
                level.Name = WWW.UnEscapeURL((string)item["Name"]);
                level.Votes = (int)(double)item["Votes"];
                level.Plays = (int)(double)item["Plays"];
                level.Rating = (double)item["Rating"];
                level.Score = (int)(double)item["Score"];
                level.SDate = DateTime.Parse((string)item["SDate"]);
                level.RDate = WWW.UnEscapeURL((string)item["RDate"]);

                if(item.ContainsKey("Data"))
                    level.Data = (string)item["Data"];

                if(item.ContainsKey("CustomData"))
                {
                    Hashtable cd = (Hashtable)item["CustomData"];

                    foreach(var key in cd)
                        level.CustomData.Add((string)key, WWW.UnEscapeURL((string)cd[key]));
                }

                response.Levels.Add(level);
            }
        }

        SetResponse(response, "List");
    }
    public IEnumerator Save(Playtomic_PlayerLevel level)
    {
        var postdata = new Dictionary<String, String>();
        postdata.Add("data", level.Data);
        postdata.Add("playerid", level.PlayerId);
        postdata.Add("playername", level.PlayerName);
        postdata.Add("playersource", Playtomic.SourceUrl);
        postdata.Add("name", level.Name);
        postdata.Add("nothumb", "y");
        postdata.Add("customfields", level.CustomData.Count.ToString());

        var n = 0;

        foreach(var key in level.CustomData.Keys)
        {
            postdata.Add("ckey" + n, key);
            postdata.Add("cdata" + n, level.CustomData[key]);
            n++;
        }

        string url;
        WWWForm post;

        Playtomic_Request.Prepare(SECTION, SAVE, postdata, out url, out post);

        WWW www = new WWW(url, post);
        yield return www;

        var response = Playtomic_Request.Process(www);

        if (response.Success)
        {
            var data = (Hashtable)response.JSON;

            foreach(string key in data.Keys)
            {
                var name = WWW.UnEscapeURL(key);
                var value = WWW.UnEscapeURL((string)data[key]);
                response.Data.Add(name, value);
            }
        }

        SetResponse(response, "Save");
    }
    public IEnumerator Load(string levelid)
    {
        var postdata = new Dictionary<String, String>();
        postdata.Add("levelid", levelid);

        string url;
        WWWForm post;

        Playtomic_Request.Prepare(SECTION, LOAD, postdata, out url, out post);

        WWW www = new WWW(url, post);
        yield return www;

        var response = Playtomic_Request.Process(www);

        if (response.Success)
        {
            var item = response.JSON;
            var level = new Playtomic_PlayerLevel();
            level.LevelId = (string)item["LevelId"];
            level.PlayerSource = (string)item["PlayerSource"];
            level.PlayerName = WWW.UnEscapeURL((string)item["PlayerName"]);
            level.Name = WWW.UnEscapeURL((string)item["Name"]);
            level.Votes = (int)(double)item["Votes"];
            level.Plays = (int)(double)item["Plays"];
            level.Rating = (double)item["Rating"];
            level.Score = (int)(double)item["Score"];
            level.SDate = DateTime.Parse((string)item["SDate"]);
            level.RDate = WWW.UnEscapeURL((string)item["RDate"]);

            if(item.ContainsKey("Data"))
                level.Data = (string)item["Data"];

            if(item.ContainsKey("CustomData"))
            {
                Hashtable customdata = (Hashtable)item["CustomData"];

                foreach(var key in customdata.Keys)
                    level.CustomData.Add((string)key, WWW.UnEscapeURL((string)customdata[key]));
            }

            response.Levels = new List<Playtomic_PlayerLevel>();
            response.Levels.Add(level);
        }

        SetResponse(response, "Load");
    }
Esempio n. 7
0
    public IEnumerator List(string mode, int page, int perpage, bool includedata, bool includethumbs, DateTime datemin, DateTime datemax)
    {
        var postdata = new Dictionary <String, String>();

        postdata.Add("mode", mode);
        postdata.Add("page", page.ToString());
        postdata.Add("perpage", perpage.ToString());
        postdata.Add("thumbs", includethumbs ? "y" : "n");
        postdata.Add("data", includedata ? "y" : "n");
        postdata.Add("datemin", datemin.ToString("MM/dd/yyyy"));
        postdata.Add("datemax", datemax.ToString("MM/dd/yyyy"));



        /*var n = 0;
         *
         * foreach(var key in level.CustomData.Keys)
         * {
         *      postdata.Add("ckey" + n, key);
         *      postdata.Add("cdata" + n, level.CustomData[key]);
         *      n++;
         * }*/

        postdata.Add("filters", "0");

        string  url;
        WWWForm post;

        Playtomic_Request.Prepare(SECTION, LIST, postdata, out url, out post);

        WWW www = new WWW(url, post);

        yield return(www);

        var response = Playtomic_Request.Process(www);

        if (response.Success)
        {
            var data   = (Hashtable)response.JSON;
            var levels = (ArrayList)data["Levels"];
            var len    = levels.Count;

            response.NumItems = (int)(double)data["NumLevels"];
            response.Levels   = new List <Playtomic_PlayerLevel>();

            for (var i = 0; i < len; i++)
            {
                Hashtable item = (Hashtable)levels[i];

                var level = new Playtomic_PlayerLevel();
                level.LevelId      = (string)item["LevelId"];
                level.PlayerSource = (string)item["PlayerSource"];
                level.PlayerName   = WWW.UnEscapeURL((string)item["PlayerName"]);
                level.Name         = WWW.UnEscapeURL((string)item["Name"]);
                level.Votes        = (int)(double)item["Votes"];
                level.Plays        = (int)(double)item["Plays"];
                level.Rating       = (double)item["Rating"];
                level.Score        = (int)(double)item["Score"];
                level.SDate        = DateTime.Parse((string)item["SDate"]);
                level.RDate        = WWW.UnEscapeURL((string)item["RDate"]);

                if (item.ContainsKey("Data"))
                {
                    level.Data = (string)item["Data"];
                }

                if (item.ContainsKey("CustomData"))
                {
                    Hashtable customdata = (Hashtable)item["CustomData"];

                    foreach (var key in customdata.Keys)
                    {
                        level.CustomData.Add((string)key, WWW.UnEscapeURL((string)customdata[key]));
                    }
                }

                response.Levels.Add(level);
            }
        }

        SetResponse(response, "List");
    }
Esempio n. 8
0
    private IEnumerator SaveLevel()
    {
        var level = new Playtomic_PlayerLevel();
        level.Name = "this is a level";
        level.PlayerName = "Ben";
        level.Data = "Asdfasdfasdfasdf";

        yield return StartCoroutine(Playtomic.PlayerLevels.Save(level));
        var response = Playtomic.PlayerLevels.GetResponse("Save");

        if(response.Success)
        {
            Debug.Log("Level saved!");
        }
        else
        {
            Debug.Log("Level failed to save because of " + response.ErrorCode + ": " + response.ErrorDescription);
        }
    }