public void Update()
 {
     CheckDropItem(KeyCode.F2, new Lazy <List <PickupIndex> >(() => ItemDropAPI.GetDefaultDropList(ItemTier.Tier1).Select(x => new PickupIndex(x)).ToList()));
     CheckDropItem(KeyCode.F3, new Lazy <List <PickupIndex> >(() => ItemDropAPI.GetDefaultDropList(ItemTier.Tier2).Select(x => new PickupIndex(x)).ToList()));
     CheckDropItem(KeyCode.F4, new Lazy <List <PickupIndex> >(() => ItemDropAPI.GetDefaultDropList(ItemTier.Tier3).Select(x => new PickupIndex(x)).ToList()));
     CheckDropItem(KeyCode.F5, new Lazy <List <PickupIndex> >(() => ItemDropAPI.GetDefaultEquipmentDropList().Select(x => new PickupIndex(x)).ToList()));
 }
        public ItemIndex GiveAndReturnRandomItem(Inventory inventory)
        {
            var tier1 = ItemDropAPI.GetDefaultDropList(ItemTier.Tier1);
            var tier2 = ItemDropAPI.GetDefaultDropList(ItemTier.Tier2);
            var tier3 = ItemDropAPI.GetDefaultDropList(ItemTier.Tier3);

            WeightedSelection <List <ItemIndex> > weightedSelection = new WeightedSelection <List <ItemIndex> >();

            weightedSelection.AddChoice(tier1, 80f);
            weightedSelection.AddChoice(tier2, 19f);
            weightedSelection.AddChoice(tier3, 1f);

            List <ItemIndex> list = weightedSelection.Evaluate(UnityEngine.Random.value);

            var givenItem = list[UnityEngine.Random.Range(0, list.Count)];

            inventory.GiveItem(givenItem);
            return(givenItem);
        }
Beispiel #3
0
        public void Update()
        {
            CheckDropItem(KeyCode.F2, new Lazy <List <PickupIndex> >(() => ItemDropAPI.GetDefaultDropList(ItemTier.Tier1).Select(x => new PickupIndex(x)).ToList()));
            CheckDropItem(KeyCode.F3, new Lazy <List <PickupIndex> >(() => ItemDropAPI.GetDefaultDropList(ItemTier.Tier2).Select(x => new PickupIndex(x)).ToList()));
            CheckDropItem(KeyCode.F4, new Lazy <List <PickupIndex> >(() => ItemDropAPI.GetDefaultDropList(ItemTier.Tier3).Select(x => new PickupIndex(x)).ToList()));
            CheckDropItem(KeyCode.F5, new Lazy <List <PickupIndex> >(() => ItemDropAPI.GetDefaultEquipmentDropList().Select(x => new PickupIndex(x)).ToList()));

            if (Input.GetKeyDown(KeyCode.F6))
            {
                PlayerCharacterMasterController.instances[0].master.GiveMoney(10000);

                var item = PickupCatalog.GetPickupDef(new PickupIndex(ItemIndex.None));

                var items = new List <PickupIndex> {
                    PickupCatalog.FindPickupIndex(item)                     // item that hasnt an actual prefab (default to exclamation mark) so fairly easy to recognize if it drops
                };
                //ItemDropAPI.AddDrops(ItemDropLocation.LargeChest, items.ToSelection());

                var trans = PlayerCharacterMasterController.instances[0].master.GetBodyObject().transform;

                chests[i++ % chests.Length].DoSpawn(trans.position, trans.rotation, null);
            }
        }