public override void Colidir(IBloco Colisor) { if (Colisor is IJogador jogador) { jogador.Mover(Saida); } }
public virtual void Colidir(IBloco Colisor) { if (Colisor is IMovel movel) { Colidir(movel); } }
public override void Colidir(IBloco Colisor) { base.Colidir(Colisor); if (Colisor is IJogador) { ((IJogador)Colisor).Dano(1); } }
protected Vetor CalcularDirecao(IBloco Colisor) { Vetor DirecaoColisao = new Vetor(0, 0); if ((Esquerda < Colisor.Esquerda && Colisor.Esquerda < Direita || Esquerda < Colisor.Direita && Colisor.Direita < Direita) && (Cima > Colisor.Posicao.y || Colisor.Posicao.y > Baixo)) { DirecaoColisao.y = -1; } else if ((Cima < Colisor.Cima && Colisor.Cima < Baixo || Cima < Colisor.Baixo && Colisor.Baixo < Baixo) && (Esquerda > Colisor.Posicao.x || Colisor.Posicao.x > Direita)) { DirecaoColisao.x = -1; } return(DirecaoColisao); }
public void DesenharBloco(IBloco bloco) { if (!Desenhando) { throw new Exception("Não Está Desenhando"); } Texture2D _texture; _texture = new Texture2D(GraphicsDevice, 1, 1); var AuxCor = bloco.Estilo.Cor; var Cor = new Color(AuxCor.R, AuxCor.G, AuxCor.B, AuxCor.A); _texture.SetData(new Color[] { Cor }); var Pos = new Point( (int)(bloco.Posicao.x - bloco.Largura / 2), (int)(bloco.Posicao.y - bloco.Altura / 2)); var Tam = new Point((int)bloco.Largura, (int)bloco.Altura); SpriteBatch.Draw(_texture, new Rectangle(Pos, Tam), Color.White); }