Exemplo n.º 1
0
    public bool UseItem(int index, GameObject target)
    {
        Item usingItem = itemLibrary.GetItem(itemList[index]);

        if (usingItem != null)
        {
            bool isConsumed = usingItem.UseItem(gameObject, target);

            if (isConsumed)
            {
                itemList[index] = -1;
                itemNum--;

                if (index < defaultEmpty)
                {
                    defaultEmpty = index;
                }
            }

            return(isConsumed);
        }
        else
        {
            return(false);
        }
    }
Exemplo n.º 2
0
    public void CreateItemObject(int itemId, float x, float y, float z)
    {
        GameObject instance = itemLibrary.GetItem(itemId).itemPrefab;

        GameObject createdObject = CreateGameObject(instance, (int)x, (int)y, (int)z);

        if (createdObject != null)
        {
            createdObject.GetComponent <Basic>().Initialize(this, x, y, z);
            createdObject.GetComponent <ItemMarker>().InitializeItemMarker(itemId);
        }
    }
Exemplo n.º 3
0
    void UpdateItemImage()
    {
        if (itemID == -1)
        {
            itemImage.sprite = emptyItemSprite;
        }
        else
        {
            Item tempItem = itemLibrary.GetItem(itemID);

            if (tempItem != null)
            {
                itemImage.sprite = tempItem.itemImage;
            }
            else
            {
                itemImage.sprite = itemLibrary.GetItem(0).itemImage;
            }
        }
    }
Exemplo n.º 4
0
    void Start()
    {
        //Set Sprite of Pickup
        GetComponent <SpriteRenderer>().sprite = ItemLibrary.GetItem(itemToPickUp).icon;

        //Add Random Direction and Magantude Force
        rig = GetComponent <Rigidbody2D>();
        rig.AddForce(Random.Range(range.x, range.y) * new Vector2(Random.Range(-1f, 1f), Random.Range(-1f, 1f)));

        //Set Lifetime To Destroy
        Destroy(gameObject, lifeTime);
    }
Exemplo n.º 5
0
    //Inventory Management Functions
    public bool AddItemToInventory(int itemIDToAdd)
    {
        Item itemToAdd = ItemLibrary.GetItem(itemIDToAdd);

        if (currentWeight + itemToAdd.weight < maxWeight)
        {
            inventory.Add(itemToAdd);
            UpdateWeight();
            InventoryChanged();
            return(true);
        }
        else
        {
            InventoryChanged();
            return(false);
        }
    }
Exemplo n.º 6
0
    void Update()
    {
        // Add input for this frame
        if (Input.GetKey(mKeyForward))
        {
            mMovement.AddMovementInput(Vector2.up);
        }
        if (Input.GetKey(mKeyBack))
        {
            mMovement.AddMovementInput(Vector2.down);
        }

        if (Input.GetKey(mKeyLeft))
        {
            mMovement.AddMovementInput(Vector2.left);
        }
        if (Input.GetKey(mKeyRight))
        {
            mMovement.AddMovementInput(Vector2.right);
        }


        if (Input.GetKey(mKeyRoll))
        {
            mMovement.AttemptToRoll();
        }


        // Equip
        if (Input.GetKeyDown(mEquipSlot0))
        {
            mPlayer.mCurrentEquipSlot = 0;
        }
        if (Input.GetKeyDown(mEquipSlot1))
        {
            mPlayer.mCurrentEquipSlot = 1;
        }
        if (Input.GetKeyDown(mEquipSlot2))
        {
            mPlayer.mCurrentEquipSlot = 2;
        }
        if (Input.GetKeyDown(mEquipSlot3))
        {
            mPlayer.mCurrentEquipSlot = 3;
        }
        if (Input.GetKeyDown(mEquipSlot4))
        {
            mPlayer.mCurrentEquipSlot = 4;
        }
        if (Input.GetKeyDown(mEquipSlot5))
        {
            mPlayer.mCurrentEquipSlot = 5;
        }
        if (Input.GetKeyDown(mEquipSlot6))
        {
            mPlayer.mCurrentEquipSlot = 6;
        }
        if (Input.GetKeyDown(mEquipSlot7))
        {
            mPlayer.mCurrentEquipSlot = 7;
        }
        if (Input.GetKeyDown(mEquipSlot8))
        {
            mPlayer.mCurrentEquipSlot = 8;
        }
        if (Input.GetKeyDown(mEquipSlot9))
        {
            mPlayer.mCurrentEquipSlot = 9;
        }


        // Open Inventory
        if (Input.GetKeyUp(mKeyInventory))
        {
            if (!MenuController.Main.bIsInventoryOpen)
            {
                MenuController.Main.OpenInventory();
            }
            else
            {
                MenuController.Main.CloseInventory();
            }
        }

        // Pause/Exit inventory
        if (Input.GetKeyUp(mKeyPause))
        {
            if (MenuController.Main.bIsInventoryOpen)
            {
                MenuController.Main.CloseInventory();
            }
        }

        // Change camera mode
        if (Input.GetKeyDown(mKeyCameraMode))
        {
            mPlayerCamera.mCameraProfileIndex++;
        }

        // Change player rotation
        if (Input.GetKeyDown(mKeyPlayerRotation))
        {
            mPlayer.mWorldRotation += 90;
        }


        // DEBUG
        if (Input.GetKeyUp(KeyCode.T))
        {
            ItemStack item = new ItemStack(ItemLibrary.GetItem("pickaxe").mID, 1);
            mPlayer.mInventory.TryGive(ref item);

            item = new ItemStack(ItemLibrary.GetItem("dirt").mID, 100);
            mPlayer.mInventory.TryGive(ref item);

            item = new ItemStack(ItemLibrary.GetItem("grass").mID, 100);
            mPlayer.mInventory.TryGive(ref item);
        }


        // Interact if menu closed
        if (!MenuController.Main.bIsAnyMenuOpen)
        {
            if (Input.GetKeyDown(KeyCode.Mouse0))
            {
                ItemStack item = mPlayer.mInventory.Get((int)mPlayer.mCurrentEquipSlot, 0);

                if (item.mItemID != 0)
                {
                    // Attempt to use item
                    if (ItemLibrary.GetItem(item.mItemID).Use(mPlayer, ref item))
                    {
                        // Update inventory incase there was any change during usage
                        mPlayer.mInventory.Set((int)mPlayer.mCurrentEquipSlot, 0, item);
                    }
                }
            }
        }
    }