Array problem
My code :
#pragma strict
enum ItemIDs{
none,
sword
}
var slot1 = new Array (ItemIDs.none, 0);
var item1 : UI.Image;
var slot2 = new Array (ItemIDs.none, 0);
var item2 : UI.Image;
var slot3 = new Array (ItemIDs.none, 0);
var item3 : UI.Image;
var slot4 = new Array (ItemIDs.none, 0);
var item4 : UI.Image;
var slot5 = new Array (ItemIDs.none, 0);
var item5 : UI.Image;
//name, amount
@Header("Item Icons")
var none : Sprite;
var sword : Sprite;
function Start () {
}
function Update () {
if(Input.GetKeyDown(KeyCode.R)){
AddItem(ItemIDs.sword, 0);
print("Added sword");
}
if(slot1[0] == ItemIDs.sword){
item1.sprite = sword;
print("yeaahhh");
}else{
item1.sprite = none;
}
}
function AddItem (id : ItemIDs, count : int){
slot1[0] = id;
slot1[1] = count;
}
Why it gives me this error? "Assets/Inventory.js(35,21): BCE0051: Operator '==' cannot be used with a left hand side of type 'Object' and a right hand side of type 'ItemIDs'."
Answer by Dave-Carlile · Nov 18, 2015 at 04:27 PM
Each element in your slot1
array is an array, but you're comparing slot1[0]
to a variable which is of type ItemIDs
. You can't compare an array to something that isn't an array, which is what that error is saying.
You need to do something like this...
if (slot1[0][0] == ItemIDs.sword)
The first [0] gives you the element at position 0 which is an array. The second [0] gives you the first element in that array which is where you've placed the item ID. That may not be valid Javascript syntax (I don't use it), but should give you the idea of what you need to do.
Thaaaanks! It works, but, I only want to check the item's type, not the count! Or inversement :)
Not sure what you mean?
Also, you'd likely be better off creating a struct to store in the array ins$$anonymous$$d of using another array.
Your answer
Follow this Question
Related Questions
Disabling random GUI Button from array 0 Answers
Set Active Random GameObject from array (JavaScript) 1 Answer
Need a function to loop through an array to check tags 1 Answer
Get Vector3s in range 1 Answer
how to not repeat random array 1 Answer