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);
    }
示例#2
0
 //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);
 }
示例#3
0
    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");
            }
        }
示例#5
0
 public MeatPopularity(MeatData meatData, float popularity, bool thisOrNothing)
 {
     this.meatData      = meatData;
     this.popularity    = popularity;
     this.thisOrNothing = thisOrNothing;
 }