public FixedPositionRenderer(
     UxContext uxContext,
     IRenderizable game,
     ISpriteProvider <T> spriteProvider
     ) : base(uxContext, game, spriteProvider)
 {
 }
Exemple #2
0
 public GameRenderer(UxContext uxContext, IRenderizable game)
 {
     Game               = game;
     WRenderer          = uxContext.WRenderer;
     RenderOnEndActions = new List <Action>();
     Renderers          = new List <IRenderer>();
     CompRenderers      = new Dictionary <Type, ICompRenderer>();
 }
Exemple #3
0
 public PlayerRenderer(UxContext uxContext, IRenderizable game, int playerRadius)
     : base(
         uxContext,
         game,
         new SingleSpriteProvider <CurrentPositionComp>(
             uxContext,
             "player.png",
             GetPlayerTextureRect(playerRadius)
             )
         ) =>
Exemple #4
0
 public PickableRenderer(
     IGameRenderer gameRenderer,
     UxContext uxContext,
     IRenderizable game,
     IntPtr texture,
     SDL_Rect textureRect
     )
     : base(
         uxContext,
         game,
         new PickableSpriteProvider <T>(texture, textureRect)
         ) =>
Exemple #5
0
 public TileRenderer(UxContext uxContext, IRenderizable game)
     : base(
         uxContext,
         game,
         new TileSpriteProvider(
             uxContext,
             "floor.png",
             new Size(1920, 1440)
             )
         )
 {
 }
Exemple #6
0
 public EnemyRenderer(UxContext uxContext, IRenderizable game)
     : base(
         uxContext,
         game,
         new SingleSpriteProvider <CurrentPositionComp>(
             uxContext,
             "enemy.png",
             new SDL_Rect {
     x = 0, y = 0, w = 16, h = 16
 }
             )
         )
 {
 }
Exemple #7
0
 public DownStairsRenderer(UxContext uxContext, IRenderizable game, IntPtr boardTexture)
     : base(
         uxContext,
         game,
         new SingleSpriteProvider <DownStairsComp>(
             boardTexture,
             new SDL_Rect
 {
     x = 0,
     y = BoardComp.TILE_SIZE,
     w = BoardComp.TILE_SIZE,
     h = BoardComp.TILE_SIZE
 }
             )
         )
 {
 }
Exemple #8
0
 public UpStairsRenderer(UxContext uxContext, IRenderizable game, IntPtr boardTexture)
     : base(
         uxContext,
         game,
         new SingleSpriteProvider <UpStairsComp>(
             boardTexture,
             new SDL_Rect
 {
     x = BoardComp.TILE_SIZE,
     y = BoardComp.TILE_SIZE,
     w = UP_STAIRS_SPRITE_WIDTH,
     h = BoardComp.TILE_SIZE
 }
             )
         )
 {
 }
Exemple #9
0
 public FoodRenderer(
     IGameRenderer gameRenderer,
     UxContext uxContext,
     IRenderizable game,
     IntPtr boardTexture
     )
     : base(
         gameRenderer,
         uxContext,
         game,
         boardTexture,
         new SDL_Rect
 {
     x = 0,
     y = 0,
     w = BoardComp.TILE_SIZE,
     h = BoardComp.TILE_SIZE
 }
         )
 {
 }
Exemple #10
0
        private void CreateBuffer(IRenderizable game, IntPtr boardTexture)
        {
            FOVComp = game.Entities.GetSingleComponent <FOVComp>();

            var boardComp = game.Entities.GetSingleComponent <BoardComp>();

            BoardSize = boardComp.BoardSize.Multiply(BoardComp.TILE_SIZE);

            BoardBufferTexture = SDL_CreateTexture(
                UxContext.WRenderer,
                SDL_PIXELFORMAT_RGBA8888,
                (int)SDL_TextureAccess.SDL_TEXTUREACCESS_TARGET,
                BoardSize.Width,
                BoardSize.Height
                );
            SDL_SetTextureBlendMode(BoardBufferTexture, SDL_BlendMode.SDL_BLENDMODE_BLEND);
            SDL_SetRenderTarget(UxContext.WRenderer, BoardBufferTexture);

            using var tileRenderer = new TileRenderer(UxContext, game);
            var tileEntities = game.Entities.GetWithComponent <TileComp>();

            tileRenderer.Render(tileEntities, 0);

            using var wallRenderer = new WallRenderer(UxContext, game, boardTexture);
            var wallEntities = game.Entities.GetWithComponent <IWallComp>();

            wallRenderer.Render(wallEntities, 0);

            using var downStairsRenderer = new DownStairsRenderer(UxContext, game, boardTexture);
            var downStairEntities = game.Entities.GetWithComponent <DownStairsComp>();

            downStairsRenderer.Render(downStairEntities, 0);

            using var upStairsRenderer = new UpStairsRenderer(UxContext, game, boardTexture);
            var upStairsEntities = game.Entities.GetWithComponent <UpStairsComp>();

            upStairsRenderer.Render(upStairsEntities, 0);

            SDL_SetRenderTarget(UxContext.WRenderer, IntPtr.Zero);
        }
Exemple #11
0
 public BufferedGameRenderer(UxContext uxContext, IRenderizable game)
     : base(uxContext, game) =>
 public void QuitarRenderizable(IRenderizable unRenderizable)
 {
     Renderizables.Remove(unRenderizable);
     unRenderizable.Dispose();
 }
 public void AgregarRenderizable(IRenderizable unRenderizable)
 {
     Renderizables.Add(unRenderizable);
     unRenderizable.Init();
 }
Exemple #14
0
 public void RecreateBuffer(IRenderizable game, IntPtr boardTexture)
 {
     SDL_DestroyTexture(BoardBufferTexture);
     CreateBuffer(game, boardTexture);
 }
Exemple #15
0
 public BoardRenderer(UxContext uxContext, IRenderizable game, IntPtr boardTexture)
 {
     UxContext = uxContext;
     CreateBuffer(game, boardTexture);
 }