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); } }
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); } }
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; } } }
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); }
//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); } }
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); } } } } }