public EscenaJuego(TgcCamera Camera, string MediaDir, string ShadersDir, TgcText2D DrawText, float TimeBetweenUpdates, TgcD3dInput Input, List <Jugador> jugadores, Jugador jugadorActivo, Jugador segundoJugador = null, bool dia = true) : base(Camera, MediaDir, ShadersDir, DrawText, TimeBetweenUpdates, Input) { this.dia = dia; screenQuad = new TgcScreenQuad(); initFisica(); initMeshes(); this.jugadores = jugadores; this.jugadorActivo = jugadorActivo; this.jugadorDos = segundoJugador; initJugadores(); sol = new Luz(Color.White, new TGCVector3(0, 70, -130)); sonido = new TgcMp3Player(); sonido.FileName = MediaDir + "Music\\Acelerando.wav"; sonido.play(true); pelota = new Pelota(escena.getMeshByName("Pelota"), new TGCVector3(0f, 50f, 0)); pelota.Mesh.Effect.SetValue("texPerlin", TextureLoader.FromFile(D3DDevice.Instance.Device, MediaDir + "Textures\\PerlinNoise.png")); dynamicsWorld.AddRigidBody(pelota.Cuerpo); paredes = new Paredes(escena.getMeshByName("Box_5")); dynamicsWorld.AddRigidBody(paredes.Cuerpo); arcos = new Arco[2]; arcos[0] = new Arco(escena.getMeshByName("Arco"), FastMath.PI); arcos[1] = new Arco(escena.getMeshByName("Arco"), 0); dynamicsWorld.AddRigidBody(arcos[0].Cuerpo); dynamicsWorld.AddRigidBody(arcos[1].Cuerpo); camara = new CamaraJugador(jugadorActivo, pelota, Camera, paredes.Mesh.createBoundingBox()); if (PantallaDividida) { camaraDos = new CamaraJugador(segundoJugador, pelota, Camera, paredes.Mesh.createBoundingBox()); } ui = new UIEscenaJuego(); ui.Init(MediaDir, drawer2D); animacionGol = new AnimacionGol(pelota); //Cargar shader con efectos de Post-Procesado effect = TGCShaders.Instance.LoadEffect(ShadersDir + "CustomShaders.fx"); //Configurar Technique dentro del shader effect.Technique = "PostProcess"; effect.SetValue("screenWidth", D3DDevice.Instance.Device.PresentationParameters.BackBufferWidth); effect.SetValue("screenHeight", D3DDevice.Instance.Device.PresentationParameters.BackBufferHeight); g_pCubeMap = new CubeTexture(D3DDevice.Instance.Device, 64, 1, Usage.RenderTarget, Format.X8R8G8B8, Pool.Default); //Creamos un Render Targer sobre el cual se va a dibujar la pantalla renderTargetBloom = new Texture(D3DDevice.Instance.Device, D3DDevice.Instance.Device.PresentationParameters.BackBufferWidth / 2, D3DDevice.Instance.Device.PresentationParameters.BackBufferHeight / 2, 1, Usage.RenderTarget, Format.X8R8G8B8, Pool.Default); depthStencil = D3DDevice.Instance.Device.CreateDepthStencilSurface(D3DDevice.Instance.Device.PresentationParameters.BackBufferWidth, D3DDevice.Instance.Device.PresentationParameters.BackBufferHeight, DepthFormat.D24S8, MultiSampleType.None, 0, true); }
public AnimacionGol(Pelota pelota) { Activo = false; this.pelota = pelota; }