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); }
public static ActivePet CreateFromSnapshot(PetSnapshot snapshot) { ActivePet pet = new ActivePet(); pet.SetSnapshot(snapshot); return(pet); }
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); } }