public override void Init() { //instantiate Queues for each Type in WorldObjectType enum objects = new Queue <WorldObject> [WorldObjectType.GetNames(typeof(WorldObjectType)).Length]; for (int i = 0; i < objects.Length; i++) { objects[i] = new Queue <WorldObject>(); } //auto sort prefabs array to make sure the indexes match the WorldObjectType enum WorldObject[] tempPrefabs = new WorldObject[prefabs.Length]; for (int i = 0; i < tempPrefabs.Length; i++) { int newIndex = (int)prefabs[i].objectType; tempPrefabs[newIndex] = prefabs[i]; } prefabs = tempPrefabs; }