// Token: 0x06002EAB RID: 11947 RVA: 0x000B3ADC File Offset: 0x000B1CDC private IEnumerator Start() { if (!base.Working && ++this.iter < (this.iter_end = this.Count)) { base.Working = true; for (;;) { global::ThrottledTask.Timer timer = base.Begin; do { try { this[this.iter].Spawn(this.runtimeLoad, 9); } catch (Exception ex) { Exception e = ex; Debug.LogException(e, this); } if (++this.iter >= this.iter_end) { goto IL_FC; } }while (timer.Continue); yield return(null); } IL_FC: base.Working = false; yield break; } yield break; }
// Token: 0x06000360 RID: 864 RVA: 0x00010A68 File Offset: 0x0000EC68 private IEnumerator DoUnpack() { this.totalTrees = 0; this.currentTreeIndex = 0; foreach (TreeUnpackGroup grp in this.unpackGroups) { this.totalTrees += grp.meshes.Length; } base.Working = true; this.groupEnumerator = ((IEnumerable <TreeUnpackGroup>) this.unpackGroups).GetEnumerator(); global::ThrottledTask.Timer timer = base.Begin; while (this.MoveNext()) { GameObject col = new GameObject(string.Empty, new Type[] { typeof(MeshCollider) }) { hideFlags = 9, tag = this.currentGroup.tag, layer = ((this.currentGroup.layer != 0) ? this.currentGroup.layer : 10) }; MeshCollider mc = (MeshCollider)col.collider; mc.smoothSphereCollisions = this.currentGroup.spherical; mc.sharedMesh = this.currentMesh; if (!timer.Continue) { yield return(new WaitForEndOfFrame()); timer = base.Begin; } } base.Working = false; Object.Destroy(this); yield break; }