public CatAchievements(int num_pets = 0, int num_brushes = 0, float time_played = 0F, int litter_box_cleaned = 0) { this.num_pets = num_pets; this.num_brushes = num_brushes; this.time_played = time_played; this.litter_box_cleaned = litter_box_cleaned; unlocked = new LinkedList <CatAchievement>(); locked = new LinkedList <CatAchievement>(); // Add acheivements for reaching counters for (int factor = 1, i = 0; i < 4; ++i, factor *= 10) { locked.AddFirst(new PetAchievement(factor)); locked.AddFirst(new BrushAchievement(factor)); locked.AddFirst(new MinutesPlayedAchievement(factor)); locked.AddFirst(new LitterBoxCleanedAchievement(factor)); } GetNewUnlocks(true); if (AdoptionCenter.IsActive()) { return; } this.ui = GameObject.Find("achievement_panel").GetComponent <AchievementUI>(); }
public override void Execute() { string name = this.Data[0]; IAdoptionCenter adoptionCenter = new AdoptionCenter(name); this.Database.AddAdoptionCenter(adoptionCenter); }
public void Adopt(string[] arr) { string adoptionCenterName = arr[1]; AdoptionCenter curr = this.AdoptionCenterlis. Where(se => se.SeeName() == adoptionCenterName).First(); this.adopted = curr.Adoptation().Select(se => se.Name).ToList(); }
public void RegisterAdoptingCenter(string name) { AdoptionCenter adoption = new AdoptionCenter(name); if (!this.adoptionCenter.ContainsKey(name)) { this.adoptionCenter.Add(name, adoption); } }
public void SendForCastration(string[] arr) { string adoptionCenterName = arr[1]; string castrationCenterName = arr[2]; AdoptionCenter CurrAdop = this.AdoptionCenterlis.Where(se => se.Name == adoptionCenterName).First(); CastrationCenter CurrCastr = this.CastrationCentersLis.Where(se => se.Name == castrationCenterName).First(); CurrAdop.Send4Cast(CurrCastr); }
static void Main() { string input; var centers = new List <Center>(); var animals = new List <Animal>(); while ((input = Console.ReadLine()) != "Paw Paw Pawah") { var args = input .Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries) .Select(w => w.Trim()) .ToArray(); var command = args[0]; switch (command) { case "RegisterCleansingCenter": var newCleansingCenter = new CleansingCenter(args[1]); centers.Add(newCleansingCenter); break; case "RegisterAdoptionCenter": var newAdoptionCenter = new AdoptionCenter(args[1]); centers.Add(newAdoptionCenter); break; case "RegisterDog": RegisterDogCommand(args, centers); break; case "RegisterCat": RegisterCatCommand(args, centers); break; case "SendForCleansing": SendForCleansingCommand(args, centers); break; case "Cleanse": CleanseAnimalsCommand(args, centers); break; case "Adopt": AdoptAnimalsCommand(args, centers); break; default: throw new ArgumentException(); } } Console.WriteLine(); PrintResult(centers); }
public void SendForCleansing(string[] arr) { string adoptionCenterName = arr[1]; string cleansingCenterName = arr[2]; AdoptionCenter CurrAdoptionCenter = this.AdoptionCenterlis. Where(se => se.SeeName() == adoptionCenterName).First(); CleansingCenter CurrCleansingCenter = this.CleansingCenterlis. Where(se => se.SeeName() == cleansingCenterName).First(); CurrAdoptionCenter.Cleanse(CurrCleansingCenter); }
public void SendForCleansing(string adoptionCenterName, string cleansingCenterName) { AdoptionCenter adoptionCenter = this.adoptionCenter[adoptionCenterName]; CleansingCenter cleansingCenter = this.cleansingCenter[cleansingCenterName]; if (adoptionCenter == null || cleansingCenter == null) { throw new ArgumentException("No such Center!"); } adoptionCenter.SenForCleaning(cleansingCenter); // this.adoptionCenter[adoptionCenterName] // .SenForCleaning(this.cleansingCenter[cleansingCenterName]); }
public void Cleanse(string[] arr) { string cleansingCenterName = arr[1]; CleansingCenter CurrCleansingCenter = this.CleansingCenterlis. Where(se => se.SeeName() == cleansingCenterName).First(); CurrCleansingCenter.Cleanse(); AllCleansedAnimals = CurrCleansingCenter.animals.Select(se => se.Name).ToList(); foreach (var animal in CurrCleansingCenter.animals) { AdoptionCenter curr = AdoptionCenterlis. Where(se => se.SeeName() == animal.DefCenter).First(); curr.AddAnimal(animal); } }
// send all uncleansed animals from the given adoption center to the given cleansing center public void SendForCleansing(List <string> arguments) { var adoptionCenterName = arguments[0]; var cleansingCenterName = arguments[1]; var adoptionCenter = adoptionCenters.FirstOrDefault(n => n.Name.Equals(adoptionCenterName)); var animalsForCleansing = adoptionCenter .AllRegisteredAnimals .FindAll(a => a.IsCleansed == false && a.AdoptionCenterName.Equals(adoptionCenterName)); currentAdoptionCenter = adoptionCenter; var cleansingCenter = cleansingCenters .FirstOrDefault(n => n.Name.Equals(cleansingCenterName)); cleansingCenter.Animals.AddRange(animalsForCleansing); }
public CatPersonality(float hungriness, float tierdness, float playfullness, float cleanlieness, float sociability, float sleep_threshold = 0.2F, float hunger_threshold = 0.25F, float bladder_threshold = 0.2F, float fun_threshold = 0.7F) { this.hungriness = hungriness; this.tierdness = tierdness; this.playfullness = playfullness; this.cleanlieness = cleanlieness; this.sociability = sociability; this.sleep_threshold = sleep_threshold; this.hunger_threshold = hunger_threshold; this.bladder_threshold = bladder_threshold; this.fun_threshold = fun_threshold; // If in adoption mode, set card sliders if (AdoptionCenter.IsActive()) { GameObject.Find("hungriness_slider").GetComponent <Slider>().value = (int)100 * this.hungriness; GameObject.Find("tierdness_slider").GetComponent <Slider>().value = (int)100 * this.tierdness; GameObject.Find("playfullness_slider").GetComponent <Slider>().value = (int)100 * this.playfullness; GameObject.Find("cleanlieness_slider").GetComponent <Slider>().value = (int)100 * this.cleanlieness; GameObject.Find("sociability_slider").GetComponent <Slider>().value = (int)100 * this.sociability; return; } this.bond_increase_per_second = CalculateMultipier(0.01F, 0.02F, this.sociability); this.bond_increase_when_being_pet_per_second = CalculateMultipier(0.01F, 0.02F, this.sociability); this.bond_increase_per_happieness_per_second = CalculateMultipier(0.01F, 0.02F, this.sociability); this.fullness_decrease_per_second = CalculateMultipier(0.008F, 0.015F, this.hungriness); this.fullness_increase_when_eating_per_second = CalculateMultipier(0.05F, 0.1F, this.hungriness, true); this.energy_decrease_per_second = CalculateMultipier(0.006F, 0.01F, this.tierdness); this.energy_increase_when_sleeping_per_second = CalculateMultipier(0.1F, 0.2F, this.tierdness, true); this.fun_decrease_per_second = CalculateMultipier(0.015F, 0.025F, this.playfullness); this.fun_increase_when_following_laser_per_second = CalculateMultipier(0.05F, 0.1F, this.playfullness); this.fun_increase_when_playing_with_yarn_per_second = CalculateMultipier(0.05F, 0.1F, this.playfullness); this.fun_increase_when_on_catnip_per_second = CalculateMultipier(0.05F, 0.1F, this.playfullness); this.hygiene_decrease_per_second = CalculateMultipier(0.01F, 0.02F, this.cleanlieness); this.hygiene_increase_when_being_brushed_per_second = CalculateMultipier(0.1F, 0.2F, this.cleanlieness); this.bladder_decrease_per_second = CalculateMultipier(0.005F, 0.01F, Random.Range(MIN, MAX)); this.bladder_increase_when_using_litter_box_per_second = CalculateMultipier(0.1F, 0.2F, Random.Range(MIN, MAX)); agent = GameObject.Find("Cat").GetComponent <UnityEngine.AI.NavMeshAgent>(); }
public void RegisterAdoptionCenter(string name) { AdoptionCenter current = new AdoptionCenter(name); this.AdoptionCenters[name] = current; }
// register adoption center with provided adoption center name public void RegisterAdoptionCenter(string adoptionCenterName) { var adoptionCenter = new AdoptionCenter(adoptionCenterName); adoptionCenters.Add(adoptionCenter); }
public CatStats(float energy = MAX, float fullness = MAX, float fun = MAX, float hygiene = MAX, float bladder = MAX, float bond = MAX) { this.energy = energy; this.fullness = fullness; this.fun = fun; this.hygiene = hygiene; this.bladder = bladder; this.bond = bond; if (AdoptionCenter.IsActive()) { return; } //Debug.Log("Initializing energy_buff..."); this.energy_buff = new Buff(true, DEFAULT_BUFF_VALUE, GameObject.Find("EnergySliderGreenEffect"), GameObject.Find("EnergySliderYellowEffect")); //Debug.Log("Initializing energy_debuff..."); this.energy_debuff = new Buff(false, DEFAULT_BUFF_VALUE, GameObject.Find("EnergySliderGreenEffect"), GameObject.Find("EnergySliderYellowEffect")); //Debug.Log("Initializing fullness_buff..."); this.fullness_buff = new Buff(true, DEFAULT_BUFF_VALUE, GameObject.Find("FoodSliderGreenEffect"), GameObject.Find("FoodSliderYellowEffect")); //Debug.Log("Initializing fullness_debuff..."); this.fullness_debuff = new Buff(false, DEFAULT_BUFF_VALUE, GameObject.Find("FoodSliderGreenEffect"), GameObject.Find("FoodSliderYellowEffect")); //Debug.Log("Initializing fun_buff..."); this.fun_buff = new Buff(true, DEFAULT_BUFF_VALUE, GameObject.Find("FunSliderGreenEffect"), GameObject.Find("FunSliderYellowEffect")); //Debug.Log("Initializing fun_debuff..."); this.fun_debuff = new Buff(false, DEFAULT_BUFF_VALUE, GameObject.Find("FunSliderGreenEffect"), GameObject.Find("FunSliderYellowEffect")); //Debug.Log("Initializing hygiene_buff..."); this.hygiene_buff = new Buff(true, DEFAULT_BUFF_VALUE, GameObject.Find("HygieneSliderGreenEffect"), GameObject.Find("HygieneSliderYellowEffect")); //Debug.Log("Initializing hygiene_debuff..."); this.hygiene_debuff = new Buff(false, DEFAULT_BUFF_VALUE, GameObject.Find("HygieneSliderGreenEffect"), GameObject.Find("HygieneSliderYellowEffect")); //Debug.Log("Initializing bladder_buff..."); this.bladder_buff = new Buff(true, DEFAULT_BUFF_VALUE, GameObject.Find("BladderSliderGreenEffect"), GameObject.Find("BladderSliderYellowEffect")); //Debug.Log("Initializing bladder_debuff..."); this.bladder_debuff = new Buff(false, DEFAULT_BUFF_VALUE, GameObject.Find("BladderSliderGreenEffect"), GameObject.Find("BladderSliderYellowEffect")); //Debug.Log("Initializing bond_buff..."); this.bond_buff = new Buff(true, DEFAULT_BUFF_VALUE); //Debug.Log("Initializing bond_debuff..."); this.bond_debuff = new Buff(false, DEFAULT_BUFF_VALUE); updateAllStatBuffVisualEffects(); this.energy_slider = GameObject.Find("energy_slider").GetComponent <Slider> (); this.fullness_slider = GameObject.Find("food_slider").GetComponent <Slider> (); this.hygiene_slider = GameObject.Find("hygiene_slider").GetComponent <Slider> (); this.fun_slider = GameObject.Find("fun_slider").GetComponent <Slider> (); this.bladder_slider = GameObject.Find("bladder_slider").GetComponent <Slider> (); this.happy_indicator = GameObject.Find("HeartParticles").GetComponent <Renderer>(); this.meow_sound = GameObject.Find("meow_sound").GetComponent <AudioSource>(); }
public void RegisterAdoptionCenter(string name) { AdoptionCenter ac = new AdoptionCenter(name); adoptionCenters.Add(name, ac); }
public void RegisterAdoptionCenter(string name) { AdoptionCenter adoptionCenter = new AdoptionCenter(name); adoptionCenters.Add(adoptionCenter); }
public static void Execute() { while (true) { string[] commandArgs = Console.ReadLine().Split(new string[] { " | " }, StringSplitOptions.RemoveEmptyEntries); string command = commandArgs[0]; switch (command) { case "RegisterCastrationCenter": string centerName = commandArgs[1]; castrationCenters.Add(new CastrationCenter(centerName)); break; case "RegisterCleansingCenter": centerName = commandArgs[1]; cleansingCenters.Add(new CleansingCenter(centerName)); break; case "RegisterAdoptionCenter": centerName = commandArgs[1]; adoptionCenters.Add(new AdoptionCenter(centerName)); break; case "RegisterDog": IAnimal dog = null; try { dog = AnimalFactory.CreateAnimal("Dog", commandArgs[1], commandArgs[2], commandArgs[3]); } catch (Exception ex) { Console.WriteLine(ex.Message); continue; } string adoadoptionCenterName = commandArgs[4]; AdoptionCenter center = adoptionCenters.FirstOrDefault(c => c.Name == adoadoptionCenterName); center.AddAnimal(dog); break; case "RegisterCat": IAnimal cat = null; try { cat = AnimalFactory.CreateAnimal("Cat", commandArgs[1], commandArgs[2], commandArgs[3]); } catch (Exception ex) { Console.WriteLine(ex.Message); } adoadoptionCenterName = commandArgs[4]; center = adoptionCenters.FirstOrDefault(c => c.Name == adoadoptionCenterName); center.AddAnimal(cat); break; case "SendForCleansing": adoadoptionCenterName = commandArgs[1]; string cleansingCenterName = commandArgs[2]; AdoptionCenter adoadoptionCenter = adoptionCenters.FirstOrDefault(c => c.Name == adoadoptionCenterName); CleansingCenter cleansingCenter = cleansingCenters.FirstOrDefault(c => c.Name == cleansingCenterName); cleansingCenter.AddAnimalsFromAdoptionCenter(adoadoptionCenter.SendForCleansing()); break; case "SendForCastration": adoadoptionCenterName = commandArgs[1]; string castrationCenterName = commandArgs[2]; adoadoptionCenter = adoptionCenters.FirstOrDefault(c => c.Name == adoadoptionCenterName); CastrationCenter castrationCenter = castrationCenters.FirstOrDefault(c => c.Name == castrationCenterName); castrationCenter.AddAnimalsFromAdoptionCenter(adoadoptionCenter.SendForCastration()); break; case "Cleanse": cleansingCenterName = commandArgs[1]; cleansingCenter = cleansingCenters.FirstOrDefault(c => c.Name == cleansingCenterName); var centerAndAnimals = cleansingCenter.Cleanse(); foreach (var pair in centerAndAnimals) { adoadoptionCenterName = pair.Key; adoadoptionCenter = adoptionCenters.FirstOrDefault(c => c.Name == adoadoptionCenterName); adoadoptionCenter.AddAnimals(pair.Value); } break; case "Castrate": castrationCenterName = commandArgs[1]; castrationCenter = castrationCenters.FirstOrDefault(c => c.Name == castrationCenterName); centerAndAnimals = castrationCenter.Castrate(); foreach (var pair in centerAndAnimals) { adoadoptionCenterName = pair.Key; adoadoptionCenter = adoptionCenters.FirstOrDefault(c => c.Name == adoadoptionCenterName); adoadoptionCenter.AddAnimals(pair.Value); } break; case "Adopt": adoadoptionCenterName = commandArgs[1]; adoadoptionCenter = adoptionCenters.FirstOrDefault(c => c.Name == adoadoptionCenterName); adoadoptionCenter.Adopt(); break; case "CastrationStatistics": StringBuilder sb = new StringBuilder(); sb.Append($"Paw Inc. Regular Castration Statistics{Environment.NewLine}"); sb.Append($"Castration Centers: {castrationCenters.Count}{Environment.NewLine}"); string castratedAnimals = CastrationCenter.CastratedAnimals.Count == 0 ? "None" : string.Join(", ", CastrationCenter.CastratedAnimals.OrderBy(a => a.Name)); sb.Append($"Castrated Animals: {castratedAnimals}"); Console.WriteLine(sb.ToString()); break; case "Paw Paw Pawah": sb = new StringBuilder(); sb.Append($"Paw Incorporative Regular Statistics{Environment.NewLine}"); sb.Append($"Adoption Centers: {adoptionCenters.Count}{Environment.NewLine}"); sb.Append($"Cleansing Centers: {cleansingCenters.Count}{Environment.NewLine}"); string adoptedAnimals = AdoptionCenter.AdoptedAnimals.Count == 0 ? "None" : string.Join(", ", AdoptionCenter.AdoptedAnimals.OrderBy(a => a.Name)); sb.Append($"Adopted Animals: {adoptedAnimals}{Environment.NewLine}"); string cleansedAnimals = CleansingCenter.CleansedAnimals.Count == 0 ? "None" : string.Join(", ", CleansingCenter.CleansedAnimals.OrderBy(a => a.Name)); sb.Append($"Cleansed Animals: {cleansedAnimals}{Environment.NewLine}"); int amountOfAnimalsWaitingForAdoption = adoptionCenters.Sum(a => a.AnimalsAwaitingAdoption()); sb.Append($"Animals Awaiting Adoption: {amountOfAnimalsWaitingForAdoption}{Environment.NewLine}"); int amountOfAnimalsWaitingForCleansing = cleansingCenters.Sum(a => a.AnimalsAwaitingCleansing()); sb.Append($"Animals Awaiting Cleansing: {amountOfAnimalsWaitingForCleansing}"); Console.WriteLine(sb.ToString()); return; } } }
public static void Start() { var adoptet = new List <string>(); var adoptetCentres = new List <AdoptionCenter>(); var clinned = new List <string>(); var clinnedCeneters = new List <CleansingCenter>(); var castrationCenter = new List <CastrationCenter>(); var castrationAnimals = new List <string>(); string inputLine; while ((inputLine = Console.ReadLine()) != "Paw Paw Pawah") { var command = inputLine.Split(new string[] { " | " }, StringSplitOptions.RemoveEmptyEntries); var cmdArg = command[0]; string name = null; if (command.Length > 1) { name = command[1]; } switch (cmdArg) { case "RegisterCleansingCenter": var clining = new CleansingCenter(name); clinnedCeneters.Add(clining); break; case "RegisterAdoptionCenter": var adop = new AdoptionCenter(name); adoptetCentres.Add(adop); break; case "RegisterDog": var dog = new Dog(name, int.Parse(command[2]), int.Parse(command[3]), command[4]); adoptetCentres.First(n => n.Name == command[4]).AddAnimal(dog); break; case "RegisterCat": var cat = new Cat(name, int.Parse(command[2]), int.Parse(command[3]), command[4]); adoptetCentres.First(n => n.Name == command[4]).AddAnimal(cat); break; case "SendForCleansing": var forClining = adoptetCentres.First(c => c.Name == name); var cliniin = clinnedCeneters.First(c => c.Name == command[2]); cliniin.AddForClining(forClining.Animals); break; case "Cleanse": var clin = clinnedCeneters.First(c => c.Name == name); foreach (var clinAnimal in clin.Animals) { clinned.Add(clinAnimal.Name); } clin.CliningAnimal(); break; case "Adopt": var adopt = adoptetCentres.FirstOrDefault(c => c.Name == name); if (adopt != null) { foreach (var clinAnimal in adopt.Animals) { if (clinAnimal.Status) { adoptet.Add(clinAnimal.Name); } } } adopt.Adopt(adoptet); break; case "RegisterCastrationCenter": var center = new CastrationCenter(name); castrationCenter.Add(center); break; case "SendForCastration": var adoptetCenter = adoptetCentres.FirstOrDefault(c => c.Name == name); var centerCast = castrationCenter.FirstOrDefault(c => c.Name == command[2]); if (adoptetCenter != null && centerCast != null) { centerCast.AddAnimalCastration(adoptetCenter.Animals); } break; case "Castrate": var cst = castrationCenter.First(c => c.Name == name); foreach (var cstAnimal in cst.Animals) { castrationAnimals.Add(cstAnimal.Name); } cst.Castration(); break; case "CastrationStatistics": var sbb = new StringBuilder(); sbb.AppendLine($"Paw Inc. Regular Castration Statistics") .AppendLine($"Castration Centers: {castrationCenter.Count}"); if (castrationAnimals.Count != 0) { sbb.AppendLine($"Castrated Animals: {string.Join(", ", castrationAnimals.OrderBy(x => x))}"); } else { sbb.AppendLine($"Castrated Animals: None"); } Console.WriteLine(sbb.ToString().Trim()); break; } } var sb = new StringBuilder(); sb.AppendLine($"Paw Incorporative Regular Statistics") .AppendLine($"Adoption Centers: {adoptetCentres.Count}") .AppendLine($"Cleansing Centers: {clinnedCeneters.Count}"); if (adoptet.Count == 0) { sb.AppendLine($"Adopted Animals: None"); } else { sb.AppendLine($"Adopted Animals: {string.Join(", ", adoptet.OrderBy(x => x))}"); } if (clinned.Count == 0) { sb.AppendLine($"Cleansed Animals: None"); } else { sb.AppendLine($"Cleansed Animals: {string.Join(", ", clinned.OrderBy(x=>x))}"); } int count = 0; foreach (var VARIABLE in adoptetCentres.SelectMany(x => x.Animals)) { if (VARIABLE.Status) { count++; } } sb.AppendLine($"Animals Awaiting Adoption: {count}"); int coont = 0; foreach (var VARIABLE in clinnedCeneters.SelectMany(x => x.Animals)) { if (!VARIABLE.Status) { coont++; } } sb.AppendLine($"Animals Awaiting Cleansing: {coont}"); var result = sb.ToString().Trim(); Console.WriteLine(result); }