Exemple #1
0
 public void rotateFocus()
 {
     if (focusType == TurretFocus.closest)
     {
         focusType = TurretFocus.first;
     }
     else if (focusType == TurretFocus.first)
     {
         focusType = TurretFocus.last;
     }
     else if (focusType == TurretFocus.last)
     {
         focusType = TurretFocus.strongest;
     }
     else if (focusType == TurretFocus.strongest)
     {
         focusType = TurretFocus.weakest;
     }
     else if (focusType == TurretFocus.weakest)
     {
         focusType = TurretFocus.closest;
     }
     Debug.Log("Turret set to target " + focusType);
 }
Exemple #2
0
 public void setFocus(TurretFocus foc)
 {
     focusType = foc;
 }
Exemple #3
0
    public void SetupTurret(AudioSource source, ParticleSystem ps)
    {
        focusType = TurretFocus.first;

        setupTransforms();         //set main and head transforms for proper rotation

        switch (turretType)
        {
        case TurretType.rifleTurret:
            cost         = 10;
            attackRadius = 0;
            attackRange  = 30;
            fireRate     = 0.15f;
            //damage = 100;

            this.gameObject.AddComponent <Rifle>();
            Rifle r = this.gameObject.GetComponent <Rifle>();

            r.gunAudio     = source;
            r.gunParticles = ps;
            r.usesAmmo     = false;
            r.state        = WeaponState.Idle;
            r.DisableEffects();

            if (headTransform != null)
            {
                r.aimTransform = headTransform;
            }
            else
            {
                r.aimTransform = this.transform;
            }

            equipment = r;

            break;

        case TurretType.rocketTurret:
            cost         = 10;
            attackRadius = 50;
            attackRange  = 200;
            fireRate     = 0.75f;
            //damage = 400;

            this.gameObject.AddComponent <RocketLauncher>();
            RocketLauncher rl = this.gameObject.GetComponent <RocketLauncher>();

            rl.gunAudio     = source;
            rl.gunParticles = ps;
            rl.usesAmmo     = false;
            rl.state        = WeaponState.Idle;

            if (headTransform != null)
            {
                rl.aimTransform = headTransform;
            }
            else
            {
                rl.aimTransform = this.transform;
            }

            equipment = rl;

            break;

        case TurretType.cannonTurret:
            cost         = 10;
            attackRadius = 0;
            attackRange  = 250;
            fireRate     = 0.5f;
            //damage = 200;

            this.gameObject.AddComponent <Sniper>();
            Sniper s = this.gameObject.GetComponent <Sniper>();

            s.gunAudio     = source;
            s.gunParticles = ps;
            s.usesAmmo     = false;
            s.state        = WeaponState.Idle;

            if (headTransform != null)
            {
                s.aimTransform = headTransform;
            }
            else
            {
                s.aimTransform = this.transform;
            }

            equipment = s;
            break;

        case TurretType.aoeTurret:
            cost         = 10;
            attackRadius = 10;
            attackRange  = 0;
            fireRate     = 0.5f;
            //damage = 500;

            this.gameObject.AddComponent <Pulse>();
            Pulse p = this.gameObject.GetComponent <Pulse>();

            p.gunAudio     = source;
            p.gunParticles = ps;
            p.usesAmmo     = false;
            p.state        = WeaponState.Idle;

            if (headTransform != null)
            {
                p.aimTransform = headTransform;
            }
            else
            {
                p.aimTransform = this.transform;
            }

            equipment = p;

            break;
        }
    }