void fire()
 {
     for (int shotsfired = 0; shotsfired < 3; shotsfired++)
     {
         shotdirection = character.transform.position - transform.position;
         shotdirection.Normalize();
         BossProjectile p = Instantiate(bossprojectile, new Vector3(ProjectileSpawnPoint[shotsfired].position.x, ProjectileSpawnPoint[shotsfired].position.y, ProjectileSpawnPoint[shotsfired].position.z), ProjectileSpawnPoint[shotsfired].rotation) as BossProjectile;
         p.GetComponent <Rigidbody2D>().AddForce(shotdirection * projectileSpeed);
     }
 }
Exemplo n.º 2
0
    public void FireInArcTowards(BossProjectile prefab, Vector3 target, float impactAfter = 1)
    {
        BossProjectile clone = Instantiate(prefab, transform.position, Quaternion.identity);

        clone.body = clone.GetComponent <Rigidbody>();

        var delta = target - transform.position;

        clone.body.velocity = VectorHelper.CalculateVelocity(delta, impactAfter / Time.fixedDeltaTime);

        // Look where you goin, chump
        clone.transform.forward = clone.body.velocity;
    }
Exemplo n.º 3
0
    public void FireStraightTowards(BossProjectile prefab, Vector3 target, float speed = 5f)
    {
        BossProjectile clone = Instantiate(prefab, transform.position, Quaternion.identity);

        clone.body = clone.GetComponent <Rigidbody>();

        var delta = target - transform.position;

        clone.body.velocity   = delta * speed;
        clone.body.useGravity = false;

        // Look where you goin, chump
        clone.transform.forward = clone.body.velocity;
    }