Пример #1
0
 public override IEnumerable Regenerate()
 {
     foreach (object item in base.Regenerate())
     {
         yield return(item);
     }
     Rand.PushState();
     Rand.Seed = Find.World.info.Seed;
     for (int i = 0; i < 1500; i++)
     {
         Vector3      unitVector = Rand.UnitVector3;
         Vector3      pos        = unitVector * 10f;
         LayerSubMesh subMesh    = GetSubMesh(WorldMaterials.Stars);
         float        num        = StarsDrawSize.RandomInRange;
         Vector3      rhs        = (UseStaticRotation ? GenCelestial.CurSunPositionInWorldSpace().normalized : Vector3.forward);
         float        num2       = Vector3.Dot(unitVector, rhs);
         if (num2 > 0.8f)
         {
             num *= GenMath.LerpDouble(0.8f, 1f, 1f, 0.35f, num2);
         }
         WorldRendererUtility.PrintQuadTangentialToPlanet(pos, num, 0f, subMesh, counterClockwise: true, randomizeRotation: true);
     }
     calculatedForStartingTile   = ((Find.GameInitData != null) ? Find.GameInitData.startingTile : (-1));
     calculatedForStaticRotation = UseStaticRotation;
     Rand.PopState();
     FinalizeMesh(MeshParts.All);
 }
        public static void UpdateWorldShadersParams()
        {
            Vector3 v     = -GenCelestial.CurSunPositionInWorldSpace();
            float   value = (float)((!Find.PlaySettings.usePlanetDayNightSystem) ? 0.0 : 1.0);

            Shader.SetGlobalVector(ShaderPropertyIDs.PlanetSunLightDirection, v);
            Shader.SetGlobalFloat(ShaderPropertyIDs.PlanetSunLightEnabled, value);
            WorldMaterials.PlanetGlow.SetFloat(ShaderPropertyIDs.PlanetRadius, 100f);
            WorldMaterials.PlanetGlow.SetFloat(ShaderPropertyIDs.GlowRadius, 8f);
        }
Пример #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();
                }
            }
            Rand.PushState();
            Rand.Seed = Find.World.info.Seed;
            for (int i = 0; i < 1500; i++)
            {
                Vector3      unitVector = Rand.UnitVector3;
                Vector3      pos        = unitVector * 10f;
                LayerSubMesh subMesh    = GetSubMesh(WorldMaterials.Stars);
                float        num        = StarsDrawSize.RandomInRange;
                Vector3      rhs        = (!UseStaticRotation) ? Vector3.forward : GenCelestial.CurSunPositionInWorldSpace().normalized;
                float        num2       = Vector3.Dot(unitVector, rhs);
                if (num2 > 0.8f)
                {
                    num *= GenMath.LerpDouble(0.8f, 1f, 1f, 0.35f, num2);
                }
                WorldRendererUtility.PrintQuadTangentialToPlanet(pos, num, 0f, subMesh, counterClockwise: true, randomizeRotation: true);
            }
            calculatedForStartingTile   = ((Find.GameInitData == null) ? (-1) : Find.GameInitData.startingTile);
            calculatedForStaticRotation = UseStaticRotation;
            Rand.PopState();
            FinalizeMesh(MeshParts.All);
            yield break;
IL_01ee:
            /*Error near IL_01ef: Unexpected return in MoveNext()*/;
        }
        public override IEnumerable Regenerate()
        {
            IEnumerator enumerator = this.< Regenerate > __BaseCallProxy0().GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    object result = enumerator.Current;
                    yield return(result);
                }
            }
            finally
            {
                IDisposable disposable;
                if ((disposable = (enumerator as IDisposable)) != null)
                {
                    disposable.Dispose();
                }
            }
            Rand.PushState();
            Rand.Seed = Find.World.info.Seed;
            for (int i = 0; i < 1500; i++)
            {
                Vector3      unitVector = Rand.UnitVector3;
                Vector3      pos        = unitVector * 10f;
                LayerSubMesh subMesh    = base.GetSubMesh(WorldMaterials.Stars);
                float        num        = WorldLayer_Stars.StarsDrawSize.RandomInRange;
                Vector3      rhs        = (!this.UseStaticRotation) ? Vector3.forward : GenCelestial.CurSunPositionInWorldSpace().normalized;
                float        num2       = Vector3.Dot(unitVector, rhs);
                if (num2 > 0.8f)
                {
                    num *= GenMath.LerpDouble(0.8f, 1f, 1f, 0.35f, num2);
                }
                WorldRendererUtility.PrintQuadTangentialToPlanet(pos, num, 0f, subMesh, true, true, true);
            }
            this.calculatedForStartingTile   = ((Find.GameInitData == null) ? -1 : Find.GameInitData.startingTile);
            this.calculatedForStaticRotation = this.UseStaticRotation;
            Rand.PopState();
            base.FinalizeMesh(MeshParts.All);
            yield break;
        }