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(); } }
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); } }
public CaraX(MeshTipoCaja meshTipoCaja, List <IAnteColision> accionesAnteColision, List <Rayo> rayos) : base(meshTipoCaja, accionesAnteColision, rayos) { }
public Cara(MeshTipoCaja meshTipoCaja, List <IAnteColision> accionesAnteColision, List <Rayo> rayos) { this.accionesAnteColision = accionesAnteColision; this.meshTipoCaja = meshTipoCaja; this.rayos = rayos; }
public CaraBuilder Mesh(MeshTipoCaja mesh) { this.mesh = mesh; return(this); }
public abstract void Colisionar(MeshTipoCaja meshTipoCaja, Colisionable colisionable);