Trying to convert a JC script to C #

Hello !

As the title says, I try to convert this script :

static var statInventory : Inventory;


var inventory : Array;

public var emptyTex : Texture;
public var inventorySizeX = 8;
public var inventorySizeY = 5;
var iconWidthHeight = 20;
var spacing = 2;
public var offSet = Vector2( 100, 100 );
private var windowRect : Rect = Rect (20, 20, 200, 400);
public var itemTitle = "";
public var itemInfo = "";
public var infoBox = false;
var dropZone : Transform;

private var itemMenu = false;

//Our Representation of an InventoryItem
@System.Serializable
class InventoryItem
{
   //GameObject this item refers to
   var worldObject : GameObject;
   //What the item will look like in the inventory
   var texRepresentation : Texture;
}

// Create the Inventory
function Awake()
{
   
	statInventory = this;
	


}


function Start(){
	inventory = Array(inventorySizeX);
    
    for( var i = 0; i < inventory.length; i ++ ){
    inventory *= Array(inventorySizeY);*

inventory.length = inventorySizeX;
inventory*.length = inventorySizeY;*

}
}

function Update(){

if(Input.GetKey (KeyCode.I)){
iconWidthHeight = 20;
}
else{
iconWidthHeight = 0;
}

}

function OnGUI(){
var currentInventoryItem : InventoryItem;
var texToUse : Texture;

//Go through each row
for( var i = 0; i < inventory.length; i ++ ){

// and each column
for( var k = 0; k < inventory*.length; k ++ ){*
currentInventoryItem = inventory*[k];*

if( inventory*[k] == null )*
{
GUI.DrawTexture( new Rect( offSet.x+k*(iconWidthHeight+spacing), offSet.y+i*(iconWidthHeight+spacing), iconWidthHeight, iconWidthHeight ), emptyTex );
}
else
{
_ GUI.DrawTexture( new Rect( offSet.x+k*(iconWidthHeight+spacing), offSet.y+i*(iconWidthHeight+spacing), iconWidthHeight, iconWidthHeight ), currentInventoryItem.texRepresentation );
}_

* if(currentInventoryItem != null &&*
_ GUI.Button( new Rect( offSet.x+k*(iconWidthHeight+spacing), offSet.y+i*(iconWidthHeight+spacing), iconWidthHeight, iconWidthHeight ), “”, GUIStyle(“label”) ))
{_

* currentInventoryItem.worldObject.transform.position = transform.position;*
* currentInventoryItem.worldObject.transform.rotation = transform.rotation;*

* if(Input.GetMouseButtonUp(0)){ *

* Debug.Log(“Pressé”);*
GUI.Box(Rect(20,10,100,120), “Item Menu”);
Debug.Log(“Marche”);
if(GUI.Button(Rect(30,40,80,20), “Utiliser”)){
* if(currentInventoryItem.worldObject.GetComponent(InventoryWorldItem).bag == true){*
* var bonusX = currentInventoryItem.worldObject.GetComponent(InventoryWorldItem).xSlots;*
* inventorySizeX = bonusX;*
* var bonusY = currentInventoryItem.worldObject.GetComponent(InventoryWorldItem).ySlots;*
* inventorySizeY = bonusY;*
* Start();*
Debug.Log(“Marche”);
}
}
if(GUI.Button(Rect(30,70,80,20), “Jetter”)){

inventory*[k] = null; *
* currentInventoryItem.worldObject.transform.position = dropZone.position;*
* currentInventoryItem.worldObject.transform.parent = null;*
* currentInventoryItem.worldObject.GetComponent(Rigidbody).useGravity = true;*
* currentInventoryItem.worldObject.GetComponent(BoxCollider).enabled = true;*
* currentInventoryItem.worldObject.active = true;*
* currentInventoryItem.worldObject.layer = 0;*
* itemMenu = false;*
* Debug.Log(“Marche”);*
* }*
* if(GUI.Button(Rect(30,100,5,20), “X”)){*
* itemMenu = false;*
* Debug.Log(“Marche”);*
* }*
}

}

}

}

if(infoBox == true){

windowRect = GUI.Window (0, windowRect, WindowFunction, itemTitle);
}

}

function WindowFunction (windowID : int) {

* GUI.Label (Rect(10, 10, 200, 500), itemInfo);*
}

function AddItem( item : InventoryItem ){

//Go through each row
for( var i = 0; i < inventory.length; i ++ )
{
// and each column
for( var k = 0; k < inventory*.length; k ++ )*
{
//If the position is empty, add the new item and exit the function
if( inventory*[k] == null )*
{
item.worldObject.layer = 8;

inventory*[k] = item;*
return;
}
if( inventory*[k] == item){*

item.worldObject.layer = 0;

return;
}

}

}

}

function AddItem( worldObject : GameObject, texRep : Texture ){

var newItem = InventoryItem();
newItem.worldObject = worldObject;
newItem.texRepresentation = texRep;
AddItem( newItem );

}
I have converted almost everything, but unfortunately, it gives an error at line 10, the array variable (see below) :
---------------------------------------------------------------------------------------
C Sharp version :
---------------------------------------------------------------------------------------
using UnityEngine;
using System.Collections;

public class Inventory : Photon.MonoBehaviour {

static Inventory statInventory;

string inventory = Array;

public Texture emptyTex;
public float inventorySizeX= 8;
public float inventorySizeY= 5;
public float iconWidthHeight= 20;
public float spacing= 2;
public Vector2 offSet = new Vector2( 100, 100 );
private Rect windowRect = new Rect(20, 20, 200, 400);
public string itemTitle= “”;
public string itemInfo= “”;
public bool infoBox= false;
Transform dropZone;

private bool itemMenu= false;

//Our Representation of an InventoryItem
[System.Serializable]
class InventoryItem
{
//GameObject this item refers to
GameObject worldObject;
//What the item will look like in the inventory
Texture texRepresentation;
}

// Create the Inventory
void Awake (){

* statInventory = this;*

}

void Start (){
* inventory = Array(inventorySizeX);*

for( i= 0; i < inventory.length; i ++ ){
inventory = Array(inventorySizeY);
inventory.length = inventorySizeX;
inventory*.length = inventorySizeY;*

}
}

void Update (){

if(Input.GetKey (KeyCode.I)){
iconWidthHeight = 20;
}
else{
iconWidthHeight = 0;
}

}

void OnGUI (){
InventoryItem currentInventoryItem;
Texture texToUse;

//Go through each row
for( i= 0; i < inventory.length; i ++ ){

// and each column
for( k= 0; k < inventory*.length; k ++ ){*
currentInventoryItem = inventory*[k];*

if( inventory*[k] == null )*
{
GUI.DrawTexture( new Rect( offSet.x+k*(iconWidthHeight+spacing), offSet.y+i*(iconWidthHeight+spacing), iconWidthHeight, iconWidthHeight ), emptyTex );
}
else
{
_ GUI.DrawTexture( new Rect( offSet.x+k*(iconWidthHeight+spacing), offSet.y+i*(iconWidthHeight+spacing), iconWidthHeight, iconWidthHeight ), currentInventoryItem.texRepresentation );
}_

* if(currentInventoryItem != null &&*
_ GUI.Button( new Rect( offSet.x+k*(iconWidthHeight+spacing), offSet.y+i*(iconWidthHeight+spacing), iconWidthHeight, iconWidthHeight ), “”, GUIStyle(“label”) ))
{_

* currentInventoryItem.worldObject.transform.position = transform.position;*
* currentInventoryItem.worldObject.transform.rotation = transform.rotation;*

* if(Input.GetMouseButtonUp(0)){ *
* string bonusX;*
* string bonusY;*
* Debug.Log(“Pressé”);*
GUI.Box( new Rect(20,10,100,120), “Item Menu”);
Debug.Log(“Marche”);
if(GUI.Button( new Rect(30,40,80,20), “Utiliser”)){
* if(currentInventoryItem.worldObject.GetComponent().bag == true){*
* bonusX= currentInventoryItem.worldObject.GetComponent().xSlots;*
* inventorySizeX = bonusX;*
* bonusY= currentInventoryItem.worldObject.GetComponent().ySlots;*
* inventorySizeY = bonusY;*
* Start();*
Debug.Log(“Marche”);
}
}
if(GUI.Button( new Rect(30,70,80,20), “Jetter”)){

inventory*[k] = null; *
* currentInventoryItem.worldObject.transform.position = dropZone.position;*
* currentInventoryItem.worldObject.transform.parent = null;*
* currentInventoryItem.worldObject.GetComponent().useGravity = true;*
* currentInventoryItem.worldObject.GetComponent().enabled = true;*
* currentInventoryItem.worldObject.active = true;*
* currentInventoryItem.worldObject.layer = 0;*
* itemMenu = false;*
* Debug.Log(“Marche”);*
* }*
* if(GUI.Button( new Rect(30,100,5,20), “X”)){*
* itemMenu = false;*
* Debug.Log(“Marche”);*
* }*
}

}

}

}

if(infoBox == true){

windowRect = GUI.Window (0, windowRect, WindowFunction, itemTitle);
}

}

void WindowFunction ( int windowID ){

* GUI.Label ( new Rect(10, 10, 200, 500), itemInfo);*
}

void AddItem ( InventoryItem item ){

//Go through each row
for( i= 0; i < inventory.length; i ++ )
{
// and each column
for( Fk= 0; k < inventory*.length; k ++ )*
{
//If the position is empty, add the new item and exit the function
if( inventory*[k] == null )*
{
item.worldObject.layer = 8;

inventory*[k] = item;*
return;
}
if( inventory*[k] == item){*

item.worldObject.layer = 0;

return;
}

}

}

}

void AddItem ( GameObject worldObject , Texture texRep ){

string newItem;
newItem= InventoryItem();
newItem.worldObject = worldObject;
newItem.texRepresentation = texRep;
AddItem( newItem );

}
}
---------------------------------------------------------------------------------------
So the error says :
> Assets/ScriptCS/Inventory.cs(10,20): error CS0103: The name `Array’ does not exist in the current context
Can someone please have a look and try to figure out how to make the array working ?
Thanks for viewing this and sorry for my clumsy english.

C# does not have the Array functions like JScript, instead you must you a List.

It is hard to explain how to use the ‘List’ type (probably because i suck at explaining), so hopefully this website will help:
http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx

With lists you can also use custom classes.

Thank you, I tried to replace it with :

List inventory = new List();

but now I have this :

Assets/ScriptCS/Inventory.cs(10,1): error CS0246: The type or namespace name List1’ could not be found. Are you missing a using directive or an assembly reference?

What is that “List 1” ? Did I forgot to declare something before or after ?