private void _ReadAsync(TableStreamAsyncReader reader) { reader.Blob("SceneChunkData", () => { reader.ReadKeyString("Name", name => { this.Name = name; }); this.Objects = new List <SceneObjectData>(); reader.ReadKeyNumber("Objects", count => { for (var i = 0; i < count; ++i) { reader.ReadKeyByte("Type", type => { SceneObjectData objectData = null; switch ((SceneObjectType)type) { case SceneObjectType.PREFAB: objectData = new ScenePrefabData(); break; case SceneObjectType.LIGHTMODIFIER: objectData = new SceneLightModifierData(); break; default: objectData = new SceneObjectData(); break; } objectData._ReadAsync(reader); this.Objects.Add(objectData); }); } }); }); }
private void _Init(GameObject go, ScenePrefabData prefabData) { go.transform.SetParent(this.ObjectRoot.transform); go.transform.localPosition = Vector3.zero; go.transform.localRotation = Quaternion.identity; go.transform.localScale = Vector3.one; }