CreateBuffer() public method

public CreateBuffer ( ) : void
return void
Esempio n. 1
0
		public override void Initialize(WidgetArgs args)
		{
			base.Initialize(args);

			// The four layers are stored in a 2x2 grid within a single texture
			radarSheet = new Sheet(SheetType.BGRA, new Size(2 * previewWidth, 2 * previewHeight).NextPowerOf2());
			radarSheet.CreateBuffer();
			radarData = radarSheet.GetData();

			MapBoundsChanged();

			// Set initial terrain data
			foreach (var cell in world.Map.AllCells)
				UpdateTerrainCell(cell);

			world.Map.MapTiles.Value.CellEntryChanged += UpdateTerrainCell;
			world.Map.CustomTerrain.CellEntryChanged += UpdateTerrainCell;
		}
Esempio n. 2
0
        public override void Initialize(WidgetArgs args)
        {
            base.Initialize(args);

            var width = world.Map.Bounds.Width;
            var height = world.Map.Bounds.Height;
            var rb = RenderBounds;
            previewScale = Math.Min(rb.Width * 1f / width, rb.Height * 1f / height);
            previewOrigin = new int2((int)((rb.Width - previewScale * width) / 2), (int)((rb.Height - previewScale * height) / 2));
            mapRect = new Rectangle(previewOrigin.X, previewOrigin.Y, (int)(previewScale * width), (int)(previewScale * height));

            // The four layers are stored in a 2x2 grid within a single texture
            radarSheet = new Sheet(new Size(2 * width, 2 * height).NextPowerOf2());
            radarSheet.CreateBuffer();
            radarData = radarSheet.GetData();

            terrainSprite = new Sprite(radarSheet, new Rectangle(0, 0, width, height), TextureChannel.Alpha);
            shroudSprite = new Sprite(radarSheet, new Rectangle(width, 0, width, height), TextureChannel.Alpha);
            actorSprite = new Sprite(radarSheet, new Rectangle(0, height, width, height), TextureChannel.Alpha);

            // Set initial terrain data
            foreach (var cell in world.Map.CellsInsideBounds)
                UpdateTerrainCell(cell);

            world.Map.MapTiles.Value.CellEntryChanged += UpdateTerrainCell;
            world.Map.CustomTerrain.CellEntryChanged += UpdateTerrainCell;
        }