コード例 #1
0
ファイル: GameStructures.cs プロジェクト: slagusev/CadEditor
 public Screen(BlockLayer layer, int width, int height)
 {
     layers      = new BlockLayer[1];
     layers[0]   = layer;
     this.width  = width;
     this.height = height;
 }
コード例 #2
0
        private void mapScreen_Paint(object sender, PaintEventArgs e)
        {
            var g = e.Graphics;

            if (curTileStruct == null)
            {
                g.Clear(Color.Black);
                return;
            }
            var visibleRect = UtilsGui.getVisibleRectangle(this, mapScreen);

            g.Clear(Color.Black);
            var blockLayer = new BlockLayer(curTileStruct.toArray());

            blockLayer.showLayer = true;
            var screens = new[] { new Screen(blockLayer, curTileStruct.width, curTileStruct.height) };

            MapEditor.render(g, screens, 0, new MapEditor.RenderParams
            {
                bigBlocks               = bigBlocks,
                visibleRect             = visibleRect,
                curScale                = 2.0f,
                showBlocksAxis          = formMain.showAxis,
                showBorder              = false,
                width                   = curTileStruct.width,
                height                  = curTileStruct.height,
                additionalRenderEnabled = false,
            });
        }
コード例 #3
0
        private void mapScreen_Paint(object sender, PaintEventArgs e)
        {
            var g = e.Graphics;

            if (curTileStruct == null)
            {
                g.Clear(Color.Black);
                return;
            }
            var visibleRect = UtilsGui.getVisibleRectangle(this, mapScreen);

            g.Clear(Color.Black);
            var blockLayer = new BlockLayer()
            {
                screens = new int[1][] { curTileStruct.toArray() }, showLayer = true, blockWidth = 32, blockHeight = 32
            };

            MapEditor.Render(g, bigBlocks, visibleRect, new BlockLayer[] { blockLayer }, 0, 2.0f, false, formMain.ShowAxis, 0, 0, curTileStruct.Width, curTileStruct.Height);
        }
コード例 #4
0
        private static void renderLayer(Graphics g, BlockLayer layer, RenderParams renderParams)
        {
            bool needRenderLayer = layer != null && layer.showLayer;

            if (!needRenderLayer)
            {
                return;
            }

            int tileSizeX = renderParams.getTileSizeX();
            int tileSizeY = renderParams.getTileSizeY();

            int size = renderParams.getLayerSize();

            for (int i = 0; i < size; i++)
            {
                int       bigBlockNo = ConfigScript.getBigTileNoFromScreen(layer.data, i);
                Rectangle tileRect   = new Rectangle((i % renderParams.width) * tileSizeX + renderParams.leftMargin, i / renderParams.width * tileSizeY + renderParams.topMargin, tileSizeX, tileSizeY);
                renderParams.renderBlock(g, bigBlockNo, tileRect);
            }
        }