Example #1
0
        public void Render()
        {
            drawer.BeginDrawSprite();

            if (!MainMenu)
            {
                if (HUDpersonaje)
                {
                    if (personaje.ilumnacionActiva)
                    {
                        drawer.DrawSprite(RellenoBateria);
                        drawer.DrawSprite(BarraBateria);
                    }
                    foreach (EspacioObjeto espacio in espaciosInventario)
                    {
                        drawer.DrawSprite(espacio.spriteEspacioInventario);
                        if (!espacio.libre)
                        {
                            drawer.DrawSprite(espacio.spriteItem);
                        }
                    }
                }

                if (HUDpersonaje_piezas)
                {
                    if (personaje.ilumnacionActiva)
                    {
                        drawer.DrawSprite(RellenoBateria);
                        drawer.DrawSprite(BarraBateria);
                    }
                    foreach (EspacioObjeto espacio in espaciosPiezas)
                    {
                        drawer.DrawSprite(espacio.spriteEspacioInventario);
                        if (!espacio.libre)
                        {
                            drawer.DrawSprite(espacio.spriteItem);
                        }
                    }
                }

                if (MapaPersonaje)
                {
                    drawer.DrawSprite(MapaPersonajeSprite);
                }

                if (MenuControles)
                {
                    drawer.DrawSprite(MenuControlesSprite);
                }

                if (MenuPausa)
                {
                }

                if (Perdio)
                {
                    drawer.DrawSprite(GameOverSprite);
                }
                if (personaje.visionNocturnaActivada)
                {
                    var relacionVisionNocturna = (personaje.tiempoLimiteVisionNocturna - personaje.tiempoVisionNocturna) / personaje.tiempoLimiteVisionNocturna;
                    if (relacionVisionNocturna > 0.75f)
                    {
                        drawer.DrawSprite(batverde);
                    }
                    if (relacionVisionNocturna > 0.5f && relacionVisionNocturna < 0.75f)
                    {
                        drawer.DrawSprite(batamarilla);
                    }
                    if (relacionVisionNocturna > 0.25f && relacionVisionNocturna < 0.5f)
                    {
                        drawer.DrawSprite(batnaranja);
                    }
                    if (relacionVisionNocturna < 0.25f)
                    {
                        drawer.DrawSprite(batroja);
                    }
                }

                if (PantallaAzul)
                {
                    drawer.DrawSprite(pantallaAzulSprite);
                }
                if (Agenda)
                {
                    drawer.DrawSprite(AgendaSprite);
                    paginaActualSprite = new CustomSprite
                    {
                        Bitmap   = new CustomBitmap(paginaActual.rutaImagen, D3DDevice.Instance.Device),
                        Position = AgendaSprite.Position,
                        Scaling  = new TGCVector2(1.5f * factorAncho, 1.5f * factorAlto),
                    };
                    drawerText.drawText("Presionar [Espacio] para pasar entre notas ", (int)AgendaSprite.Position.X + 50, (int)AgendaSprite.Position.Y + 400, Color.White);
                    drawerText.drawText("Presionar [G] para cerrar la agenda ", (int)AgendaSprite.Position.X + 50, (int)AgendaSprite.Position.Y + 420, Color.White);
                    drawer.DrawSprite(paginaActualSprite);
                }

                if (Mensaje)
                {
                    drawerText.drawText("Presionar [E] para agarrar " + MensajeRecolectable.getDescripcion(), (int)EspacioMensajeSprite.Position.X + 100, (int)EspacioMensajeSprite.Position.Y + 25, Color.White);
                    drawer.DrawSprite(EspacioMensajeSprite);
                    CustomSprite imagenRecolectableColisionado = new CustomSprite
                    {
                        Bitmap   = new CustomBitmap(MensajeRecolectable.getRutaImagen(), D3DDevice.Instance.Device),
                        Position = EspacioMensajeSprite.Position,
                    };
                    drawer.DrawSprite(imagenRecolectableColisionado);
                }

                if (MensajeExtra)
                {
                    drawerText.drawText(MensajeExtraContenido, (int)EspacioMensajeSprite.Position.X + 100, (int)EspacioMensajeSprite.Position.Y + 25, Color.White);
                    drawer.DrawSprite(EspacioMensajeSprite);
                }

                if (MensajeColisionable)
                {
                    if (Colisionado.interactuable)
                    {
                        drawerText.drawText(Colisionado.getMensajeColision(), (int)EspacioMensajeSprite.Position.X + 100, (int)EspacioMensajeSprite.Position.Y + 25, Color.White);
                        drawer.DrawSprite(EspacioMensajeSprite);
                    }
                }

                for (int i = 0; i < mensajesTemporales.Count; i++)
                {
                    var mensaje = mensajesTemporales[i];
                    drawerText.drawText(mensaje.getContenido(),
                                        (int)(width * 0.75f), (int)(height * 0.8) + 20 * i,
                                        Color.White);
                }
            }
            else
            {
                drawer.DrawSprite(mainMenuSprite);
                drawerText.drawText("Presionar F para empezar", (int)(width * 0.43f), (int)(height * 0.7f), Color.White);
            }

            drawer.EndDrawSprite();
        }