// Update is called once per frame private void Update() { // If the mouse is clicked if (Input.GetMouseButtonUp(0)) { // Spawn the prefab at the spawner position HierarchicalPrefabUtility.Instantiate(prefabToSpawn, transform.position, transform.rotation); } }
void Awake() { GameObject temp = (GameObject)HierarchicalPrefabUtility.Instantiate(preShadow); sRenderer = temp.GetComponent <SpriteRenderer> (); tCommon = GetComponent <TwoCommon> (); tFlip = GetComponent <TwoFlip> (); tFlipOther = preShadow.GetComponent <TwoFlip> (); }
public PlatRoom MoveRoom(GameObject newRoom) { if (newRoom == null) { return(null); } GameObject room = (GameObject)HierarchicalPrefabUtility.Instantiate(newRoom); room.transform.parent = this.transform.parent; return(room.GetComponent <PlatRoom>()); }
public Transform SpawnObject(Transform prefab) { Transform objectToRelease = null; if (m_myPool.ContainsKey(prefab.name)) { m_tempObjectList.Clear(); m_tempObjectList = new List <Transform>(m_myPool[prefab.name]); for (int i = 0; i < m_tempObjectList.Count; i++) { if (m_tempObjectList[i].gameObject.activeInHierarchy == false) { objectToRelease = m_tempObjectList[i]; } } if (objectToRelease == null) { objectToRelease = (HierarchicalPrefabUtility.Instantiate(prefab.gameObject, transform.position, Quaternion.identity)).transform; //objectToRelease = (Transform)Instantiate(prefab); objectToRelease.name = prefab.name; m_myPool[prefab.name].Add(objectToRelease); } } else { m_tempObjectList.Clear(); //objectToRelease = (Transform)Instantiate(prefab); objectToRelease = (HierarchicalPrefabUtility.Instantiate(prefab.gameObject, transform.position, Quaternion.identity)).transform; objectToRelease.name = prefab.name; m_tempObjectList.Add(objectToRelease); m_myPool[prefab.name] = new List <Transform>(m_tempObjectList); } objectToRelease.parent = null; return(objectToRelease); }