using UnityEngine; using System.Collections; using System.Collections.Generic; public class StageManager : MonoBehaviour { // stages["Attribute"]で取れる public System.Collections.Generic.List stages = new System.Collections.Generic.List(); private GameObject baseStage; public System.Collections.Generic.List StageData = new System.Collections.Generic.List (); // Use this for initialization void Start () { Init (); SetStage (); CreateStages (10); } void Init () { baseStage = new GameObject (); baseStage.name = "stage"; baseStage.transform.position = Vector3.zero; } void SetStage () { object[] objects = Resources.LoadAll ("Prefabs"); foreach (var obj in objects) { GameObject gbj = (GameObject)obj; stages.Add(gbj); } } // One. public void CreateStage (int num, Vector3 pos) { GameObject obj = Instantiate (stages[num]); obj.GetComponent ().SetPosition (pos); obj.transform.SetParent (baseStage.transform); } // Any. public void CreateStages (int count) { for (int x = 0; x < count; x++) { for (int z = 0; z < count; z++) { CreateStage (Random.Range (0, stages.Count), new Vector3 (x, Random.Range(-1, 1), z)); } } } // Update is called once per frame void Update () { } }