예제 #1
0
    //faz a fila ir pra frente
    void FilaCycle(TipoMove mov)
    {
        TipoMove frenteFila = filaMovimentos.Dequeue();

        filaMovimentos.Enqueue(mov);
        hudSetas.RefreshPainel(GetFilaMovs());

        //return frenteFila;
    }
    void SoltaRaio(Vector2 dirRaio, float danoRaio, TipoMove moveRaio)
    {
        anim.SetTrigger("ATIRA");
        GameObject  obj   = Instantiate(wizLaserPrefab);
        RaioControl laser = obj.GetComponent <RaioControl>();

        laser.direcao = dirRaio;
        laser.dano    = danoRaio;
        laser.desvio  = moveRaio;
    }
    public void SetImagem(TipoMove tipo)
    {
        //placeholder
        gameObject.GetComponent <Image>().color = Color.white;

        switch (tipo)
        {
        case TipoMove.Cima:
            gameObject.GetComponent <Image>().sprite = setaCima;
            break;

        case TipoMove.Baixo:
            gameObject.GetComponent <Image>().sprite = setaBaixo;
            break;

        case TipoMove.Esquerda:
            gameObject.GetComponent <Image>().sprite = setaEsq;
            break;

        case TipoMove.Direita:
            gameObject.GetComponent <Image>().sprite = setaDir;
            break;

        case TipoMove.JumpEsquerda:
            gameObject.GetComponent <Image>().sprite = setaJEsq;
            //placeholder
            gameObject.GetComponent <Image>().color = Color.green;
            break;

        case TipoMove.JumpDireita:
            gameObject.GetComponent <Image>().sprite = setaJDir;
            //placeholder
            gameObject.GetComponent <Image>().color = Color.green;
            break;

        case TipoMove.Para:
            gameObject.GetComponent <Image>().sprite = stop;
            //placeholder
            gameObject.GetComponent <Image>().color = Color.black;
            break;

        default:
            break;
        }
    }
예제 #4
0
    private void ExecutaMovimento()
    {
        moveAtual = filaMovimentos.Peek();

        switch (moveAtual)
        {
        case TipoMove.Cima:
            rb2D.velocity = Vector2.up * speed;
            break;

        case TipoMove.Baixo:
            rb2D.velocity = Vector2.down * speed;
            break;

        case TipoMove.Esquerda:
            rb2D.velocity = Vector2.left * speed;
            break;

        case TipoMove.Direita:
            rb2D.velocity = Vector2.right * speed;
            break;

        case TipoMove.JumpEsquerda:
            rb2D.velocity += (Vector2.left * jSpeed) + (Vector2.up * forcaPulo);
            break;

        case TipoMove.JumpDireita:
            rb2D.velocity += (Vector2.right * jSpeed) + (Vector2.up * forcaPulo);
            break;

        case TipoMove.Para:
            rb2D.velocity = Vector2.zero;
            break;

        default:
            break;
        }
    }
예제 #5
0
 public void InterrompeMov(TipoMove movimento, float dano)
 {
     FilaCycle(movimento);
     proxMove += moveCooldown * dano;
 }