public MeatData ChooseMeatToBuy() { WeightedList <MeatPopularity> meatsToChooseFrom = new WeightedList <MeatPopularity>(NpcCharacterBehaviour.CurrentCityRegion.meatsPopularity.List); MeatData chosenMeat = null; while (!chosenMeat && meatsToChooseFrom.List.Count > 0) { MeatPopularity tempChosenMeatPopularity = meatsToChooseFrom.GetRandomWeightedElement(); chosenMeat = GameManager.Instance.Player.Inventory.HasMeatType(tempChosenMeatPopularity.meatData) ? tempChosenMeatPopularity.meatData : null; if (!chosenMeat) { if (tempChosenMeatPopularity.thisOrNothing) { break; } else { meatsToChooseFrom.List.Remove(tempChosenMeatPopularity); } } } if (!chosenMeat) { NoMeatBought(); } return(chosenMeat); }
//call this to set the meat data public void SetMeatData(MeatData m) { data = m; sprite.sprite = data.pic; col.size = sprite.bounds.size; col.offset = new Vector2(0, 0); pointvalue = m.pointvalue; rb.velocity = new Vector2(0, -m.fallspeed); }
public void CustomerBuy(NpcCharacterBehaviour customer, MeatData meatDataBought) { if (meatDataBought) { MeatBehaviour spawnedMeatBehaviourBought = spawnedMeats.Find(meatBehaviour => meatBehaviour.meat.Data == meatDataBought); spawnedMeats.Remove(spawnedMeatBehaviourBought); GameManager.Instance.Player.Inventory.Meats.Remove(spawnedMeatBehaviourBought.meat); MeatPopularity boughtMeatPopularity = customer.CurrentCityRegion.meatsPopularity.List.Find(meatPopularity => meatPopularity.meatData == meatDataBought); boughtMeatPopularity.DecreasePopularityAfterBuy(); spawnedMeatBehaviourBought.JumpTo(customer.mainRigidbody.position, true, () => Destroy(spawnedMeatBehaviourBought.gameObject), true); int cashValueEarned = boughtMeatPopularity.GetMeatFinalValue(); for (int i = 0; i < cashValueEarned; i++) { spawnedEarnedCash.Add(Instantiate(cashTable.CashValues[1], customer.mainRigidbody.position, Quaternion.identity, transform)); } GameManager.Instance.Player.Inventory.Cash += cashValueEarned; } }
public void Edit <T>(IAssetData asset) { if (asset.AssetNameEquals("Data\\ObjectInformation")) { var data = asset.AsDictionary <int, string>().Data; //MEAT MeatData = DataLoader.Helper.Data.ReadJsonFile <MeatData>("data\\meats.json") ?? new MeatData(); DataLoader.Helper.Data.WriteJsonFile("data\\meats.json", MeatData); data[(int)Meat.Beef] = Meat.Beef.GetObjectString(); data[(int)Meat.Pork] = Meat.Pork.GetObjectString(); data[(int)Meat.Chicken] = Meat.Chicken.GetObjectString(); data[(int)Meat.Duck] = Meat.Duck.GetObjectString(); data[(int)Meat.Rabbit] = Meat.Rabbit.GetObjectString(); data[(int)Meat.Mutton] = Meat.Mutton.GetObjectString(); //COOKING data[(int)Cooking.Meatloaf] = Cooking.Meatloaf.GetObjectString(); data[(int)Cooking.OrangeChicken] = Cooking.OrangeChicken.GetObjectString(); data[(int)Cooking.MonteCristo] = Cooking.MonteCristo.GetObjectString(); data[(int)Cooking.BaconCheeseburger] = Cooking.BaconCheeseburger.GetObjectString(); data[(int)Cooking.RoastDuck] = Cooking.RoastDuck.GetObjectString(); data[(int)Cooking.RabbitAuVin] = Cooking.RabbitAuVin.GetObjectString(); data[(int)Cooking.SteakFajitas] = Cooking.SteakFajitas.GetObjectString(); data[(int)Cooking.GlazedHam] = Cooking.GlazedHam.GetObjectString(); data[(int)Cooking.SummerSausage] = Cooking.SummerSausage.GetObjectString(); data[(int)Cooking.SweetAndSourPork] = Cooking.SweetAndSourPork.GetObjectString(); data[(int)Cooking.RabbitStew] = Cooking.RabbitStew.GetObjectString(); data[(int)Cooking.WinterDuck] = Cooking.WinterDuck.GetObjectString(); data[(int)Cooking.SteakWithMushrooms] = Cooking.SteakWithMushrooms.GetObjectString(); data[(int)Cooking.CowboyDinner] = Cooking.CowboyDinner.GetObjectString(); data[(int)Cooking.Bacon] = Cooking.Bacon.GetObjectString(); } else if (asset.AssetNameEquals("Data\\Bundles")) { var data = asset.AsDictionary <string, string>().Data; string value = data["Pantry/4"]; if (!value.Contains("644 1 0") && value.Contains("/4/5")) { value = value.Insert(value.LastIndexOf("/4/5"), " 644 1 0"); } data["Pantry/4"] = value; } else if (asset.AssetNameEquals("Data\\NPCGiftTastes")) { var data = asset.AsDictionary <string, string>().Data; AddUniversalGiftTaste(data, Taste.Dislike, "-14"); AddNpcGiftTaste(data, "Linus", Taste.Neutral, "-14"); AddNpcGiftTaste(data, "Linus", Taste.Like, "643"); AddNpcGiftTaste(data, "Linus", Taste.Love, "657", "662"); AddNpcGiftTaste(data, "Pam", Taste.Dislike, "656", "665"); AddNpcGiftTaste(data, "Pam", Taste.Neutral, "-14"); AddNpcGiftTaste(data, "Pam", Taste.Love, "657"); AddNpcGiftTaste(data, "Gus", Taste.Neutral, "-14"); AddNpcGiftTaste(data, "Gus", Taste.Love, "653", "660"); AddNpcGiftTaste(data, "Jodi", Taste.Hate, "652", "660"); AddNpcGiftTaste(data, "Jodi", Taste.Neutral, "-14"); AddNpcGiftTaste(data, "Jodi", Taste.Love, "661"); AddNpcGiftTaste(data, "Jodi", Taste.Like, "640"); AddNpcGiftTaste(data, "Kent", Taste.Neutral, "-14"); AddNpcGiftTaste(data, "Kent", Taste.Like, "642"); AddNpcGiftTaste(data, "Kent", Taste.Love, "656", "663"); AddNpcGiftTaste(data, "Marnie", Taste.Hate, MeatDishes.Concat(new string[] { "-14" }).ToArray()); AddNpcGiftTaste(data, "Evelyn", Taste.Hate, "-14"); AddNpcGiftTaste(data, "Evelyn", Taste.Dislike, MeatDishes); AddNpcGiftTaste(data, "Emily", Taste.Hate, "-14"); AddNpcGiftTaste(data, "Emily", Taste.Dislike, MeatDishes); AddNpcGiftTaste(data, "Alex", Taste.Like, "639"); AddNpcGiftTaste(data, "Shane", Taste.Hate, "641", "653"); AddNpcGiftTaste(data, "Shane", Taste.Love, "655", "658"); AddNpcGiftTaste(data, "Leah", Taste.Hate, "644"); AddNpcGiftTaste(data, "Leah", Taste.Dislike, "655", "660", "666"); AddNpcGiftTaste(data, "Harvey", Taste.Dislike, "654", "655"); AddNpcGiftTaste(data, "Harvey", Taste.Love, "657", "664"); AddNpcGiftTaste(data, "Sam", Taste.Dislike, "662", "664"); AddNpcGiftTaste(data, "Sebastian", Taste.Dislike, "665"); AddNpcGiftTaste(data, "Sebastian", Taste.Love, "661"); AddNpcGiftTaste(data, "Abigail", Taste.Love, "666"); AddNpcGiftTaste(data, "Haley", Taste.Love, "657", "663"); AddNpcGiftTaste(data, "Maru", Taste.Dislike, "659"); AddNpcGiftTaste(data, "Maru", Taste.Love, "656"); AddNpcGiftTaste(data, "Penny", Taste.Dislike, "657"); AddNpcGiftTaste(data, "Penny", Taste.Love, "662"); AddNpcGiftTaste(data, "Caroline", Taste.Love, "653", "661"); AddNpcGiftTaste(data, "Clint", Taste.Dislike, "663"); AddNpcGiftTaste(data, "Demetrius", Taste.Dislike, "660"); AddNpcGiftTaste(data, "Demetrius", Taste.Love, "665"); AddNpcGiftTaste(data, "George", Taste.Hate, "658"); AddNpcGiftTaste(data, "George", Taste.Love, "662", "664"); AddNpcGiftTaste(data, "Jas", Taste.Love, "659"); AddNpcGiftTaste(data, "Lewis", Taste.Hate, "654"); AddNpcGiftTaste(data, "Lewis", Taste.Love, "652", "659", "663"); AddNpcGiftTaste(data, "Pierre", Taste.Dislike, "665"); AddNpcGiftTaste(data, "Pierre", Taste.Love, "654", "661", "666"); AddNpcGiftTaste(data, "Robin", Taste.Love, "652", "665"); AddNpcGiftTaste(data, "Sandy", Taste.Hate, "661"); AddNpcGiftTaste(data, "Vincent", Taste.Love, "659"); } }
public MeatPopularity(MeatData meatData, float popularity, bool thisOrNothing) { this.meatData = meatData; this.popularity = popularity; this.thisOrNothing = thisOrNothing; }