public void SetItem(int count, Item item) { Item = item; Count = count; Postman.Broadcast<StorageSlot>("item changed", this); }
public static GameObject ClosestStorageForItem(Vector3 position, Item item) { List<IStorageBehaviour> possibleContainers = new List<IStorageBehaviour>(); foreach (IStorageBehaviour storageContainer in StorageContainers) { if (storageContainer.CanAdd(item)) possibleContainers.Add(storageContainer); } GameObject closest = null; float dist = float.MaxValue; foreach (IStorageBehaviour possibleContainer in possibleContainers) { float d = Vector2.Distance(possibleContainer.gameObject.transform.position, position); if (d < dist) { dist = d; closest = possibleContainer.gameObject; } } return closest; }
public StorageSlot(int count, Item item) { SetItem(count, item); }
public FetchItemFromChest(StorageContainerBehaviour storageContainer, Item item) { _storageContainer = storageContainer; _item = item; }