Esempio n. 1
0
    public void Shoot(TurretVariant variant, Vector3 offset, ColorVariant colorVariant, int colorVariantInt)
    {
        particleLauncher.transform.localPosition = variant.launcherOffset + offset;

        var collisionQuality = particleLauncher.collision;

        switch (colorVariantInt)
        {
        case 0:
            collisionQuality.collidesWith = LayerMask.GetMask("EnemyGreen");
            break;

        case 1:
            collisionQuality.collidesWith = LayerMask.GetMask("EnemyRed");
            break;

        case 2:
            collisionQuality.collidesWith = LayerMask.GetMask("EnemyBlue");
            break;
        }

        this.variant          = variant;
        this.colorVariantInt  = colorVariantInt;
        particleColorGradient = colorVariant.gradient;
        this.colorVariant     = colorVariant;
        ParticleSystem.MainModule psMain = particleLauncher.main;
        psMain.startColor = particleColorGradient.Evaluate(Random.Range(0f, 1f));;
        psMain.startSpeed = variant.speed;
        particleLauncher.Emit(1);
        shotSound.Play();
    }
Esempio n. 2
0
    void UpdateVariant()
    {
        turretVariant         = variants[variant];
        projectilePool.prefab = turretVariant.projectile;
        name = turretVariant.displayName;

        headRenderer.sprite = turretVariant.getHeadSprite(tankState);
        headRenderer.color  = turretColorVariant.color;
        baseRenderer.sprite = turretVariant.getBaseSprite();
    }
Esempio n. 3
0
 public TurretVariant getVariant()
 {
     turretVariant = variants[variant];
     return(turretVariant);
 }