Esempio n. 1
0
        public void RenderShapes(IRender render, IGame game)
        {
            var shape = game.ShapeInPlay;

            try
            {
                var shapeGridWidth = shape.ShapeGrid.GetLength(0);

                for (int i = 0; i < shapeGridWidth; i++)
                {
                    for (int j = 0; j < shapeGridWidth; j++)
                    {
                        if (shape.ShapeGrid[i, j])
                        {
                            render.Draw(i + shape.GameGridXPosition, j + shape.GameGridYPosition, shape.ShapeColor);
                        }
                    }
                }

                foreach (var block in game.GameGrid.Blocks)
                {
                    render.Draw(block.X, block.Y, block.ShapeColor);
                }
            }

            catch (NullReferenceException)
            {
            }
        }
Esempio n. 2
0
        protected override void Render(IRender render)
        {
            if (_gameState.ActiveShape == null)
            {
                return;
            }

            foreach (var block in _gameState.ActiveShape.GetBlocks())
            {
                render.Draw(block.XPosition, block.YPosition, block.Color);
            }

            foreach (var block in _gameState.DeadBlocks)
            {
                render.Draw(block.XPosition, block.YPosition, block.Color);
            }
        }
Esempio n. 3
0
 /// <summary>
 /// 目前暂时先使用单个CommandList,在单线程的情况下提交渲染对象
 /// </summary>
 /// <param name="deltaSeconds"></param>
 protected virtual void Draw(float deltaSeconds)
 {
     globeRender.Draw();
 }