BiomePainter.RegionUtil.AddorRemoveBiomesSelection C# (CSharp) Method

AddorRemoveBiomesSelection() public static method

public static AddorRemoveBiomesSelection ( RegionFile region, Bitmap b, Color selectionColor, byte biome, bool add ) : void
region Minecraft.RegionFile
b System.Drawing.Bitmap
selectionColor Color
biome byte
add bool
return void
        public static void AddorRemoveBiomesSelection(RegionFile region, Bitmap b, Color selectionColor, byte biome, bool add)
        {
            foreach (Chunk c in region.Chunks)
            {
                if (c.Root == null)
                    continue;
                Coord chunkOffset = new Coord(region.Coords);
                chunkOffset.RegiontoChunk();
                chunkOffset = new Coord(c.Coords.X - chunkOffset.X, c.Coords.Z - chunkOffset.Z);
                chunkOffset.ChunktoAbsolute();

                byte[] biomes = (byte[])c.Root["Level"]["Biomes"];

                for (int z = 0; z < 16; z++)
                {
                    for (int x = 0; x < 16; x++)
                    {
                        if(biome == biomes[x + z * 16])
                            b.SetPixel(OFFSETX + chunkOffset.X + x, OFFSETY + chunkOffset.Z + z, add ? selectionColor : Color.Transparent);
                    }
                }
            }
        }

Usage Example

Esempio n. 1
0
        private void btnAddorRemovebyBiomes_Click(object sender, EventArgs e)
        {
            if (world == null || region == null)
            {
                return;
            }
            bool add = sender == btnAddbyBiomes ? true : false;

            UpdateStatus(add ? "Adding to selection" : "Removing from selection");
            RegionUtil.AddorRemoveBiomesSelection(region, imgRegion.Layers[SELECTIONLAYER].Image, imgRegion.SelectionColor, ((BiomeType)cmbBiomeType.SelectedItem).ID, add);
            UpdateStatus("");
            imgRegion.Redraw();
            history.RecordSelectionState(imgRegion.Layers[SELECTIONLAYER].Image, add ? "Select by Biome" : "Deselect by Biome");
        }