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(); }
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(); }
public TurretVariant getVariant() { turretVariant = variants[variant]; return(turretVariant); }