Question by
Pnm279 · May 13, 2016 at 11:51 PM ·
array-out-of-range-except
Index out of range, cant find error
Hi all!
I have a simple script in c# to generate world tiles, but when i try to run it it gaves me an index out of range error, here is my script.
using UnityEngine;
using System.Collections;
public class Tilemap : MonoBehaviour {
public TileType[] tileTypes;
int[,] tiles;
int mapSizeX = 10;
int mapSizeY = 10;
void Start()
{
// Allocate our map tiles
tiles = new int[mapSizeX,mapSizeY];
//Initialize our map tiles.
for (int x=0; x<mapSizeX; x++)
{
for (int y = 0; y < mapSizeY; y++)
{
tiles[x,y] = 0;
}
}
GenerateMapVisual();
}
void GenerateMapVisual()
{
for (int x = 0; x < mapSizeX; x++)
{
for (int y = 0; y < mapSizeY; y++)
{
//Here is the error shown, i tried without this line with a debug.log and it works, so the error must be in this line (below)
*TileType tt = tileTypes[ tiles[x,y] ];*
Instantiate(tt.tileVisual, new Vector3(x, y, 0), Quaternion.identity);
}
}
}
}
Comment
Answer by JedBeryll · May 14, 2016 at 08:18 AM
It's the tileTypes. You never assign a value to it thus it has a length of 0.
Answer by Pnm279 · May 14, 2016 at 04:04 PM
Well thanks for your answer, but im kinda lost in this, i know how to use int arrays etc but not how to assign a value to a class array :/, if you can give me a tip i will be thankfull.