Ejemplo n.º 1
0
    public static IEnumerator CreatePet(ActivePet newPet, string username)
    {
        string json = JsonUtility.ToJson(newPet.GetSnapshotCopy());

        byte[] data = System.Text.Encoding.Default.GetBytes(json);

        // Create a PUT request because Unity apperantly cannot
        UnityWebRequest request = new UnityWebRequest(HOST + username + "/pet", "PUT");

        request.uploadHandler   = (UploadHandler) new UploadHandlerRaw(data);
        request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
        request.SetRequestHeader("Content-Type", "application/json");

        yield return(request.SendWebRequest());

        if (request.isNetworkError)
        {
            if (offline_mode)
            {
                yield return("0000-0000-0000");
            }
            else
            {
                Debug.Log("Error sending data to server");
            }
        }
        else
        {
            byte[]      result      = request.downloadHandler.data;
            string      resJson     = System.Text.Encoding.Default.GetString(result);
            PetSnapshot newSnapshot = JsonUtility.FromJson <PetSnapshot>(resJson);
            yield return(newSnapshot._id);
        }
    }
Ejemplo n.º 2
0
    public static PetSnapshot Evolve(ActivePet from, Species to)
    {
        double timestamp = Timestamp.GetTimeStamp();

        PetSnapshot snapshot = from.GetSnapshotCopy();

        snapshot.species     = to.speciesName;
        snapshot.longetivity = Random.Range((int)to.longetivityMin, (int)to.longetivityMax + 1);
        snapshot.stage       = from.stage + 1;
        snapshot.stageStamp  = timestamp;

        snapshot.minWeight = to.minWeight;
        snapshot.maxWeight = to.maxWeight;
        if (from.maxWeight - from.minWeight == 0)
        {
            snapshot.Weight = to.baseWeight;
        }
        else
        {
            snapshot.Weight = Mathf.FloorToInt(((from.weight - from.minWeight) / (from.maxWeight - from.minWeight)) * (to.maxWeight - to.minWeight) + to.minWeight);
        }

        snapshot.careMistakeCost = to.careMistakeCost;

        snapshot.hungerRate    = Random.Range(to.hungerRateMin, to.hungerRateMax + 1);
        snapshot.strengthRate  = Random.Range(to.strengthRateMin, to.strengthRateMax + 1);
        snapshot.attentionRate = Random.Range(to.attentionRateMin, to.attentionRateMax + 1);

        snapshot.happinessRate  = Random.Range(to.happinessRateMin, to.happinessRateMax + 1);
        snapshot.disciplineRate = Random.Range(to.disciplineRateMin, to.disciplineRateMax + 1);

        snapshot.energy             = 20;
        snapshot.energyRecoveryRate = to.energyRecoveryRate;
        snapshot.energyStamp        = timestamp;

        snapshot.s_atk = to.atk;
        snapshot.s_spd = to.spd;
        snapshot.s_def = to.def;

        return(snapshot);
    }