public void Create(IInventoryHolder target, Vector2 pos, Item.Type type)
 {
     follow             = target;
     transform.position = pos;
     transform.parent   = ParticleGenerator.holder;
     this.type          = type;
 }
Example #2
0
 public void DropAllLoot(IInventoryHolder inventoryHolder)
 {
     for (int i = 0; i < lootStack.Count; i++)
     {
         DropLoot(lootStack[i], inventoryHolder);
     }
 }
Example #3
0
    public static List <ItemStack> GetScriptedDrop(IInventoryHolder target)
    {
        if (target is Shuttle)
        {
            return(null);
        }
        if (items.Count == 0)
        {
            scriptedDropsActive = false;
        }
        if (!scriptedDropsActive)
        {
            return(null);
        }

        int random = Random.Range(1, items.Count);

        if (random >= items.Count)
        {
            random = 0;
        }
        List <ItemStack> stacks = items[random];

        items.RemoveAt(random);
        scriptedDropsActive = items.Count != 0;
        return(stacks);
    }
 public static void SetInventoryHolder(IInventoryHolder newInventoryHolder)
 {
     if (newInventoryHolder == null)
     {
         return;
     }
     inventoryHolder = newInventoryHolder;
 }
Example #5
0
 protected virtual void DropLoot(IInventoryHolder target, float dropModifier)
 {
     if (loot == null)
     {
         return;
     }
     loot.DropAllLoot(target);
 }
Example #6
0
 public ItemUseQReq(Item.Type typeNeeded, int amountNeeded,
                    IInventoryHolder inventoryHolder, string description = null)
     : base(description != null ? description : "Use {0} {1}: {2} / {0}", null)
 {
     this.typeNeeded      = typeNeeded;
     this.amountNeeded    = amountNeeded;
     this.inventoryHolder = inventoryHolder;
 }
 public GatheringQReq(Item.Type typeNeeded, int amountNeeded,
                      IInventoryHolder inventoryHolder, string description = null, IWaypoint waypoint = null)
     : base(string.IsNullOrWhiteSpace(description)
                           ? "Gather {0} {1}: {2} / {0}" : description, waypoint)
 {
     this.typeNeeded      = typeNeeded;
     this.amountNeeded    = amountNeeded;
     this.inventoryHolder = inventoryHolder;
 }
Example #8
0
        private void DropLoot(Loot loot, IInventoryHolder inventoryHolder)
        {
            ItemStack stack  = loot.GetStack();
            int       amount = stack.Amount;

            Item.Type itemType = stack.ItemType;
            for (int i = 0; i < amount; i++)
            {
                DropItem(itemType, inventoryHolder);
            }
        }
Example #9
0
        public int GetPerformCount(PerformerTask p)
        {
            IInventoryHolder h = p.Performer as IInventoryHolder;

            if (h == null)
            {
                return(0);
            }

            return(PerformCount(h.Inventory));
        }
    public void DropResource(IInventoryHolder target, Vector2 pos, Item.Type type)
    {
        if (type == Item.Type.Blank)
        {
            return;
        }

        ResourceDrop rd = Instantiate(dropPrefab);

        rd.Create(target, pos, type);
    }
Example #11
0
        public void Bind(IActionPerformer boundPerformer)
        {
            IInventoryHolder holder         = boundPerformer as IInventoryHolder;
            Inventory        boundInventory = holder.Inventory;

            foreach (var action in Actions)
            {
                AcceptorAction acceptorAction = action.Value as AcceptorAction;
                acceptorAction.Bind(boundInventory);
            }
        }
Example #12
0
    protected override void DropLoot(IInventoryHolder target, float dropModifier)
    {
        base.DropLoot(target, dropModifier);

        for (int i = 0; i < DefaultInventory.Size; i++)
        {
            ItemStack stack = DefaultInventory.ItemStacks[i];
            for (int j = 0; j < stack.Amount; j++)
            {
                PartGen.DropResource(target,
                                     transform.position, stack.ItemType);
            }
        }
    }
Example #13
0
        public void SetInventoryHolder(IInventoryHolder newInventoryHolder)
        {
            if (newInventoryHolder == null ||
                newInventoryHolder == inventoryHolder)
            {
                return;
            }
            if (inventoryHolder != null)
            {
                inventoryHolder.OnItemCollected -= GeneratePopup;
            }

            inventoryHolder = newInventoryHolder;
            inventoryHolder.OnItemCollected += GeneratePopup;
        }
Example #14
0
    public virtual void DestroySelf(Entity destroyer, float dropModifier)
    {
        if (destroyer)
        {
            destroyer.DestroyedAnEntity(this);
        }
        if (EntityNetwork.ConfirmLocation(this, coords))
        {
            EntityNetwork.RemoveEntity(this);
        }
        IInventoryHolder target = destroyer as IInventoryHolder;

        DropLoot(target, dropModifier);
        Destroy(gameObject);
    }
Example #15
0
        private void DropItem(Item.Type itemType, IInventoryHolder inventoryHolder)
        {
            if (itemType == Item.Type.Blank)
            {
                return;
            }

            if (pickupPrefab == null)
            {
                Debug.Log("Pickup prefab is null", gameObject);
                return;
            }
            ChasingItemPickup pickup = Instantiate(pickupPrefab, transform.position,
                                                   Quaternion.identity, ParticleGenerator.holder);

            pickup.Pickup.SetItemType(itemType);
            pickup.SetTarget(inventoryHolder);
        }
Example #16
0
    protected override void DropLoot(IInventoryHolder target, float dropModifier)
    {
        base.DropLoot(target, dropModifier);

        if (FirstQuestScriptedDrops.scriptedDropsActive)
        {
            List <ItemStack> stacks = FirstQuestScriptedDrops.GetScriptedDrop(target);
            if (stacks != null)
            {
                for (int i = 0; i < stacks.Count; i++)
                {
                    ItemStack stack = stacks[i];
                    for (int j = 0; j < stack.Amount; j++)
                    {
                        PartGen.DropResource(target,
                                             transform.position, stack.ItemType);
                    }
                }
                return;
            }
        }
    }
Example #17
0
    public void MoveItem(int fromPos, int toPos, int amount, IInventoryHolder toHolder = null)
    {
        if (amount <= 0 || itemHolders[fromPos].IsEmpty())
        {
            return;
        }

        int amountToMove = amount, destAmount = itemHolders[toPos].Amount;

        if (destAmount + amount > ItemHolder.ITEM_CAPACITY)
        {
            amountToMove = ItemHolder.ITEM_CAPACITY - destAmount;
        }

        ItemHolder holderToMove;

        if (itemHolders[fromPos].IsEquipped)
        {
            holderToMove = new ItemHolderFactory().CreateEquipmentHolder(itemHolders[fromPos].TheItem);
        }
        else
        {
            holderToMove = new ItemHolderFactory().CreateRegularHolder(itemHolders[fromPos].TheItem, amountToMove);
        }

        if (toHolder == null)
        {
            AddAt(holderToMove, toPos);
        }
        else
        {
            toHolder.AddAt(holderToMove, toPos);
        }

        RemoveAt(fromPos, amountToMove);
    }
 public GatheringQReq(Item.Type typeNeeded, IInventoryHolder inventoryHolder,
                      string description = null, IWaypoint waypoint = null)
     : this(typeNeeded, 1, inventoryHolder, description, waypoint)
 {
 }
Example #19
0
 public ItemUseQReq(Item.Type typeNeeded,
                    IInventoryHolder inventoryHolder, string description = null)
     : this(typeNeeded, 1, inventoryHolder, description)
 {
 }
Example #20
0
 public void SetTarget(IInventoryHolder inventoryHolder)
 {
     targetInventoryHolder = inventoryHolder;
     Follow.SetTarget(inventoryHolder.DefaultInventory.transform);
 }
Example #21
0
 public Inventory(IInventoryHolder holder = null)
 {
     Holder = holder;
 }
Example #22
0
#pragma warning restore 0219, 414

    private void OnEnable()
    {
        this._sIInventoryHolder = this.target as IInventoryHolder;
    }
Example #23
0
 public void AddToInventory(IInventoryHolder inventoryHolder) => this.AddToInventory(inventoryHolder._Inventory);
Example #24
0
 public static IInventory CreateInventory(IInventoryHolder owner, InventoryType type)
 {
     server.CreateInventory(owner, type);
 }
Example #25
0
 public static IInventory CreateInventory(IInventoryHolder owner, int size)
 {
     server.CreateInventory(owner, size);
 }
Example #26
0
 public static IInventory CreateInventory(IInventoryHolder owner, int size, string title)
 {
     return(server.CreateInventory(owner, size, title));
 }