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.