- Home /
I need a grid of objects at runtime, but the gameObject is instantiated later
I'm building a building grid system for an RTS type game. Currently, I have a grid object with a pool of tile objects, and an array of vectors representing the tile centers. When I begin to place a building, the tiles are moved from the pool to the temporary building, and change their location based on the vector array. I originally tried to instantiate all tiles at the beginning and hide them, but it took far too long to load. The pooling helped solve this, but now I am running into a problem. When my builder builds a building and it cannot be pushed out of the building (something else is in the way) it gets stuck inside the building, so, I wrote a function attempting to find the nearest open tile. Unfortunately, because of my implementation, the nearest open tile is not created yet!
Basically, what I need is to create the tile OBJECTS as in C++ object, so I can still access its functions, but create the GAMEOBJECT for each object as needed so it doesn't lag the game.
Currently I'm trying this:
private void PopulateMap() {
map = new Vector3[ResourceManager.MapWidth, ResourceManager.MapHeight];
for (int i = 0; i < ResourceManager.MapWidth; ++i)
{
for (int j = 0; j < ResourceManager.MapHeight; ++j)
{
map[i, j] = GetTileLocation(i, j);
TileMap[i, j] = new Tile(i, j, this);
}
}
}
to create the object.
Will I be able to instantiate a gameobject using this array, and if so, how can I?
Edit: new Tile does not increase the size of the array, so, I now use instantiate but it causes the game to lag after loading.
Your answer

Follow this Question
Related Questions
Multiple Cars not working 1 Answer
counting of two different objects 0 Answers
Distribute terrain in zones 3 Answers
Objekt soll Vorwärts gehen, wenn es sich dreht 1 Answer
Objects Stuff 1 Answer