Getting C# to access a javascript global Array and Components

I'm trying to finally learn C# and am trying to get a script to access an global Java array.

The array has GameObjects in it and is in the plug-ins folder so it compiles first. And I'm trying basically to convert this java code to C# so I can use an Inventory System I've already made in Java Script with my GUI that I made in C#.

  tmpTexture = (GLOBALZ.objectsInWeapons[(4 * rows) + colmn].GetComponent(ObjectInfo).iconTexture);
  //set the object's texture

Basically all the game objects have a scripts attached called "ObjectInfo" that stores their icon.

I have no idea how to do this after 2 days of trying.

Thanks for any help.


It took you two days to figure this out? ... You might want to read this:

It should clear up a lot of confusion you might have.

As for your code, C# won't implicitly cast from `Component` to your own class, `ObjectInfo`. You need to explicitly cast it, and personally, my favorite way is with the `as` keyword. You also need to specify the type with `GetComponent()` (because `GetComponent()`'s parameter is a `Type`, so you need to use `typeof()`), although there are other ways of using `GetComponent()`, this is my favorite way).

tmpTexture = (GLOBALZ.objectsInWeapons[(4 * rows) + colmn].GetComponent(typeof(ObjectInfo)) as ObjectInfo).iconTexture;

Although that is an extraordinarily ugly line of code. I would make it neater:

GameObject tmpObject = GLOBALZ.objectsInWeapons[(4 * rows) + colmn];
ObjectInfo tmpInfo = tmpObject.GetComponent(typeof(ObjectInfo)) as ObjectInfo;

if(tmpInfo == null)
     // Couldn't retrieve the "ObjectInfo" script here.
     tmpTexture = tmpInfo.iconTexture;

See? Much, much easier to read and understand. :)