Beispiel #1
0
    public static void RingAttack(Transform t, int seperator, Quaternion startingRot)
    {
        Quaternion adjustedRot;

        for (int i = 0; i < anglesX.Length; i += seperator)
        {
            Rigidbody shotProj = Instantiate(projectile, t.position, startingRot);
            adjustedRot = startingRot * Quaternion.Euler(Vector3.up * anglesX[i]);
            shotProj.transform.rotation = adjustedRot;
            projectileScript ps = shotProj.GetComponent <projectileScript>();
            ps.damage = 1;
            Sprite tempSprite;
            if (seperator == 1)
            {
                spriteNames.TryGetValue("RedDouble", out tempSprite);
            }
            else
            {
                spriteNames.TryGetValue("GreenSingle", out tempSprite);
            }
            ps.StartingTexture = tempSprite;
            //ps.startingTexture = value;
            shotProj.AddForce(shotProj.transform.forward * fire_speed, ForceMode.Impulse);
        }
    }
Beispiel #2
0
    void SingleAttack(Transform t, bool shrap, bool pickup, int bc)
    {
        Rigidbody        proj = Instantiate(projectile, t.position, t.rotation);
        projectileScript ps   = proj.GetComponent <projectileScript>();

        proj.transform.rotation = smoothedRot;
        ps.damage      = 1;
        ps.isShrap     = shrap;
        ps.bounceCount = bc;
        ps.pickupAble  = pickup;
        Sprite tempSprite = null;

        if (shrap)
        {
            spriteNames.TryGetValue("GreenQuad", out tempSprite);
        }
        else if (bc > 0)
        {
            spriteNames.TryGetValue("Bounce" + (bc + 1), out tempSprite);
        }
        else
        {
            spriteNames.TryGetValue("BlueSingle", out tempSprite);
        }
        if (tempSprite != null)
        {
            ps.StartingTexture = tempSprite;
        }
        proj.AddForce(transform.forward * fire_speed, ForceMode.Impulse);
    }
    //synconizes projectile properties with shooter's properties, namely Mouse aim and main camera
    private void spawnProjectile()
    {
        GameObject proj = (GameObject)Instantiate(projectile, transform.position + spawnPt, Quaternion.identity);
        //proj.transform.Rotate (-90, 90, 0);

        //GameObject proj = (GameObject)Instantiate (projectile, transform.position + spawnPt);
        projectileScript pScript = proj.GetComponent <projectileScript> ();

        pScript.mouseAim   = mouseAim;
        pScript.mainCamera = mainCamera;
    }
Beispiel #4
0
    void ShotgunAttack()
    {
        Quaternion adjustedRot;

        for (int i = 0; i < 3; i++)
        {
            Rigidbody shotProj = Instantiate(projectile, firePoint.position, transform.rotation);
            adjustedRot = smoothedRot * Quaternion.Euler(Vector3.up * SG_angles[i]);
            shotProj.transform.rotation = adjustedRot;
            projectileScript ps = shotProj.GetComponent <projectileScript>();
            ps.damage = 1;
            spriteNames.TryGetValue("GreenSingle", out Sprite tempSprite);
            ps.StartingTexture = tempSprite;
            shotProj.AddForce(shotProj.transform.forward * fire_speed, ForceMode.Impulse);
        }
    }
Beispiel #5
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="transform">transform du gameObject dont le projectile va partir</param>
    /// <param name="speed">vitesse a la quelle leprojectile va partir</param>
    protected void Shootprojectile(Transform transform, int speed)
    {
        // instentie la position du nouveaux projectile
        Transform  projectileInst = Instantiate(projectile, transform.position, transform.rotation);
        GameObject goP            = GameObject.Find(projectileInst.name);
        // recupere les composant du script projectileScript
        projectileScript proj = goP.GetComponent <projectileScript>();

        // verifie ou regarde le monstre afin de tirer le projectile dans la bonne direction
        if (transform.rotation.y == 180)
        {
            proj.setMove(speed);
        }
        else
        {
            proj.setMove(-speed);
        }
    }
Beispiel #6
0
    public void fireProjectile()
    {
        if (projectileNumbers > 0)
        {
            projectileNumbers -= 1;

            currentProjectile = (GameObject)Instantiate(projectile, spawnPreojectilesPosition.transform.position, Quaternion.identity);

            Vector3 aimAngle3D = aimAngle;

            currentProjectile.transform.rotation = Quaternion.LookRotation(aimAngle3D, new Vector3(1, 0, 0));

            projectileScript pScript = currentProjectile.GetComponent <projectileScript> ();


            pScript.moveAngle = aimAngle;
            pScript.speed     = projectileSpeed;
            pScript.character = GetComponent <ICharacter> ();
        }
    }