Example #1
0
    public void Eat()
    {
        if (currentHolded == null)
        {
            return;
        }

        if (currentHolded.getItemName() == PickedUpItemName.DRIED_FISH)
        {
            changeHunger(20);
            changeHealth(10);
            useItemInHand();
        }
        else if (currentHolded.getItemName() == PickedUpItemName.FRUIT)
        {
            changeHunger(10);
            changeHealth(5);
            useItemInHand();
        }
        else if (currentHolded.getItemName() == PickedUpItemName.POOPOO)
        {
            changeHunger(10);
            changeHealth(-10);
            useItemInHand();
        }
        else
        {
            return;
        }
    }
Example #2
0
    //Show item in hand(inactive original item's obj, active new item's obj)
    public void HoldItemInHand(PickedUpItems item)
    {
        if (item is Cloth)
        {
            if (currentCloth != null)
            {
                currentCloth.gameObject.SetActive(false);
            }
            item.m_State = PickedUpItems.ItemState.IN_HAND;
            currentCloth = (Cloth)item;
            currentCloth.gameObject.SetActive(true);
        }
        else
        {
            if (currentHolded != null)
            {
                currentHolded.gameObject.SetActive(false);
            }

            //if (item.m_State == PickedUpItems.ItemState.IN_BAG)
            //{
            //hold in hand(change UI?)
            item.m_State  = PickedUpItems.ItemState.IN_HAND;
            currentHolded = item;
            currentHolded.gameObject.SetActive(true);


            //Debug.Log("Hold Item: "+ item.getItemName());


            //string HoldedItemID = item.getItemName().ToString();
            //Debug.Log("Hold Item: Item exist.");
            //photonView.RPC("RpcChangeHoldItemSprite", RpcTarget.AllBuffered, HoldedItemID, m_ID);
        }

        //item.transform.SetParent(transform);

        if (item.getItemName() == PickedUpItemName.LIGHT_BULB || item.getItemName() == PickedUpItemName.LAMP || item.getItemName() == PickedUpItemName.LITTLE_SUN)
        {
            item.transform.SetParent(HoldedLightPosition);
            item.transform.localPosition = Vector3.zero;
        }
        else if (item is Cloth)
        {
            item.transform.SetParent(ClothPosition);
            item.transform.localPosition = Vector3.zero;
            //item.transform.SetPositionAndRotation(Vector3.zero, Quaternion.identity);
        }
        else
        {
            item.transform.SetParent(HoldedPosition);
            item.transform.localPosition = Vector3.zero;
            //item.transform.SetPositionAndRotation(Vector3.zero, Quaternion.identity);
        }

        //}
    }
Example #3
0
    public void OnPointerClick(PointerEventData eventData)
    {
        if (m_State != ItemState.DEFAULT)
        {
            return;
        }
        Debug.Log("click a plant");
        //find local player
        PlayerComponent m_player = GameManagerForNetwork.Instance.LocalPlayer.GetComponent <PlayerComponent>();

        PickedUpItems holdedItem = m_player.GetWhatsInHand();

        if (holdedItem != null)
        {
            if (holdedItem.getItemName() == GameResources.PickedUpItemName.POOPOO && f_status == FruitStatus.noFruit)
            {
                photonView.RPC("Rpcfertilize", RpcTarget.AllBuffered);
                m_player.useItemInHand();
                return;
            }
        }

        if (f_status == FruitStatus.withFruit)
        {                                  //pick up fruit
            pickUpFruit(m_player);
        }
        else if (f_status == FruitStatus.noFruit)
        {
            pickUpPlant(m_player);
        }
    }
Example #4
0
    //this function run on client and for all players
    public bool PickedUp(PickedUpItems item)
    {
        GameResources.PickedUpItemName name = item.getItemName();
        Debug.Log("Pick up " + name.ToString());
        Debug.Log("Bag full: " + bagFull);
        //if (currentHolded != null && bagFull)
        //{
        //    Debug.Log("Oops, your bug is full! Can not pick up " + name.ToString());
        //    return false;
        //}

        //for self
        if (photonView.IsMine)
        {
            //play sound
            AudioManager.instance.PlaySound("pickUp");
            //put in bag
            if (myBackpack.AddNewItem(item))
            {
                bagFull = myBackpack.ItemSpaceLeft() <= 0;
                Debug.Log("Sucessfully put " + item.getItemName().ToString() + " in bag: now space left " + myBackpack.ItemSpaceLeft());
                item.gameObject.SetActive(false);
            }
            else
            {
                Debug.Log("Oops, your bug is full! Can not pick up " + name.ToString());
                return(false);
            }
            if (currentHolded == null)
            {
                HoldItemInHand(item);
            }
        }
        else
        {
            //not local player, only check hold in hand
            if (currentHolded == null)
            {
                HoldItemInHand(item);
            }
        }
        item.m_State = PickedUpItems.ItemState.IN_BAG;
        //item.gameObject.SetActive(false);
        return(true);
    }
Example #5
0
    // public bool AddNewItem(GameResources.PickedUpItemName newItem)
    // {
    //     int weight = 1;

    //     if (weight > this.CapacityLeft())
    //     {
    //         return false;
    //     }

    //     int tmpCount;
    //     if (backpack.TryGetValue(newItem, out tmpCount))
    //     {
    //         backpack[newItem] = tmpCount + 1;
    //         slotList[itemToSlotIndex[newItem]].updateItem(newItem, tmpCount + 1);
    //     }
    //     else
    //     {
    //         if (ItemSpaceLeft() == 0)
    //         {
    //             return false;
    //         }


    //         for (int i = 0; i < 12; i++)
    //         {
    //             if (!slotIndexToItem.ContainsKey(i))
    //             {

    //                 slotIndexToItem[i] = newItem;
    //                 itemToSlotIndex[newItem] = i;

    //                 slotList[i].updateItem(newItem, 1);

    //                 break;
    //             }
    //         }

    //         backpack[newItem] = 1;
    //     }

    //     currentWeight += weight;
    //     return true;
    // }


    public bool AddNewItem(PickedUpItems newItem)
    {
        GameResources.PickedUpItemName itemName = newItem.getItemName();
        int weight = 1;

        if (weight > this.CapacityLeft())
        {
            return(false);
        }

        int tmpCount;

        if (backpack.TryGetValue(itemName, out tmpCount))
        {
            backpack[itemName] = tmpCount + 1;
            slotList[itemToSlotIndex[itemName]].updateItem(itemName, tmpCount + 1);
        }
        else
        {
            if (ItemSpaceLeft() == 0)
            {
                return(false);
            }

            for (int i = 0; i < 12; i++)
            {
                if (!slotIndexToItem.ContainsKey(i))
                {
                    slotIndexToItem[i]        = itemName;
                    itemToSlotIndex[itemName] = i;

                    slotList[i].updateItem(itemName, 1);

                    break;
                }
            }

            backpack[itemName] = 1;
        }

        instanceList.Add(newItem);

        currentWeight += weight;
        return(true);
    }
Example #6
0
    public bool PopItem(PickedUpItems newItem)
    {
        GameResources.PickedUpItemName itemName = newItem.getItemName();
        int weight = 1;

        Debug.Log("POP " + itemName);

        int tmpCount;

        instanceList.Remove(newItem);

        if (backpack.TryGetValue(itemName, out tmpCount))
        {
            int index = itemToSlotIndex[itemName];

            if (tmpCount - 1 > 0)
            {
                backpack[itemName] = tmpCount - 1;

                slotList[index].updateItem(itemName, tmpCount - 1);
            }
            else
            {
                slotList[index].updateItem(GameResources.PickedUpItemName.DEFAULT, 0);

                backpack.Remove(itemName);
                slotIndexToItem.Remove(index);
                itemToSlotIndex.Remove(itemName);
                myPlayer = GameManagerForNetwork.Instance.LocalPlayer;
                if (myPlayer.currentHolded == newItem)
                {
                    myPlayer.DestroyHoldedItem();
                }
            }
        }
        else
        {
            return(false);
        }
        currentWeight -= weight;
        return(true);
    }