public void Update(TgcD3dInput Input) { efecto.SetValue("_Time", GameModel.time); efecto.SetValue("alturaEnY", GameLogic.cantidadZombiesMuertos * 10); #region chequeoDeColision //Si hacen clic con el mouse, ver si hay colision RayAABB if (Input.buttonPressed(TgcD3dInput.MouseButtons.BUTTON_LEFT)) { pickingRay.updateRay(); //Testear Ray contra el AABB de todos los meshes foreach (var unaPlataforma in plataformas)//.Where(p => !p.ocupado).ToList()) { var aabb = unaPlataforma.mesh.BoundingBox; //Ejecutar test, si devuelve true se carga el punto de colision collisionPoint selected = TgcCollisionUtils.intersectRayAABB(pickingRay.Ray, aabb, out collisionPoint); if (selected) { plataformaSeleccionada = unaPlataforma; unaPlataforma.mesh.BoundingBox.setRenderColor(Color.LightBlue); break; } } } #endregion }
protected override void Init() { var loader = new TgcSceneLoader(); scene = loader.loadSceneFromFile(GameModel.Media + "\\escenarios\\plataformas\\plataformas-TgcScene.xml"); var scene2 = loader.loadSceneFromFile(GameModel.Media + "\\objetos\\plataforma\\plataforma-TgcScene.xml"); plataforma1Mesh = scene2.Meshes[0]; plataforma2Mesh = scene2.Meshes[0]; plataforma1Mesh.AutoTransform = false; plataforma2Mesh.AutoTransform = false; plataforma1 = new Plataforma(new TGCVector3(0, 0, 0), plataforma1Mesh, contexto); plataforma2 = new Plataforma(new TGCVector3(0, 0, 0), plataforma1Mesh, contexto); this.planos = loader.loadSceneFromFile(GameModel.Media + "planos\\plataforma-TgcScene.xml"); planoIzq = this.planos.getMeshByName("planoIzq"); planoIzq.AutoTransform = false; planoDer = this.planos.getMeshByName("planoDer"); planoDer.AutoTransform = false; planoPiso = this.planos.getMeshByName("planoPiso"); planoPiso.AutoTransform = false; planoFront = this.planos.getMeshByName("planoFin"); planoFront.AutoTransform = false; planoBack = this.planos.getMeshByName("planoInicio"); planoBack.AutoTransform = false; }
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); }