/// <summary>The method <c>GetPet</c> instantiates a Pet /// based on the type of Pet and using the config files as source. /// </summary> public Pet GetPet(string petType) { string petTypeLC = petType.ToLower(); var foundSettings = _settings.Where(sett => sett.Type.Equals(petTypeLC)).ToList(); if (foundSettings.Count == 0) { if (Enum.IsDefined(typeof(PetTypes), petTypeLC)) { Pet basePet = GetPet(); basePet.Type = petTypeLC; return(basePet); } else { return(null); } } else { PetConfigurationSettings petToCreateSettings = foundSettings.First(); Pet newPet = new Pet(); newPet.Happiness = petToCreateSettings.Happiness; newPet.Hungriness = petToCreateSettings.Hungriness; newPet.HappinessRate = petToCreateSettings.HappinessRate; newPet.HungrinessRate = petToCreateSettings.HungrinessRate; newPet.StrokeHappiness = petToCreateSettings.StrokeHappiness; newPet.FeedHungriness = petToCreateSettings.FeedHungriness; newPet.Type = petTypeLC; return(newPet); } }
public static GlobalPetConfigurationSettings generateDefaultSettings() { GlobalPetConfigurationSettings petSettings = new GlobalPetConfigurationSettings(); PetConfigurationSettings petMetrics = new PetConfigurationSettings(); petMetrics.Type = "dog"; petMetrics.HappinessRate = -0.1f; petMetrics.HungrinessRate = 1.0f; petMetrics.Hungriness = 50.0f; petMetrics.Happiness = 50.0f; petMetrics.FeedHungriness = -10.0f; petMetrics.StrokeHappiness = 10.0f; petSettings.Metrics = new List <PetConfigurationSettings> { petMetrics }; return(petSettings); }