示例#1
0
    SingleInventorySlot GetFreeSlot(SingleInventorySlot[] slotList)
    {
        for (int i = 0; i < slotList.Length; i++)
        {
            SingleInventorySlot possibleSlot = slotList[i];
            if (possibleSlot.CurrentItem == null)
            {
                return(possibleSlot);
            }
        }

        return(null);
    }
示例#2
0
    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!");
        }
    }
示例#3
0
文件: Plant.cs 项目: eabosch/Idyll
    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);
                }
            }
        }
    }