public List <GameObject> ReconstructLevel(LevelObjectDatabase database) { List <GameObject> result = new List <GameObject>(); GameObject parent = new GameObject("LOADED LEVEL"); for (int i = 0; i < objects.Length; i++) { GameObject obj = ReconstructObject(database, objects[i]); obj.transform.SetParent(parent.transform); result.Add(obj); } return(result); }
public GameObject ReconstructObject(LevelObjectDatabase database, ObjectData obj) { if (obj.Equals(default(ObjectData))) { Debug.LogError("Failed to deserialize object"); return(null); } LevelEditorObject objData = database.GetObject(obj.path); GameObject instance = MonoBehaviour.Instantiate(objData.Prefab); instance.name = obj.path; instance.transform.position = obj.position; instance.transform.rotation = Quaternion.Euler(obj.rotation); instance.transform.localScale = obj.scale; return(instance); }