示例#1
0
    private void Victory()
    {
        victory.SetActive(true);
        points_victory.text = "Points: " + coins;

        JSONLevel l = HandleJSON.GetLevels()[0];

        if (coins > l.player_score)
        {
            JSONPlayer player = HandleJSON.GetPlayer();
            player.coins += coins - l.player_score;
            HandleJSON.WriteJsonPlayer(player);
            l.player_score = coins;
            HandleJSON.WriteJsonLevel(l);
        }

        if (coins >= l.gold)
        {
            trophy.text = "Gold";
        }
        else if (coins >= l.silver)
        {
            trophy.text = "Silver";
        }
        else if (coins >= l.bronze)
        {
            trophy.text = "Bronze";
        }
        else
        {
            trophy.text = "";
        }
    }
示例#2
0
    public static JSONPlayer GetPlayer()
    {
        string json = File.ReadAllText(Application.streamingAssetsPath + JSON_PLAYER_PATH);

        JSONPlayer p = JsonUtility.FromJson <JSONPlayer>(json);

        return(p);
    }
示例#3
0
    public void LoadLevel()
    {
        JSONPlayer p = HandleJSON.GetPlayer();

        p.current_level = level;
        p.is_endless    = 0;
        HandleJSON.WriteJsonPlayer(p);
        SceneManager.LoadScene("Scene_Main");
    }
示例#4
0
    private void Start()
    {
        if (manageStates.Length > 0)
        {
            index = 0;
            SetState(index, -1);
        }

        jSONPlayer     = HandleJSON.GetPlayer();
        coinsText.text = "Coins: " + jSONPlayer.coins;
    }
示例#5
0
 public void NextLevel()
 {
     if (endless)
     {
         progress++;
         Setup();
     }
     else
     {
         int length = HandleJSON.GetLevels().Length;
         if (progress < length - 1)
         {
             JSONPlayer p = HandleJSON.GetPlayer();
             p.current_level = progress;
             HandleJSON.WriteJsonPlayer(p);
             progress++;
             Setup();
         }
         else
         {
             SceneManager.LoadScene("Scene_Main_Menu");
         }
     }
 }
示例#6
0
    public static void WriteJsonPlayer(JSONPlayer p)
    {
        string j = JsonUtility.ToJson(p, true);

        File.WriteAllText(Application.streamingAssetsPath + JSON_PLAYER_PATH, j);
    }
示例#7
0
    public static ReturnObject getSave()
    {
        string url         = "https://byteme.online/api/save/";
        bool   result      = false;
        string result_text = "";

        UnityWebRequest request = UnityWebRequest.Get(url);

        request.SetRequestHeader("Authorization", string.Concat("Token ", token));
        request.SetRequestHeader("Content-Type", "application/json");
        request.SetRequestHeader("topsecret", "Mcjdan,dryd.ugjtgo.oekrpat!");


        request.Send();

        int limit   = 3000;
        int counter = 0;

        while ((!request.isDone || !request.downloadHandler.isDone) && counter != limit)
        {
            //Keep looping until the request finishes or errors
            System.Threading.Thread.Sleep(1);
            counter++;
        }

        print(limit + " " + counter);
        if (request.isError || counter == limit)
        {
            return(new ReturnObject(false, "Could not connect to server"));
        }

        if (request.responseCode == 200)
        {
            string json = request.downloadHandler.text;
            print(json);

            JSONObject obj   = new JSONObject(json);
            long       count = obj.GetField("count").i;

            if (count == 1)
            {
                JSONObject saveData = obj.GetField("results");
                print(saveData [0].ToString());
                JSONPlayer jsonPlayer = JsonUtility.FromJson <JSONPlayer> (saveData[0].ToString());
                jsonPlayer.setPlayerStats(FindObjectOfType(typeof(Player)) as Player);

                string   formatted_time = jsonPlayer.time;
                string[] splitted       = formatted_time.Split(':');
                int      hours          = int.Parse(splitted [0]) * 3600;
                int      minutes        = int.Parse(splitted [1]) * 60;
                int      seconds        = int.Parse(splitted [2]);

                time   = hours + minutes + seconds;
                result = true;
            }
            else
            {
                Player player = FindObjectOfType(typeof(Player)) as Player;
                player.SetHealth(Player.defaultHealth);
                player.SetDamage(Player.defaultDamage);
                player.SetSpeed(Player.defaultSpeed);
                player.SetDefense(Player.defaultDefense);
                player.SetNextLevel(1);
                player.SetKillCounter(0);
                result = true;
            }
        }
        else
        {
            print(request.responseCode);
            result_text = request.responseCode + ": could not connect to server";
            result      = false;
        }

        return(new ReturnObject(result, result_text));
    }
示例#8
0
    public static ReturnObject postSave()
    {
        print(token);

        string url         = "https://byteme.online/api/save/";
        bool   result      = false;
        string result_text = "";

        JSONPlayer jsonPlayer = new JSONPlayer(FindObjectOfType(typeof(Player)) as Player);
        string     body       = jsonPlayer.ToJSON();

        byte[]           bytes = System.Text.Encoding.UTF8.GetBytes(body);
        UploadHandlerRaw uh    = new UploadHandlerRaw(bytes);

        //print(userInfo.ToString());
        UnityWebRequest request = UnityWebRequest.Post(url, body);

        request.SetRequestHeader("Authorization", string.Concat("Token ", token));
        request.SetRequestHeader("Content-Type", "application/json");
        request.SetRequestHeader("topsecret", "Mcjdan,dryd.ugjtgo.oekrpat!");
        request.uploadHandler = uh;


        request.Send();

        int limit   = 3000;
        int counter = 0;

        while ((!request.isDone || !request.downloadHandler.isDone) && counter != limit)
        {
            //Keep looping until the request finishes or errors
            System.Threading.Thread.Sleep(1);
            counter++;
        }

        print(limit + " " + counter);
        if (request.isError || counter == limit)
        {
            return(new ReturnObject(false, "Could not connect to server"));
        }

        if (request.responseCode == 201)
        {
            result = true;
            print("Successfull!");
        }
        else
        {
            try {
                print(request.responseCode);
                print(request.downloadHandler.text);
                JSONObject    obj     = new JSONObject(request.downloadHandler.text);
                List <string> keyList = obj.keys;

                foreach (string item in keyList)
                {
                    result_text += item;
                    result_text += ": " + obj.GetField(item).ToString().Replace("\"", "") + "\n";
                }

                print(result_text);
                result = false;
            } catch (Exception ex) {
                result_text = request.responseCode + ": could not connect to server";
                result      = false;
            }
        }

        return(new ReturnObject(result, result_text));
    }