I am trying to build an array of nested arrays in a matrix format to store game objects but can’t seem to get it right. Any idea what am I doing wrong?
Thanks!
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class ProcessorRows {
public GameObject processorSlot;
}
public class ProcessorColumns {
public ProcessorRows[] processorRows;
}
public class ProcessorDetails {
public int processorRowSlots;
public int processorColumnsSlots;
//public ProcessorColumns[] processorColumns;
}
public class ProcessorDesignController : MonoBehaviour {
public GameObject processorObject;
public ProcessorColumns[] processorColumns;
private static ProcessorDesignController processorDesignController;
public static ProcessorDesignController Instance() {
if (!processorDesignController){
processorDesignController = FindObjectOfType (typeof(ProcessorDesignController)) as ProcessorDesignController;
if (!processorDesignController)
Debug.LogError("There Needs to be one active processorDesignController script on a GameObject in your scene");
}
return processorDesignController;
}
public void initProcessorDesigner( ProcessorDetails details ){
processorObject.SetActive (true);
ProcessorColumns[] processorColumns = new ProcessorColumns[details.processorColumnsSlots];
for (int i = 0; i < details.processorColumnsSlots; i++) {
ProcessorRows[] processorRows = new ProcessorRows[details.processorRowSlots];
processorColumns *= processorRows;*
-
for (int j = 0; j < details.processorRowSlots; i++){*
-
GameObject processorSlot = new GameObject("Light");*
-
processorSlot.AddComponent<Light>();*
-
processorSlot.transform.position = new Vector3( Random.Range(0f,10f),Random.Range(0f,10f),Random.Range(0f,10f));*
_ processorColumns*[j] = processorSlot;_
_ }_
_ }_
_ }*_
}
Here was what I can up with should anyone ever have the same question:
using UnityEngine;
using System.Collections;
public class ProcessorDetails {
public int processorRowSlots;
public int processorColumnsSlots;
}
public class ProcessorDesignController : MonoBehaviour {
public GameObject processorObject;
private GameObject[,] processorSlots;
private static ProcessorDesignController processorDesignController;
public static ProcessorDesignController Instance() {
if (!processorDesignController){
processorDesignController = FindObjectOfType (typeof(ProcessorDesignController)) as ProcessorDesignController;
if (!processorDesignController)
Debug.LogError("There Needs to be one active processorDesignController script on a GameObject in your scene");
}
return processorDesignController;
}
public void initProcessorDesigner( ProcessorDetails details ){
processorObject.SetActive (true);
GameObject[,] processorSlots = new GameObject[details.processorColumnsSlots, details.processorRowSlots];
for (int i = 0; i < details.processorColumnsSlots; i++) {
for (int j = 0; j < details.processorRowSlots; j++){
GameObject processorSlot = new GameObject("Light");
processorSlot.AddComponent<Light>();
processorSlot.transform.position = new Vector3( Random.Range(0f,10f),Random.Range(0f,10f),Random.Range(0f,10f));
processorSlots.SetValue( processorSlot, i, j );
}
}
for (int i = 0; i < processorSlots.GetLength(0); i++){
for (int j = 0; j < processorSlots.GetLength(1); j++){
Debug.Log("Column " + i + ", Row " + j);
processorSlots[i, j].SetActive(true);
processorSlots[i,j].GetComponent<Light>().color = new Color (Random.Range(0.0f,1.0f),Random.Range(0.0f,1.0f),Random.Range(0.0f,1.0f));
}
}
}
}