public void Create(IInventoryHolder target, Vector2 pos, Item.Type type) { follow = target; transform.position = pos; transform.parent = ParticleGenerator.holder; this.type = type; }
public void DropAllLoot(IInventoryHolder inventoryHolder) { for (int i = 0; i < lootStack.Count; i++) { DropLoot(lootStack[i], inventoryHolder); } }
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; }
protected virtual void DropLoot(IInventoryHolder target, float dropModifier) { if (loot == null) { return; } loot.DropAllLoot(target); }
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; }
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); } }
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); }
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); } }
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); } } }
public void SetInventoryHolder(IInventoryHolder newInventoryHolder) { if (newInventoryHolder == null || newInventoryHolder == inventoryHolder) { return; } if (inventoryHolder != null) { inventoryHolder.OnItemCollected -= GeneratePopup; } inventoryHolder = newInventoryHolder; inventoryHolder.OnItemCollected += GeneratePopup; }
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); }
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); }
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; } } }
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) { }
public ItemUseQReq(Item.Type typeNeeded, IInventoryHolder inventoryHolder, string description = null) : this(typeNeeded, 1, inventoryHolder, description) { }
public void SetTarget(IInventoryHolder inventoryHolder) { targetInventoryHolder = inventoryHolder; Follow.SetTarget(inventoryHolder.DefaultInventory.transform); }
public Inventory(IInventoryHolder holder = null) { Holder = holder; }
#pragma warning restore 0219, 414 private void OnEnable() { this._sIInventoryHolder = this.target as IInventoryHolder; }
public void AddToInventory(IInventoryHolder inventoryHolder) => this.AddToInventory(inventoryHolder._Inventory);
public static IInventory CreateInventory(IInventoryHolder owner, InventoryType type) { server.CreateInventory(owner, type); }
public static IInventory CreateInventory(IInventoryHolder owner, int size) { server.CreateInventory(owner, size); }
public static IInventory CreateInventory(IInventoryHolder owner, int size, string title) { return(server.CreateInventory(owner, size, title)); }