Пример #1
0
    public override void Activate()
    {
        if (!chargingProjectile)
        {
            chargingProjectile = CreateProjectile() as ChargedProjectile;
            chargingProjectile.DisableCollider();
        }

        // Keep projectile attached to ship
        chargingProjectile.transform.position = turret.position;
    }
Пример #2
0
    protected override Projectile CreateProjectile()
    {
        ChargedProjectile projectile = Instantiate(
            projectilePrefab,
            turret.position,
            turret.rotation) as ChargedProjectile;

        projectile.SetDamage(damage.GetCalcValue());
        Vector2 velocity = turret.transform.right * speed.GetCalcValue();

        projectile.SetVelocity(velocity);

        return(projectile);
    }
Пример #3
0
 public override void Deactivate()
 {
     if (chargingProjectile.IsCharged)
     {
         chargingProjectile.EnableCollider();
         chargingProjectile.Fire();
         chargingProjectile = null;
         PlayFireSFX();
     }
     else
     {
         chargingProjectile.Dissipate();
     }
 }
Пример #4
0
 protected override void Shoot()
 {
     if (Shots.Count > 0)
     {
         ChargedProjectile projectileScript = Shots[0].GetComponent <ChargedProjectile>();
         if (projectileScript != null)
         {
             projectileScript.Dmg = damage;
             projectileScript.Seek(target.transform);
             projectileScript.fired  = true;
             projectileScript.moving = true;
         }
         Shots.RemoveAt(0);
         fireTimer = 0.2f;
     }
 }