Exemplo n.º 1
0
    public static ActivePet CreatePet(Species species, int stage, string treeName)
    {
        if (species == null)
        {
            return(null);
        }

        double timestamp = Timestamp.GetTimeStamp();

        PetSnapshot petSnapshot = new PetSnapshot();

        petSnapshot.nickname    = "";
        petSnapshot.species     = species.speciesName;
        petSnapshot.birth       = timestamp;
        petSnapshot.longetivity = Random.Range((int)species.longetivityMin, (int)species.longetivityMax + 1);

        petSnapshot.treeName   = treeName;
        petSnapshot.stage      = stage;
        petSnapshot.stageStamp = timestamp;

        petSnapshot.minWeight = species.minWeight;
        petSnapshot.maxWeight = species.maxWeight;
        petSnapshot.Weight    = species.baseWeight;

        petSnapshot.careMistakeCost = species.careMistakeCost;

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

        petSnapshot.hungerStamp    = timestamp;
        petSnapshot.strengthStamp  = timestamp;
        petSnapshot.attentionStamp = timestamp;

        petSnapshot.happiness      = 50;
        petSnapshot.happinessRate  = Random.Range(species.happinessRateMin, species.happinessRateMax + 1);
        petSnapshot.happinessStamp = timestamp;

        petSnapshot.discipline      = 50;
        petSnapshot.disciplineRate  = Random.Range(species.disciplineRateMin, species.disciplineRateMax + 1);
        petSnapshot.disciplineStamp = timestamp;

        petSnapshot.energy             = 20;
        petSnapshot.energyRecoveryRate = species.energyRecoveryRate;
        petSnapshot.energyStamp        = timestamp;

        petSnapshot.s_atk = species.atk;
        petSnapshot.s_spd = species.spd;
        petSnapshot.s_def = species.def;

        petSnapshot.g_atk = Random.Range(0, 17);
        petSnapshot.g_spd = Random.Range(0, 17);
        petSnapshot.g_def = Random.Range(0, 17);

        ActivePet pet = new ActivePet();

        pet.SetSnapshot(petSnapshot);

        return(pet);
    }
Exemplo n.º 2
0
    public static ActivePet CreateFromSnapshot(PetSnapshot snapshot)
    {
        ActivePet pet = new ActivePet();

        pet.SetSnapshot(snapshot);
        return(pet);
    }
Exemplo n.º 3
0
    public IEnumerator SaveSnapshot(ActivePet pet, PetSnapshot snapshot, PetSnapshot backup)
    {
        UIManager.instance.SetLoading(true, "Syncing", true);

        Coroutine <bool> routine = this.StartCoroutine <bool>(DataService.UpdatePet(snapshot));

        yield return(routine.coroutine);

        UIManager.instance.SetLoading(false, "", true);

        if (routine.returnVal == false)
        {
            Debug.Log("No response from server: Aborting save and restoring backup.");
            pet.SetSnapshot(backup);
        }
    }