Beispiel #1
0
        /// <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);
        }