Beispiel #1
0
        protected override void PrepareProtoTile(Settings settings)
        {
            settings.AmbientSoundProvider = new TileAmbientSoundProvider(
                new AmbientSoundPreset(new SoundResource("Ambient/Barren")),
                new AmbientSoundPreset(new SoundResource("Ambient/BarrenNight")));

            // ground
            settings.AddGroundTexture(
                new ProtoTileGroundTexture(
                    texture: GroundTexture2,
                    blendMaskTexture: BlendMaskTextureGeneric2Smooth,
                    noiseSelector: null));

            // ground with cracks
            settings.AddGroundTexture(
                new ProtoTileGroundTexture(
                    texture: GroundTexture1,
                    blendMaskTexture: BlendMaskTextureGeneric2Smooth,
                    noiseSelector: new NoiseSelector(from: 0.4,
                                                     to: 0.7,
                                                     noise: new PerlinNoise(seed: 90230104,
                                                                            scale: 30,
                                                                            octaves: 5,
                                                                            persistance: 0.7,
                                                                            lacunarity: 1.5))));
            // ground with dark "pit" areas
            settings.AddGroundTexture(
                new ProtoTileGroundTexture(
                    texture: GroundTextureAtlas3,
                    blendMaskTexture: BlendMaskTextureGeneric2Smooth,
                    noiseSelector: new NoiseSelector(from: 0.4,
                                                     to: 0.7,
                                                     noise: new PerlinNoise(seed: 345734573,
                                                                            scale: 25,
                                                                            octaves: 5,
                                                                            persistance: 0.7,
                                                                            lacunarity: 1.5))));

            // add grey stones decals
            var grayStonesTextures      = ProtoTileDecal.CollectTextures("Terrain/Barren/Stones*");
            var grayStonesSize          = new Vector2Ushort(2, 2);
            var grayStonesNoiseSelector = new CombinedNoiseSelector(
                new NoiseSelector(
                    from: 0.63,
                    to: 0.65,
                    noise: new PerlinNoise(seed: 12313213,
                                           scale: 5,
                                           octaves: 3,
                                           persistance: 0.6,
                                           lacunarity: 1.7)),
                new NoiseSelector(
                    from: 0.63,
                    to: 0.65,
                    noise: new PerlinNoise(seed: 45435435,
                                           scale: 8,
                                           octaves: 3,
                                           persistance: 0.6,
                                           lacunarity: 1.7)));

            for (ushort x = 0; x <= 1; x++)
            {
                for (ushort y = 0; y <= 1; y++)
                {
                    settings.AddDecal(
                        new ProtoTileDecal(grayStonesTextures,
                                           size: grayStonesSize,
                                           offset: (x, y),
                                           noiseSelector: grayStonesNoiseSelector));
                }
            }

            // add stick decal
            settings.AddDecal(
                new ProtoTileDecal("Terrain/Barren/Stick*",
                                   size: Vector2Ushort.One,
                                   drawOrder: DrawOrder.GroundDecalsOver,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: new NoiseSelector(
                                       from: 0.98,
                                       to: 1,
                                       noise: new WhiteNoise(seed: 742646592))));

            // add bush thorn decal
            settings.AddDecal(
                new ProtoTileDecal("Terrain/Barren/BushThorns*",
                                   size: Vector2Ushort.One,
                                   drawOrder: DrawOrder.GroundDecalsOver,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: new NoiseSelector(
                                       from: 0.98,
                                       to: 1,
                                       noise: new WhiteNoise(seed: 634636172))));
        }
        protected override void PrepareProtoTile(Settings settings)
        {
            settings.AmbientSoundProvider = new TileForestAmbientSoundProvider(
                daySoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/BorealPlains")),
                daySoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/BorealForest")),
                nightSoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/BorealPlainsNight")),
                nightSoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/BorealForestNight")));

            var groundTextureForest3 = new ProtoTileGroundTexture(
                texture: GroundTextureAtlas3,
                blendMaskTexture: BlendMaskTextureSprayRough,
                noiseSelector: null);

            var groundTextureForest2 = new ProtoTileGroundTexture(
                texture: GroundTexture2,
                blendMaskTexture: BlendMaskTextureSprayRough,
                noiseSelector: new NoiseSelector(from: 0.5,
                                                 to: 1,
                                                 noise: new PerlinNoise(seed: 392721487,
                                                                        scale: 15,
                                                                        octaves: 5,
                                                                        persistance: 0.6,
                                                                        lacunarity: 1.4)));

            var groundTextureForest1 = new ProtoTileGroundTexture(
                texture: GroundTexture1,
                blendMaskTexture: BlendMaskTextureSprayRough,
                noiseSelector: new NoiseSelector(from: 0.4,
                                                 to: 0.65,
                                                 noise: new PerlinNoise(seed: 498651212,
                                                                        scale: 23,
                                                                        octaves: 5,
                                                                        persistance: 0.5,
                                                                        lacunarity: 1.4)));

            settings.AddGroundTexture(groundTextureForest3);
            settings.AddGroundTexture(groundTextureForest2);
            settings.AddGroundTexture(groundTextureForest1);

            // add smallBushes decals
            var smallBushesTextures      = ProtoTileDecal.CollectTextures("Terrain/ForestBoreal/SmallBushes*");
            var smallBushesDrawOrder     = DrawOrder.GroundDecalsUnder;
            var smallBushesSize          = new Vector2Ushort(2, 2);
            var smallBushesNoiseSelector = new CombinedNoiseSelector(
                new NoiseSelector(
                    from: 0.8,
                    to: 0.97,
                    noise: new PerlinNoise(seed: 209123674,
                                           scale: 10,
                                           octaves: 3,
                                           persistance: 0.7,
                                           lacunarity: 1.5)),
                new NoiseSelector(
                    from: 0.85,
                    to: 1,
                    noise: new PerlinNoise(seed: 129308572,
                                           scale: 11,
                                           octaves: 3,
                                           persistance: 0.7,
                                           lacunarity: 3)));

            // add smallBushes decals with a four different offsets (to avoid empty space between neighbor smallBushes sprites)
            for (ushort x = 0; x <= 1; x++)
            {
                for (ushort y = 0; y <= 1; y++)
                {
                    settings.AddDecal(
                        new ProtoTileDecal(smallBushesTextures,
                                           size: smallBushesSize,
                                           offset: (x, y),
                                           drawOrder: smallBushesDrawOrder,
                                           canFlipHorizontally: false,
                                           noiseSelector: smallBushesNoiseSelector));
                }
            }

            // some random small bushes
            settings.AddDecal(
                new ProtoTileDecal(smallBushesTextures,
                                   size: smallBushesSize,
                                   drawOrder: smallBushesDrawOrder,
                                   canFlipHorizontally: false,
                                   noiseSelector: new NoiseSelector(
                                       from: 0.85,
                                       to: 1,
                                       noise: new WhiteNoise(seed: 643613342))));

            // add WhiteFlowers decals
            var whiteFlowersTextures      = ProtoTileDecal.CollectTextures("Terrain/ForestBoreal/WhiteFlowers*");
            var whiteFlowersSize          = new Vector2Ushort(2, 2);
            var whiteFlowersNoiseSelector = new NoiseSelector(
                from: 0.6,
                to: 0.65,
                noise: new PerlinNoise(seed: 25343634,
                                       scale: 8,
                                       octaves: 3,
                                       persistance: 0.6,
                                       lacunarity: 1.7));

            settings.AddDecal(
                new ProtoTileDecal(whiteFlowersTextures,
                                   size: whiteFlowersSize,
                                   noiseSelector: whiteFlowersNoiseSelector,
                                   requiredGroundTextures: new[] { groundTextureForest1, groundTextureForest3 }));

            // add the same whiteFlowers but with a little offset (to make a more dense diagonal placement)
            settings.AddDecal(
                new ProtoTileDecal(whiteFlowersTextures,
                                   size: whiteFlowersSize,
                                   offset: Vector2Ushort.One,
                                   noiseSelector: whiteFlowersNoiseSelector,
                                   requiredGroundTextures: new[] { groundTextureForest1, groundTextureForest3 }));

            // add VioletFlowers decals
            var violetFlowersTextures      = ProtoTileDecal.CollectTextures("Terrain/ForestBoreal/VioletFlowers*");
            var violetFlowersSize          = new Vector2Ushort(2, 2);
            var violetFlowersNoiseSelector = new NoiseSelector(
                from: 0.55,
                to: 0.65,
                noise: new PerlinNoise(seed: 245751427,
                                       scale: 5,
                                       octaves: 3,
                                       persistance: 0.6,
                                       lacunarity: 1.7));

            settings.AddDecal(
                new ProtoTileDecal(violetFlowersTextures,
                                   size: violetFlowersSize,
                                   noiseSelector: violetFlowersNoiseSelector));

            // add the same violetFlowers but with a little offset (to make a more dense diagonal placement)
            settings.AddDecal(
                new ProtoTileDecal(violetFlowersTextures,
                                   size: violetFlowersSize,
                                   offset: Vector2Ushort.One,
                                   noiseSelector: violetFlowersNoiseSelector));

            // add clover bush decal
            settings.AddDecal(
                new ProtoTileDecal("Terrain/ForestBoreal/CloverBush01*",
                                   size: Vector2Ushort.One,
                                   drawOrder: DrawOrder.GroundDecalsOver,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: new NoiseSelector(
                                       from: 0.985,
                                       to: 1,
                                       noise: new WhiteNoise(seed: 982356342))));

            // add fungi decal
            settings.AddDecal(
                new ProtoTileDecal("Terrain/ForestBoreal/Fungi01*",
                                   size: Vector2Ushort.One,
                                   drawOrder: DrawOrder.GroundDecalsOver,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: new NoiseSelector(
                                       from: 0.985,
                                       to: 1,
                                       noise: new WhiteNoise(seed: 474631892))));
        }
Beispiel #3
0
        protected override void PrepareProtoTile(Settings settings)
        {
            settings.AmbientSoundProvider = new TileAmbientSoundProvider(
                new AmbientSoundPreset(new SoundResource("Ambient/Rocky"),
                                       suppression: 1));

            // rock plates
            settings.AddGroundTexture(
                new ProtoTileGroundTexture(
                    texture: GroundTexture2,
                    blendMaskTexture: BlendMaskTextureGeneric2Smooth,
                    noiseSelector: null));

            // small stones
            settings.AddGroundTexture(
                new ProtoTileGroundTexture(
                    texture: GroundTexture1,
                    blendMaskTexture: BlendMaskTextureSprayRough,
                    noiseSelector: new CombinedNoiseSelector(
                        new NoiseSelector(from: 0.7,
                                          to: 1,
                                          noise: new PerlinNoise(seed: 345435345,
                                                                 scale: 23,
                                                                 octaves: 5,
                                                                 persistance: 0.5,
                                                                 lacunarity: 1.7)),
                        new NoiseSelector(from: 0.4,
                                          to: 0.6,
                                          noise: new PerlinNoise(seed: 1232132131,
                                                                 scale: 64,
                                                                 octaves: 5,
                                                                 persistance: 0.5,
                                                                 lacunarity: 1.8)))));

            // add grey stones decals
            var grayStonesTextures      = ProtoTileDecal.CollectTextures("Terrain/Rocky/GreyStones*");
            var grayStonesSize          = new Vector2Ushort(2, 2);
            var grayStonesNoiseSelector = new CombinedNoiseSelector(
                new NoiseSelector(
                    from: 0.63,
                    to: 0.65,
                    noise: new PerlinNoise(seed: 764567465,
                                           scale: 5,
                                           octaves: 3,
                                           persistance: 0.6,
                                           lacunarity: 1.7)),
                new NoiseSelector(
                    from: 0.63,
                    to: 0.65,
                    noise: new PerlinNoise(seed: 453443534,
                                           scale: 8,
                                           octaves: 3,
                                           persistance: 0.6,
                                           lacunarity: 1.7)));

            for (ushort x = 0; x <= 1; x++)
            {
                for (ushort y = 0; y <= 1; y++)
                {
                    settings.AddDecal(
                        new ProtoTileDecal(grayStonesTextures,
                                           size: grayStonesSize,
                                           offset: (x, y),
                                           noiseSelector: grayStonesNoiseSelector));
                }
            }

            // add red grass decals
            var redGrassTextures      = ProtoTileDecal.CollectTextures("Terrain/Rocky/RedGrass*");
            var redGrassSize          = new Vector2Ushort(2, 2);
            var redGrassHidingSetting = DecalHidingSetting.AnyObject;
            var redGrassDrawOrder     = DrawOrder.GroundDecalsOver;
            var redGrassNoiseSelector = new CombinedNoiseSelector(
                new NoiseSelector(from: 0.92,
                                  to: 1,
                                  noise: new PerlinNoise(seed: 534543534,
                                                         scale: 5,
                                                         octaves: 3,
                                                         persistance: 0.5,
                                                         lacunarity: 1.7)),
                new NoiseSelector(from: 0.92,
                                  to: 1,
                                  noise: new PerlinNoise(seed: 234234234,
                                                         scale: 5,
                                                         octaves: 3,
                                                         persistance: 0.5,
                                                         lacunarity: 1.7)));

            settings.AddDecal(
                new ProtoTileDecal(redGrassTextures,
                                   size: redGrassSize,
                                   noiseSelector: redGrassNoiseSelector,
                                   hidingSetting: redGrassHidingSetting,
                                   drawOrder: redGrassDrawOrder));

            // add the same redGrass but with a little offset (to make a more dense diagonal placement)
            settings.AddDecal(
                new ProtoTileDecal(redGrassTextures,
                                   size: redGrassSize,
                                   offset: Vector2Ushort.One,
                                   noiseSelector: redGrassNoiseSelector,
                                   hidingSetting: redGrassHidingSetting,
                                   drawOrder: redGrassDrawOrder));
        }
        protected override void PrepareProtoTile(Settings settings)
        {
            settings.AmbientSoundProvider = new TileForestAmbientSoundProvider(
                daySoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/TropicalPlains")),
                daySoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/TropicalForest")),
                nightSoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/TropicalPlainsNight")),
                nightSoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/TropicalForestNight")));

            var groundTextureForest3 = new ProtoTileGroundTexture(
                texture: GroundTextureAtlas3,
                blendMaskTexture: BlendMaskTextureSprayRough,
                noiseSelector: null);

            var groundTextureForest2 = new ProtoTileGroundTexture(
                texture: GroundTexture2,
                blendMaskTexture: BlendMaskTextureSprayRough,
                noiseSelector: new NoiseSelector(from: 0.5,
                                                 to: 0.7,
                                                 noise: new PerlinNoise(seed: 23402375,
                                                                        scale: 4,
                                                                        octaves: 5,
                                                                        persistance: 0.6,
                                                                        lacunarity: 1.8)));

            var groundTextureForest1 = new ProtoTileGroundTexture(
                texture: GroundTexture1,
                blendMaskTexture: BlendMaskTextureSprayRough,
                noiseSelector: new NoiseSelector(from: 0.4,
                                                 to: 0.55,
                                                 noise: new PerlinNoise(seed: 219461235,
                                                                        scale: 5,
                                                                        octaves: 5,
                                                                        persistance: 0.6,
                                                                        lacunarity: 1.6)));

            settings.AddGroundTexture(groundTextureForest3);
            settings.AddGroundTexture(groundTextureForest2);
            settings.AddGroundTexture(groundTextureForest1);

            // add JungleGrass1 decal
            var jungleGrass1Textures      = ProtoTileDecal.CollectTextures("Terrain/ForestTropical/JungleGrass1_*");
            var jungleGrass1NoiseSelector = new CombinedNoiseSelector(
                new NoiseSelector(
                    from: 0.5,
                    to: 0.57,
                    noise: new PerlinNoise(seed: 75432132,
                                           scale: 5,
                                           octaves: 5,
                                           persistance: 0.8,
                                           lacunarity: 2)),
                new NoiseSelector(
                    from: 0.73,
                    to: 0.8,
                    noise: new PerlinNoise(seed: 1232165326,
                                           scale: 7,
                                           octaves: 5,
                                           persistance: 0.8,
                                           lacunarity: 2)));

            settings.AddDecal(
                new ProtoTileDecal(jungleGrass1Textures,
                                   size: (2, 2),
                                   drawOrder: DrawOrder.GroundDecalsUnder,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: jungleGrass1NoiseSelector));

            settings.AddDecal(
                new ProtoTileDecal(jungleGrass1Textures,
                                   size: (2, 2),
                                   offset: (1, 1),
                                   drawOrder: DrawOrder.GroundDecalsUnder,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: jungleGrass1NoiseSelector));

            // add JungleGrass2 decal
            var jungleGrass2Textures      = ProtoTileDecal.CollectTextures("Terrain/ForestTropical/JungleGrass2_*");
            var jungleGrass2NoiseSelector = new CombinedNoiseSelector(
                new NoiseSelector(
                    from: 0.5,
                    to: 0.57,
                    noise: new PerlinNoise(seed: 634231492,
                                           scale: 5,
                                           octaves: 5,
                                           persistance: 0.8,
                                           lacunarity: 2)),
                new NoiseSelector(
                    from: 0.73,
                    to: 0.8,
                    noise: new PerlinNoise(seed: 19831263,
                                           scale: 7,
                                           octaves: 5,
                                           persistance: 0.8,
                                           lacunarity: 2)));

            settings.AddDecal(
                new ProtoTileDecal(jungleGrass2Textures,
                                   size: (2, 2),
                                   drawOrder: DrawOrder.GroundDecalsUnder,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: jungleGrass2NoiseSelector));

            settings.AddDecal(
                new ProtoTileDecal(jungleGrass2Textures,
                                   size: (2, 2),
                                   offset: (1, 1),
                                   drawOrder: DrawOrder.GroundDecalsUnder,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: jungleGrass2NoiseSelector));

            // add fern decal
            settings.AddDecal(
                new ProtoTileDecal("Terrain/ForestTropical/Fern*",
                                   size: (1, 1),
                                   drawOrder: DrawOrder.GroundDecalsOver,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: new CombinedNoiseSelector(
                                       new NoiseSelector(
                                           from: 0.99,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 854712138)),
                                       new NoiseSelector(
                                           from: 0.99,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 907512642)),
                                       new NoiseSelector(
                                           from: 0.99,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 893146123)))));

            // add flower decal
            settings.AddDecal(
                new ProtoTileDecal("Terrain/ForestTropical/JungleFlower*",
                                   size: (1, 1),
                                   drawOrder: DrawOrder.GroundDecalsOver,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: new CombinedNoiseSelector(
                                       new NoiseSelector(
                                           from: 0.99,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 654352413)),
                                       new NoiseSelector(
                                           from: 0.99,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 219301646)),
                                       new NoiseSelector(
                                           from: 0.99,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 1283912642)),
                                       new NoiseSelector(
                                           from: 0.99,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 1283917341)),
                                       new NoiseSelector(
                                           from: 0.99,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 858366412)))));
        }
        protected override void PrepareProtoTile(Settings settings)
        {
            settings.AmbientSoundProvider = new TileForestAmbientSoundProvider(
                daySoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/TemperatePlains")),
                daySoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/TemperateForest")),
                nightSoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/TemperatePlainsNight")),
                nightSoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/TemperateForestNight")));

            // add ground texture for pebbles ground
            var groundTextureForest3 = new ProtoTileGroundTexture(
                texture: GroundTextureAtlas3,
                blendMaskTexture: BlendMaskTextureSprayRough,
                noiseSelector: null);

            settings.AddGroundTexture(groundTextureForest3);

            // add ground texture for dry leaves
            settings.AddGroundTexture(
                new ProtoTileGroundTexture(
                    texture: GroundTexture2,
                    blendMaskTexture: BlendMaskTextureSprayRough,
                    noiseSelector: new NoiseSelector(from: 0.5,
                                                     to: 1,
                                                     noise: new PerlinNoise(seed: 2010709225,
                                                                            scale: 15,
                                                                            octaves: 5,
                                                                            persistance: 0.6,
                                                                            lacunarity: 1.4))));

            // add ground texture for dry twigs
            settings.AddGroundTexture(
                new ProtoTileGroundTexture(
                    texture: GroundTexture1,
                    blendMaskTexture: BlendMaskTextureSprayRough,
                    noiseSelector: new NoiseSelector(from: 0.4,
                                                     to: 0.65,
                                                     noise: new PerlinNoise(seed: 1059426846,
                                                                            scale: 23,
                                                                            octaves: 5,
                                                                            persistance: 0.5,
                                                                            lacunarity: 1.4))));
            // add moss decals
            var mossTextures      = ProtoTileDecal.CollectTextures("Terrain/ForestTemperate/Moss*");
            var mossDrawOrder     = DrawOrder.GroundDecalsUnder;
            var mossSize          = new Vector2Ushort(2, 2);
            var mossNoiseSelector = new CombinedNoiseSelector(
                new NoiseSelector(
                    from: 0.8,
                    to: 0.97,
                    noise: new PerlinNoise(seed: 1298138103,
                                           scale: 10,
                                           octaves: 3,
                                           persistance: 0.7,
                                           lacunarity: 1.5)),
                new NoiseSelector(
                    from: 0.85,
                    to: 1,
                    noise: new PerlinNoise(seed: 38602111,
                                           scale: 11,
                                           octaves: 3,
                                           persistance: 0.7,
                                           lacunarity: 3)));

            // add moss decals with a four different offsets (to avoid empty space between neighbor moss sprites)
            for (ushort x = 0; x <= 1; x++)
            {
                for (ushort y = 0; y <= 1; y++)
                {
                    settings.AddDecal(
                        new ProtoTileDecal(mossTextures,
                                           size: mossSize,
                                           offset: (x, y),
                                           drawOrder: mossDrawOrder,
                                           noiseSelector: mossNoiseSelector));
                }
            }

            // some random moss
            settings.AddDecal(
                new ProtoTileDecal(mossTextures,
                                   size: mossSize,
                                   drawOrder: mossDrawOrder,
                                   noiseSelector: new NoiseSelector(
                                       from: 0.85,
                                       to: 1,
                                       noise: new WhiteNoise(seed: 306721460))));

            // add clover decals
            var cloverTextures      = ProtoTileDecal.CollectTextures("Terrain/ForestTemperate/GrassClover*");
            var cloverSize          = new Vector2Ushort(2, 2);
            var cloverNoiseSelector = new CombinedNoiseSelector(
                new NoiseSelector(
                    from: 0.5,
                    to: 0.65,
                    noise: new PerlinNoise(seed: 503902084,
                                           scale: 5,
                                           octaves: 3,
                                           persistance: 0.6,
                                           lacunarity: 1.7)),
                new NoiseSelector(
                    from: 0.55,
                    to: 0.65,
                    noise: new PerlinNoise(seed: 1884332513,
                                           scale: 8,
                                           octaves: 3,
                                           persistance: 0.6,
                                           lacunarity: 1.7)));

            settings.AddDecal(
                new ProtoTileDecal(cloverTextures,
                                   size: cloverSize,
                                   noiseSelector: cloverNoiseSelector));

            // add the same clover but with a little offset (to make a more dense diagonal placement)
            settings.AddDecal(
                new ProtoTileDecal(cloverTextures,
                                   size: cloverSize,
                                   offset: (1, 1),
                                   noiseSelector: cloverNoiseSelector));

            // add bush decal
            settings.AddDecal(
                new ProtoTileDecal("Terrain/ForestTemperate/BushGreen*",
                                   size: (1, 1),
                                   drawOrder: DrawOrder.GroundDecalsOver,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: new NoiseSelector(
                                       from: 0.975,
                                       to: 1,
                                       noise: new WhiteNoise(seed: 1092163963))));
        }
Beispiel #6
0
        protected override void PrepareProtoTile(Settings settings)
        {
            settings.AmbientSoundProvider = new TileAmbientSoundProvider(
                new AmbientSoundPreset(new SoundResource("Ambient/Ruins"),
                                       suppression: 1));

            settings.AddGroundTexture(
                new ProtoTileGroundTexture(
                    texture: GroundTexture1,
                    blendMaskTexture: BlendMaskTextureSprayStraightSmooth,
                    noiseSelector: null));

            // add bricks decals
            var bricksTextures      = ProtoTileDecal.CollectTextures("Terrain/Ruins/Bricks*");
            var bricksSize          = new Vector2Ushort(2, 2);
            var bricksNoiseSelector = new CombinedNoiseSelector(
                new NoiseSelector(
                    from: 0.63,
                    to: 0.65,
                    noise: new PerlinNoise(seed: 324921396,
                                           scale: 5,
                                           octaves: 3,
                                           persistance: 0.6,
                                           lacunarity: 1.7)),
                new NoiseSelector(
                    from: 0.63,
                    to: 0.65,
                    noise: new PerlinNoise(seed: 324534534,
                                           scale: 8,
                                           octaves: 3,
                                           persistance: 0.6,
                                           lacunarity: 1.7)));

            for (ushort x = 0; x <= 1; x++)
            {
                for (ushort y = 0; y <= 1; y++)
                {
                    settings.AddDecal(
                        new ProtoTileDecal(bricksTextures,
                                           size: bricksSize,
                                           offset: (x, y),
                                           noiseSelector: bricksNoiseSelector));
                }
            }

            // add various single tile garbage decals
            settings.AddDecal(
                new ProtoTileDecal(ProtoTileDecal.CollectTextures("Terrain/Ruins/Bottle*"),
                                   size: Vector2Ushort.One,
                                   drawOrder: DrawOrder.GroundDecalsOver,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: new CombinedNoiseSelector(
                                       new NoiseSelector(
                                           from: 0.985,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 69435135)))));

            settings.AddDecal(
                new ProtoTileDecal(ProtoTileDecal.CollectTextures(
                                       "Terrain/Ruins/Bag*",
                                       "Terrain/Ruins/Cardboard*",
                                       "Terrain/Ruins/Tube*",
                                       "Terrain/Ruins/Tubes*"),
                                   // actually the size is 1x1 but we don't want them to spawn nearby
                                   size: Vector2Ushort.One,
                                   drawOrder: DrawOrder.GroundDecalsOver,
                                   hidingSetting: DecalHidingSetting.AnyObject,
                                   noiseSelector: new CombinedNoiseSelector(
                                       new NoiseSelector(
                                           from: 0.97,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 73453423)),
                                       new NoiseSelector(
                                           from: 0.98,
                                           to: 1,
                                           noise: new WhiteNoise(seed: 12983622)))));
        }