示例#1
0
        public void WorldLoaded(World w, WorldRenderer wr)
        {
            // Initialize tile cache
            // Adds a 1-cell border around the border to cover any sprites peeking outside the map
            foreach (var cell in CellRegion.Expand(w.Map.Cells, 1))
            {
                var screen  = wr.ScreenPosition(w.Map.CenterOfCell(cell));
                var variant = Game.CosmeticRandom.Next(info.ShroudVariants.Length);
                tiles[cell] = new ShroudTile(cell, screen, variant);

                // Set the cells outside the border so they don't need to be touched again
                if (!map.Contains(cell))
                {
                    var index = info.UseExtendedIndex ? 240 : 15;
                    tiles[cell].Shroud = shroudSprites[variant * variantStride + spriteMap[index]];
                }
            }

            fogPalette    = wr.Palette(info.FogPalette);
            shroudPalette = wr.Palette(info.ShroudPalette);
        }
示例#2
0
        public void WorldLoaded(World w, WorldRenderer wr)
        {
            // Initialize tile cache
            // Adds a 1-cell border around the border to cover any sprites peeking outside the map
            foreach (var cell in CellRegion.Expand(w.Map.Cells, 1))
            {
                var screen  = wr.ScreenPosition(w.Map.CenterOfCell(cell));
                var variant = (byte)Game.CosmeticRandom.Next(info.ShroudVariants.Length);
                tiles[cell] = new ShroudTile(screen, variant);

                // Set the cells outside the border so they don't need to be touched again
                if (!map.Contains(cell))
                {
                    var shroudTile = tiles[cell];
                    shroudTile.Shroud = GetTile(shroudSprites, notVisibleEdges, variant);
                    tiles[cell]       = shroudTile;
                }
            }

            fogPalette    = wr.Palette(info.FogPalette);
            shroudPalette = wr.Palette(info.ShroudPalette);
        }
示例#3
0
		public void WorldLoaded(World w, WorldRenderer wr)
		{
			// Initialize tile cache
			// Adds a 1-cell border around the border to cover any sprites peeking outside the map
			foreach (var cell in CellRegion.Expand(w.Map.Cells, 1))
			{
				var screen = wr.ScreenPosition(w.Map.CenterOfCell(cell));
				var variant = Game.CosmeticRandom.Next(info.ShroudVariants.Length);
				tiles[cell] = new ShroudTile(cell, screen, variant);

				// Set the cells outside the border so they don't need to be touched again
				if (!map.Contains(cell))
				{
					var index = info.UseExtendedIndex ? 240 : 15;
					tiles[cell].Shroud = shroudSprites[variant * variantStride + spriteMap[index]];
				}
			}

			fogPalette = wr.Palette(info.FogPalette);
			shroudPalette = wr.Palette(info.ShroudPalette);
		}
示例#4
0
        public void WorldLoaded(World w, WorldRenderer wr)
        {
            // Initialize tile cache
            // Adds a 1-cell border around the border to cover any sprites peeking outside the map
            foreach (var cell in CellRegion.Expand(w.Map.Cells, 1))
            {
                var screen = wr.ScreenPosition(w.Map.CenterOfCell(cell));
                var variant = (byte)Game.CosmeticRandom.Next(info.ShroudVariants.Length);
                tiles[cell] = new ShroudTile(screen, variant);

                // Set the cells outside the border so they don't need to be touched again
                if (!map.Contains(cell))
                {
                    var shroudTile = tiles[cell];
                    shroudTile.Shroud = GetTile(shroudSprites, notVisibleEdges, variant);
                    tiles[cell] = shroudTile;
                }
            }

            fogPalette = wr.Palette(info.FogPalette);
            shroudPalette = wr.Palette(info.ShroudPalette);
        }