コード例 #1
0
ファイル: TripleShot.cs プロジェクト: lantun01/BinaryAssault
    public override void Disparar(Transform arma, Vector3 direccion, float damage)
    {
        Vector3 desfase = new Vector3(0, separacion, 0);

        Proyectil disparo = (Proyectil)Pooler.instance.SpawnObjeto(proyectil);

        disparo.SetPatron(patron);
        disparo.transform.position = arma.position;
        disparo.posInicial         = arma.position;
        disparo.angulo             = direccion.Angulo();
        disparo.setDamage(damage);
        disparo.Disparar(damage, direccion);

        Proyectil p2 = (Proyectil)Pooler.instance.SpawnObjeto(proyectil2);

        p2.SetPatron(patron2);
        p2.transform.position = arma.position + desfase;
        p2.posInicial         = arma.position + desfase.RotarPunto(direccion.Angulo());
        p2.angulo             = direccion.Angulo() + angulo;
        disparo.setDamage(damage);
        p2.Disparar(damage, direccion);

        p2 = (Proyectil)Pooler.instance.SpawnObjeto(proyectil3);
        p2.SetPatron(patron3);
        p2.transform.position = arma.position - desfase;
        p2.posInicial         = arma.position - desfase;
        p2.angulo             = direccion.Angulo() - angulo;
        p2.Disparar(damage, direccion);
    }
コード例 #2
0
ファイル: NShot.cs プロジェクト: lantun01/BinaryAssault
    public override void Disparar(Transform arma, Vector3 direccion, float damage)
    {
        float   currentAngle    = 0;
        Vector3 desfase         = new Vector3(0, 0, 0);
        Vector3 currentDesfase  = new Vector3();
        float   anguloDireccion = direccion.Angulo();

        for (int i = 0; i < cantidadProyectiles; i++)
        {
            currentDesfase = desfase;
            currentDesfase.RotarPunto(anguloDireccion);


            Proyectil disparo = (Proyectil)Pooler.instance.SpawnObjeto(proyectil);
            disparo.SetPatron(patron);
            disparo.transform.position = arma.position + currentDesfase;
            disparo.posInicial         = arma.position + currentDesfase;
            disparo.angulo             = anguloDireccion + currentAngle;
            disparo.Disparar(damage, direccion);


            if (i % 2 == 0)
            {
                currentAngle -= angulo;
                desfase.y    -= separacion;
            }

            // currentAngle -= i % 2 == 0 ? angulo : 0;
            currentAngle *= -1f;
            desfase      *= -1;
        }
    }
コード例 #3
0
    public override void Disparar(Transform arma, Vector3 direccion, float damage)
    {
        Proyectil disparo = (Proyectil)Pooler.instance.SpawnObjeto(proyectil);

        disparo.SetPatron(patron);
        disparo.transform.position = arma.position;
        disparo.posInicial         = arma.position;
        disparo.angulo             = direccion.Angulo();
        disparo.setDamage(damage);
        disparo.Disparar(damage, direccion);
    }
コード例 #4
0
    public override void Disparar(Transform arma, Vector3 direccion, float damage)
    {
        Proyectil shot1 = (Proyectil)Pooler.instance.SpawnObjeto(proyectil);
        Proyectil shot2 = (Proyectil)Pooler.instance.SpawnObjeto(proyectil);

        shot1.setDamage(damage);
        shot1.SetPatron(patron);
        shot1.transform.position = arma.position;
        shot1.posInicial         = arma.position;
        shot1.angulo             = direccion.Angulo();
        shot1.Disparar(damage, direccion);

        shot2.SetPatron(patron2);
        shot2.transform.position = arma.position;
        shot2.posInicial         = arma.position;
        shot2.angulo             = direccion.Angulo();
        shot2.setDamage(damage);
        shot2.Disparar(damage, direccion);
    }