public void Init(TgcD3dInput Input)
        {
            crearTableroPicking(5, 9);

            pickingRay = new TgcPickingRay(Input);

            //Crear caja para marcar en que lugar hubo colision
            collisionPointMesh = TGCBox.fromSize(new TGCVector3(3, 3, 3), Color.Red);
            collisionPointMesh.AutoTransform = true;
            selected = false;

            #region configurarEfecto
            efecto = TgcShaders.loadEffect(GameModel.shadersDir + "shaderPlanta.fx");
            #endregion

            #region contenedor
            contenedor           = new TgcSceneLoader().loadSceneFromFile(GameModel.mediaDir + "modelos\\contenedor-TgcScene.xml").Meshes[0];
            contenedor.Scale     = new TGCVector3(45.5f, 45.5f, 45.5f);
            contenedor.Position  = new TGCVector3(-2000f, 400f, -800f);
            contenedor.Effect    = efecto;
            contenedor.Technique = "RenderSceneProgresivo";

            objetos.Add(contenedor);
            //glowObjects.Add(contenedor);

            #endregion

            //este body seria del tablero o isla principal
            body     = FactoryBody.crearBodyIsla();
            callback = new CollisionCallbackIsla(logica);
            logica.addBulletObject(this);

            PostProcess.agregarPostProcessObject(this);
        }
 public Sol(TgcMesh girasol, GameLogic logica)
 {
     masa = 10.0f;
     body = FactoryBody.crearBodyConImpulso(girasol.Position, radio, masa, new TGCVector3(1, 2, 1));
     logica.addBulletObject(this);
     callback = new CollisionCallbackFloor(logica, this);
     GameLogic.cantidadEnergia += 50;
 }
예제 #3
0
 public Explosivo(TGCVector3 posicion, GameLogic logica, Planta planta)
 {
     this.logica = logica;
     body        = FactoryBody.crearBodyExplosivo(posicion, 10);
     this.logica.addBulletObject(this);
     callback    = new CollisionCallbackDisparo(logica, this);
     this.planta = planta;
 }
        public static Planta crearSuperCanion(TGCVector3 posicion, GameLogic logica, Plataforma plataforma)
        {
            Planta superCanion = new SuperCanion(posicion, logica, plataforma);

            superCanion.body = FactoryBody.crearBodyPlanta(new TGCVector3(20, 15, 5), posicion);

            superCanion.callback = new CollisionCallbackFloor(logica, superCanion);
            logica.addBulletObject(superCanion);
            return(superCanion);
        }
        public static Planta crearNuez(TGCVector3 posicion, GameLogic logica, Plataforma plataforma)
        {
            Planta nuez = new Nuez(posicion, logica, plataforma);

            nuez.body = FactoryBody.crearBodyPlanta(new TGCVector3(25, 15, 15), posicion);

            nuez.callback = new CollisionCallbackFloor(logica, nuez);
            logica.addBulletObject(nuez);
            return(nuez);
        }
        public static Planta crearMina(TGCVector3 posicion, GameLogic logica, Plataforma plataforma)
        {
            Planta mina = new Mina(posicion, logica, plataforma);

            mina.body = FactoryBody.crearBodyPlanta(new TGCVector3(20, 15, 5), posicion);

            mina.callback = new CollisionCallbackFloor(logica, mina);
            logica.addBulletObject(mina);
            return(mina);
        }
        public static Planta crearChile(TGCVector3 posicion, GameLogic logica, Plataforma plataforma)
        {
            Planta chile = new Chile(posicion, logica, plataforma);

            chile.body = FactoryBody.crearBodyPlanta(new TGCVector3(20, 15, 5), posicion);

            chile.callback = new CollisionCallbackFloor(logica, chile);
            logica.addBulletObject(chile);
            return(chile);
        }
        public static Planta crearGirasol(TGCVector3 posicion, GameLogic logica, Plataforma plataforma)
        {
            Planta girasol = new Girasol(posicion, logica, plataforma);

            girasol.body = FactoryBody.crearBodyPlanta(new TGCVector3(20, 15, 1), posicion);

            girasol.callback = new CollisionCallbackFloor(logica, girasol);
            logica.addBulletObject(girasol);
            return(girasol);
        }
        public Bomba(TGCVector3 posicion, GameLogic logica)
        {
            efecto      = TgcShaders.loadEffect(GameModel.shadersDir + "shaderPlanta.fx");
            this.logica = logica;

            #region configurarObjeto

            bomba           = new TgcSceneLoader().loadSceneFromFile(GameModel.mediaDir + "modelos\\BOMBA-TgcScene.xml").Meshes[0];
            bomba.Scale     = new TGCVector3(40.5f, 80.5f, 40.5f);
            bomba.Effect    = efecto;
            bomba.Technique = tecnicaDefault;
            bomba.Position  = posicion;
            objetos.Add(bomba);

            body     = FactoryBody.crearBodyZombie(new TGCVector3(posicion.X, posicion.Y + 350, posicion.Z));
            callback = new CollisionCallbackFloor(logica, this);
            logica.addBulletObject(this);

            #endregion

            PostProcess.agregarPostProcessObject(this);
        }
예제 #10
0
 public SuperBala(TgcMesh planta, GameLogic logica, float angulo)
 {
     body = FactoryBody.crearBodyConImpulsoDoble(planta.Position, radio, masa, planta.Rotation, angulo);
     logica.addBulletObject(this);
     callback = new CollisionCallbackDisparo(logica, this);
 }