SingleInventorySlot GetFreeSlot(SingleInventorySlot[] slotList) { for (int i = 0; i < slotList.Length; i++) { SingleInventorySlot possibleSlot = slotList[i]; if (possibleSlot.CurrentItem == null) { return(possibleSlot); } } return(null); }
public void CollectItemIfPossible() { //Equipments.instance.set_selected_seed(this); //displayIcon.color = Color.green; Debug.Log("OMD InventoryItem"); SingleInventorySlot slot = null; if (itemType == InventoryItemType.Seed) { slot = Equipments.instance.GetFreeSeedInventorySlot(); if (slot != null) //!!!!!!! seed objects need to be downscaled, for now !!!!!!!! { this.transform.localScale *= .4f; } //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! } else if (itemType == InventoryItemType.Harvestable) { slot = Equipments.instance.GetFreeHarvastableSlot(); } else if (itemType == InventoryItemType.BirdSong) { slot = Equipments.instance.GetFreeBirdsongSlot(); } if (slot != null) { slot.SetCurrentItem(this.gameObject.GetComponent <GenericInventoryItem>()); //--------------- usableItem.enabled = true; Destroy(this); } else { Debug.LogError("No slots available!"); } }
void OnMouseDown() { // ---- CASE : Plant is Dead --------------------------- if (currentGrowthLevel == PlantGrowthLevel.Dead) { bool okToDelete = Equipments.instance.tool_is_equipped(FarmToolType.Scythe) || Equipments.instance.tool_is_equipped(FarmToolType.Shovel); if (okToDelete) { Destroy(this.gameObject); } } // ---- CASE : Plant is not ready to harvest yet ------------------- else if (currentGrowthLevel != PlantGrowthLevel.ReadyToHarvest) { if (Equipments.instance.tool_is_equipped(FarmToolType.WateringCan)) { this.wateredAmount = 1; //add 1 water point } } // ---- CASE : Plant is ready to harvest --------------------------- else if (currentGrowthLevel == PlantGrowthLevel.ReadyToHarvest) { bool okToHarvest = Equipments.instance.tool_is_equipped(FarmToolType.Scythe); if (okToHarvest) { SingleInventorySlot slot = Equipments.instance.GetFreeHarvastableSlot(); if (slot != null) { GameObject harvestInventoryItem = GameObject.Instantiate(this.inventoryItemPrefab); slot.SetCurrentItem(harvestInventoryItem.GetComponent <GenericInventoryItem>()); harvestInventoryItem.transform.localScale = Vector3.one; //fix too huge items Destroy(this.gameObject); } } } }