コード例 #1
0
        public override IEnumerable Regenerate()
        {
            foreach (object result in base.Regenerate())
            {
                yield return(result);
            }
            List <WorldObject> allObjects = Find.WorldObjects.AllWorldObjects;

            for (int i = 0; i < allObjects.Count; i++)
            {
                WorldObject worldObject = allObjects[i];
                if (!worldObject.def.useDynamicDrawer)
                {
                    if (!this.ShouldSkip(worldObject))
                    {
                        Material material = worldObject.Material;
                        if (material == null)
                        {
                            Log.ErrorOnce("World object " + worldObject + " returned null material.", Gen.HashCombineInt(1948576891, worldObject.ID), false);
                        }
                        else
                        {
                            LayerSubMesh subMesh = base.GetSubMesh(material);
                            Rand.PushState();
                            Rand.Seed = worldObject.ID;
                            worldObject.Print(subMesh);
                            Rand.PopState();
                        }
                    }
                }
            }
            base.FinalizeMesh(MeshParts.All);
        }
コード例 #2
0
        public override IEnumerable Regenerate()
        {
            foreach (object item in base.Regenerate())
            {
                yield return(item);
            }
            List <WorldObject> allWorldObjects = Find.WorldObjects.AllWorldObjects;

            for (int i = 0; i < allWorldObjects.Count; i++)
            {
                WorldObject worldObject = allWorldObjects[i];
                if (!worldObject.def.useDynamicDrawer && !ShouldSkip(worldObject))
                {
                    Material material = worldObject.Material;
                    if (material == null)
                    {
                        Log.ErrorOnce(string.Concat("World object ", worldObject, " returned null material."), Gen.HashCombineInt(1948576891, worldObject.ID));
                        continue;
                    }
                    LayerSubMesh subMesh = GetSubMesh(material);
                    Rand.PushState();
                    Rand.Seed = worldObject.ID;
                    worldObject.Print(subMesh);
                    Rand.PopState();
                }
            }
            FinalizeMesh(MeshParts.All);
        }
コード例 #3
0
        public override IEnumerable Regenerate()
        {
            IEnumerator enumerator = base.Regenerate().GetEnumerator();

            try
            {
                if (enumerator.MoveNext())
                {
                    object result = enumerator.Current;
                    yield return(result);

                    /*Error: Unable to find new state assignment for yield return*/;
                }
            }
            finally
            {
                IDisposable disposable;
                IDisposable disposable2 = disposable = (enumerator as IDisposable);
                if (disposable != null)
                {
                    disposable2.Dispose();
                }
            }
            List <WorldObject> allObjects = Find.WorldObjects.AllWorldObjects;

            for (int i = 0; i < allObjects.Count; i++)
            {
                WorldObject worldObject = allObjects[i];
                if (!worldObject.def.useDynamicDrawer && !ShouldSkip(worldObject))
                {
                    Material material = worldObject.Material;
                    if (material == null)
                    {
                        Log.ErrorOnce("World object " + worldObject + " returned null material.", Gen.HashCombineInt(1948576891, worldObject.ID));
                    }
                    else
                    {
                        LayerSubMesh subMesh = GetSubMesh(material);
                        Rand.PushState();
                        Rand.Seed = worldObject.ID;
                        worldObject.Print(subMesh);
                        Rand.PopState();
                    }
                }
            }
            FinalizeMesh(MeshParts.All);
            yield break;
IL_01ac:
            /*Error near IL_01ad: Unexpected return in MoveNext()*/;
        }
コード例 #4
0
        public override IEnumerable Regenerate()
        {
            IEnumerator enumerator = base.Regenerate().GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    object result = enumerator.Current;
                    yield return(result);
                }
            }
            finally
            {
                IDisposable disposable;
                if ((disposable = (enumerator as IDisposable)) != null)
                {
                    disposable.Dispose();
                }
            }
            List <WorldObject> allObjects = Find.WorldObjects.AllWorldObjects;

            for (int i = 0; i < allObjects.Count; i++)
            {
                WorldObject worldObject = allObjects[i];
                if (!worldObject.def.useDynamicDrawer)
                {
                    if (!this.ShouldSkip(worldObject))
                    {
                        Material material = worldObject.Material;
                        if (material == null)
                        {
                            Log.ErrorOnce("World object " + worldObject + " returned null material.", Gen.HashCombineInt(1948576891, worldObject.ID), false);
                        }
                        else
                        {
                            LayerSubMesh subMesh = base.GetSubMesh(material);
                            Rand.PushState();
                            Rand.Seed = worldObject.ID;
                            worldObject.Print(subMesh);
                            Rand.PopState();
                        }
                    }
                }
            }
            base.FinalizeMesh(MeshParts.All);
            yield break;
        }