Пример #1
0
 public void TesteoDeColision(Colisionable colisionable)
 {
     if (HuboColision(colisionable))
     {
         accionesAnteColision.ForEach((accion) => accion.Colisionar(meshTipoCaja, colisionable));
     }
 }
Пример #2
0
 public override void Colisionar(MeshTipoCaja mesh, Colisionable colisionable)
 {
     if (colisionable.movimiento.Y <= 0)
     {
         //var centroCaraY = CaraBuilder.Instance().Mesh(mesh).HallarCentroDeCara("y");
         //personaje.Mesh.Transform *= TGCMatrix.Translation(personaje.Position.X, centroCaraY.Y, personaje.Position.Z); ;
         colisionable.movimiento.Y = 0;
         colisionable.ColisionoEnY();
     }
 }
Пример #3
0
        public override void Colisionar(MeshTipoCaja meshTipoCaja, Colisionable colisionable)
        {
            if (SeEstaMoviendoHaciaMi(colisionable))
            {
                //if(colisionable is Personaje) {
                //    AgregarRozamiento(colisionable);
                //}
                // Es feo, pero es la unica que se me ocurre, porque solo tenes que aplicarle rozamiento al personaje,
                // si empuja las dos cajas y aplicas rozamiento a la segunda caja, el efecto es que se termina atrasando la segunda
                // por el rozamiento y se mete adentro de la que esta mas cerca del personaje, o eso me entendi...

                meshTipoCaja.movimiento += Desplazamiento(colisionable);
            }
        }
Пример #4
0
        private bool HuboColision(Colisionable colisionable)
        {
            var puntoInterseccion = TGCVector3.Empty;

            foreach (Rayo rayo in rayos)
            {
                rayo.Colisionar(colisionable.BoundingBox());

                if (rayo.HuboColision())
                {
                    return(true);
                }
            }

            return(false);
        }
Пример #5
0
 public Boolean ColisionaConColisionable(Colisionable unColisionable)
 {
     return(BoundingBoxesDelModelo().Any(bound => TgcCollisionUtils.testAABBAABB(bound, unColisionable.GetBoundingBox())));
 }
Пример #6
0
 public Boolean ColisionaConColisionable(Colisionable unColisionable)
 {
     return(modeloNave.ColisionaConColisionable(unColisionable));
 }
Пример #7
0
 public bool comprobarColision(Colisionable objeto)
 {
     return(true);
 }
Пример #8
0
 protected bool SeEstaMoviendoHaciaMi(Colisionable colisionable)
 {
     return(evaluarCondicionMovimiento(colisionable));
 }
Пример #9
0
 protected TGCVector3 Desplazamiento(Colisionable colisionable)
 {
     return(getVectorMovimiento(colisionable));
 }
Пример #10
0
 protected void AgregarRozamiento(Colisionable colisionable)
 {
     setCoordenadaMovimientoColisionable(colisionable, getCoordenadaMovimientoColisionable(colisionable) / 3);
 }
 public abstract void Colisionar(MeshTipoCaja meshTipoCaja, Colisionable colisionable);