Advertisement
Guest User

Untitled

a guest
Apr 26th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class EngineSound : MonoBehaviour {
  5.  
  6.     //Setting's Values
  7.     public float[] MinRpmTable = {500, 750, 1120, 1669, 2224, 2783, 3335, 3882, 4355, 4833, 5384, 5943, 6436, 6928, 7419, 7900};
  8.     public float[] NormalRpmTable = {720, 930, 1559, 2028, 2670, 3145, 3774, 4239, 4721, 5194, 5823, 6313, 6808, 7294, 7788, 8261};
  9.     public float[] MaxRpmTable = {920, 1360, 1829, 2474, 2943, 3575, 4036, 4525, 4993, 5625, 6123, 6616, 7088, 7589, 8060, 10000};
  10.     public float[] PitchingTable = {0.12f, 0.12f, 0.12f, 0.12f, 0.11f, 0.10f, 0.09f, 0.08f, 0.06f, 0.06f, 0.06f, 0.06f, 0.06f, 0.06f, 0.06f, 0.06f};
  11.  
  12.     //Make Values
  13.     //public float Pitching = 0.2f;
  14.     public float RangeDivider = 4f;
  15.    
  16.     //Make Components
  17.     public Flywheel Fly;
  18.     //public float RPM = 550f;
  19.     //public bool Mode = false;
  20.  
  21.     //Make 16x Audio Source
  22.     public AudioSource Audio1;
  23.     public AudioSource Audio2;
  24.     public AudioSource Audio3;
  25.     public AudioSource Audio4;
  26.     public AudioSource Audio5;
  27.     public AudioSource Audio6;
  28.     public AudioSource Audio7;
  29.     public AudioSource Audio8;
  30.     public AudioSource Audio9;
  31.     public AudioSource Audio10;
  32.     public AudioSource Audio11;
  33.     public AudioSource Audio12;
  34.     public AudioSource Audio13;
  35.     public AudioSource Audio14;
  36.     public AudioSource Audio15;
  37.     public AudioSource Audio16;
  38.    
  39.     void Start () {
  40.         Fly = this.GetComponent<Flywheel> ();
  41.  
  42.         //Get 16x Audio Source
  43.         Audio1 = Audio1.GetComponent<AudioSource> ();
  44.         Audio2 = Audio2.GetComponent<AudioSource> ();
  45.         Audio3 = Audio3.GetComponent<AudioSource> ();
  46.         Audio4 = Audio4.GetComponent<AudioSource> ();
  47.         Audio5 = Audio5.GetComponent<AudioSource> ();
  48.         Audio6 = Audio6.GetComponent<AudioSource> ();
  49.         Audio7 = Audio7.GetComponent<AudioSource> ();
  50.         Audio8 = Audio8.GetComponent<AudioSource> ();
  51.         Audio9 = Audio9.GetComponent<AudioSource> ();
  52.         Audio10 = Audio10.GetComponent<AudioSource> ();
  53.         Audio11 = Audio11.GetComponent<AudioSource> ();
  54.         Audio12 = Audio12.GetComponent<AudioSource> ();
  55.         Audio13 = Audio13.GetComponent<AudioSource> ();
  56.         Audio14 = Audio14.GetComponent<AudioSource> ();
  57.         Audio15 = Audio15.GetComponent<AudioSource> ();
  58.         Audio16 = Audio16.GetComponent<AudioSource> ();
  59.  
  60.         //Play Audio's
  61.         Audio1.Play();
  62.         Audio2.Play();
  63.         Audio3.Play();
  64.         Audio4.Play();
  65.         Audio5.Play();
  66.         Audio6.Play();
  67.         Audio7.Play();
  68.         Audio8.Play();
  69.         Audio9.Play();
  70.         Audio10.Play();
  71.         Audio11.Play();
  72.         Audio12.Play();
  73.         Audio13.Play();
  74.         Audio14.Play();
  75.         Audio15.Play();
  76.         Audio16.Play();
  77.     }
  78.    
  79.     void Update () {
  80.         //Set Volume By Rpm's
  81.         for (int i = 0; i < 16; i++) {
  82.             if (i == 0) {
  83.                 //Set Audio1
  84.                 if (Fly.RPM < MinRpmTable[i]) {
  85.                     Audio1.volume = 0.0f;
  86.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  87.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  88.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  89.                     Audio1.volume = ReducedRPM / Range;
  90.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  91.                     Audio1.pitch = 1f - PitchingTable[i] + PitchMath;
  92.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  93.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  94.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  95.                     Audio1.volume = 1f;
  96.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  97.                     Audio1.pitch = 1f + PitchMath;
  98.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  99.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  100.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  101.                     Audio1.volume = 1f - ReducedRPM / Range;
  102.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  103.                     //Audio1.pitch = 1f + PitchingTable[i] + PitchMath;
  104.                 }
  105.             } else if (i == 1) {
  106.                 //Set Audio2
  107.                 if (Fly.RPM < MinRpmTable[i]) {
  108.                     Audio2.volume = 0.0f;
  109.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  110.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  111.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  112.                     Audio2.volume = ReducedRPM / Range;
  113.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  114.                     Audio2.pitch = 1f - PitchingTable[i] + PitchMath;
  115.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  116.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  117.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  118.                     Audio2.volume = 1f;
  119.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  120.                     Audio2.pitch = 1f + PitchMath;
  121.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  122.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  123.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  124.                     Audio2.volume = 1f - ReducedRPM / Range;
  125.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  126.                     //Audio2.pitch = 1f + PitchingTable[i] + PitchMath;
  127.                 }
  128.             } else if (i == 2) {
  129.                 //Set Audio3
  130.                 if (Fly.RPM < MinRpmTable[i]) {
  131.                     Audio3.volume = 0.0f;
  132.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  133.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  134.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  135.                     Audio3.volume = ReducedRPM / Range;
  136.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  137.                     Audio3.pitch = 1f - PitchingTable[i] + PitchMath;
  138.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  139.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  140.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  141.                     Audio3.volume = 1f;
  142.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  143.                     Audio3.pitch = 1f + PitchMath;
  144.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  145.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  146.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  147.                     Audio3.volume = 1f - ReducedRPM / Range;
  148.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  149.                     //Audio3.pitch = 1f + PitchingTable[i] + PitchMath;
  150.                 }
  151.             } else if (i == 3) {
  152.                 //Set Audio4
  153.                 if (Fly.RPM < MinRpmTable[i]) {
  154.                     Audio4.volume = 0.0f;
  155.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  156.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  157.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  158.                     Audio4.volume = ReducedRPM / Range;
  159.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  160.                     Audio4.pitch = 1f - PitchingTable[i] + PitchMath;
  161.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  162.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  163.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  164.                     Audio4.volume = 1f;
  165.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  166.                     Audio4.pitch = 1f + PitchMath;
  167.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  168.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  169.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  170.                     Audio4.volume = 1f - ReducedRPM / Range;
  171.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  172.                     //Audio4.pitch = 1f + PitchingTable[i] + PitchMath;
  173.                 }
  174.             } else if (i == 4) {
  175.                 //Set Audio5
  176.                 if (Fly.RPM < MinRpmTable[i]) {
  177.                     Audio5.volume = 0.0f;
  178.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  179.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  180.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  181.                     Audio5.volume = ReducedRPM / Range;
  182.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  183.                     Audio5.pitch = 1f - PitchingTable[i] + PitchMath;
  184.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  185.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  186.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  187.                     Audio5.volume = 1f;
  188.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  189.                     Audio5.pitch = 1f + PitchMath;
  190.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  191.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  192.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  193.                     Audio5.volume = 1f - ReducedRPM / Range;
  194.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  195.                     //Audio5.pitch = 1f + PitchingTable[i] + PitchMath;
  196.                 }
  197.             } else if (i == 5) {
  198.                 //Set Audio6
  199.                 if (Fly.RPM < MinRpmTable[i]) {
  200.                     Audio6.volume = 0.0f;
  201.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  202.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  203.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  204.                     Audio6.volume = ReducedRPM / Range;
  205.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  206.                     Audio6.pitch = 1f - PitchingTable[i] + PitchMath;
  207.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  208.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  209.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  210.                     Audio6.volume = 1f;
  211.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  212.                     Audio6.pitch = 1f + PitchMath;
  213.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  214.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  215.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  216.                     Audio6.volume = 1f - ReducedRPM / Range;
  217.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  218.                     //Audio6.pitch = 1f + PitchingTable[i] + PitchMath;
  219.                 }
  220.             } else if (i == 6) {
  221.                 //Set Audio7
  222.                 if (Fly.RPM < MinRpmTable[i]) {
  223.                     Audio7.volume = 0.0f;
  224.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  225.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  226.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  227.                     Audio7.volume = ReducedRPM / Range;
  228.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  229.                     Audio7.pitch = 1f - PitchingTable[i] + PitchMath;
  230.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  231.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  232.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  233.                     Audio7.volume = 1f;
  234.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  235.                     Audio7.pitch = 1f + PitchMath;
  236.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  237.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  238.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  239.                     Audio7.volume = 1f - ReducedRPM / Range;
  240.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  241.                     //Audio7.pitch = 1f + PitchingTable[i] + PitchMath;
  242.                 }
  243.             } else if (i == 7) {
  244.                 //Set Audio8
  245.                 if (Fly.RPM < MinRpmTable[i]) {
  246.                     Audio8.volume = 0.0f;
  247.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  248.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  249.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  250.                     Audio8.volume = ReducedRPM / Range;
  251.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  252.                     Audio8.pitch = 1f - PitchingTable[i] + PitchMath;
  253.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  254.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  255.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  256.                     Audio8.volume = 1f;
  257.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  258.                     Audio8.pitch = 1f + PitchMath;
  259.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  260.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  261.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  262.                     Audio8.volume = 1f - ReducedRPM / Range;
  263.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  264.                     //Audio8.pitch = 1f + PitchingTable[i] + PitchMath;
  265.                 }
  266.             } else if (i == 8) {
  267.                 //Set Audio9
  268.                 if (Fly.RPM < MinRpmTable[i]) {
  269.                     Audio9.volume = 0.0f;
  270.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  271.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  272.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  273.                     Audio9.volume = ReducedRPM / Range;
  274.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  275.                     Audio9.pitch = 1f - PitchingTable[i] + PitchMath;
  276.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  277.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  278.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  279.                     Audio9.volume = 1f;
  280.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  281.                     Audio9.pitch = 1f + PitchMath;
  282.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  283.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  284.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  285.                     Audio9.volume = 1f - ReducedRPM / Range;
  286.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  287.                     //Audio9.pitch = 1f + PitchingTable[i] + PitchMath;
  288.                 }
  289.             } else if (i == 9) {
  290.                 //Set Audio10
  291.                 if (Fly.RPM < MinRpmTable[i]) {
  292.                     Audio10.volume = 0.0f;
  293.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  294.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  295.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  296.                     Audio10.volume = ReducedRPM / Range;
  297.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  298.                     Audio10.pitch = 1f - PitchingTable[i] + PitchMath;
  299.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  300.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  301.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  302.                     Audio10.volume = 1f;
  303.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  304.                     Audio10.pitch = 1f + PitchMath;
  305.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  306.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  307.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  308.                     Audio10.volume = 1f - ReducedRPM / Range;
  309.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  310.                     //Audio10.pitch = 1f + PitchingTable[i] + PitchMath;
  311.                 }
  312.             } else if (i == 10) {
  313.                 //Set Audio11
  314.                 if (Fly.RPM < MinRpmTable[i]) {
  315.                     Audio11.volume = 0.0f;
  316.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  317.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  318.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  319.                     Audio11.volume = ((ReducedRPM / Range) * 2f) - 1f;
  320.                     //Audio11.volume = 0.0f;
  321.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  322.                     Audio11.pitch = 1f - PitchingTable[i] + PitchMath;
  323.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  324.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  325.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  326.                     Audio11.volume = 1f;
  327.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  328.                     Audio11.pitch = 1f + PitchMath;
  329.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  330.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  331.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  332.                     Audio11.volume = 1f - ReducedRPM / Range;
  333.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  334.                     //Audio11.pitch = 1f + PitchingTable[i] + PitchMath;
  335.                 }
  336.             } else if (i == 11) {
  337.                 //Set Audio12
  338.                 if (Fly.RPM < MinRpmTable[i]) {
  339.                     Audio12.volume = 0.0f;
  340.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  341.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  342.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  343.                     Audio12.volume = ReducedRPM / Range;
  344.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  345.                     Audio12.pitch = 1f - PitchingTable[i] + PitchMath;
  346.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  347.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  348.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  349.                     Audio12.volume = 1f;
  350.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  351.                     Audio12.pitch = 1f + PitchMath;
  352.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  353.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  354.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  355.                     Audio12.volume = 1f - ReducedRPM / Range;
  356.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  357.                     //Audio12.pitch = 1f + PitchingTable[i] + PitchMath;
  358.                 }
  359.             } else if (i == 12) {
  360.                 //Set Audio13
  361.                 if (Fly.RPM < MinRpmTable[i]) {
  362.                     Audio13.volume = 0.0f;
  363.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  364.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  365.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  366.                     Audio13.volume = ReducedRPM / Range;
  367.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  368.                     Audio13.pitch = 1f - PitchingTable[i] + PitchMath;
  369.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  370.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  371.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  372.                     Audio13.volume = 1f;
  373.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  374.                     Audio13.pitch = 1f + PitchMath;
  375.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  376.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  377.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  378.                     Audio13.volume = 1f - ReducedRPM / Range;
  379.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  380.                     //Audio13.pitch = 1f + PitchingTable[i] + PitchMath;
  381.                 }
  382.             } else if (i == 13) {
  383.                 //Set Audio14
  384.                 if (Fly.RPM < MinRpmTable[i]) {
  385.                     Audio14.volume = 0.0f;
  386.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  387.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  388.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  389.                     Audio14.volume = ReducedRPM / Range;
  390.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  391.                     Audio14.pitch = 1f - PitchingTable[i] + PitchMath;
  392.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  393.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  394.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  395.                     Audio14.volume = 1f;
  396.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  397.                     Audio14.pitch = 1f + PitchMath;
  398.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  399.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  400.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  401.                     Audio14.volume = 1f - ReducedRPM / Range;
  402.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  403.                     //Audio14.pitch = 1f + PitchingTable[i] + PitchMath;
  404.                 }
  405.             } else if (i == 14) {
  406.                 //Set Audio15
  407.                 if (Fly.RPM < MinRpmTable[i]) {
  408.                     Audio15.volume = 0.0f;
  409.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  410.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  411.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  412.                     Audio15.volume = ReducedRPM / Range;
  413.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  414.                     Audio15.pitch = 1f - PitchingTable[i] + PitchMath;
  415.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  416.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  417.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  418.                     Audio15.volume = 1f;
  419.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  420.                     Audio15.pitch = 1f + PitchMath;
  421.                 } else if (Fly.RPM > MaxRpmTable[i]) {
  422.                     float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider;
  423.                     float ReducedRPM = Fly.RPM - MaxRpmTable[i];
  424.                     Audio15.volume = 1f - ReducedRPM / Range;
  425.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  426.                     //Audio15.pitch = 1f + PitchingTable[i] + PitchMath;
  427.                 }
  428.             } else if (i == 15) {
  429.                 //Set Audio16
  430.                 if (Fly.RPM < MinRpmTable[i]) {
  431.                     Audio16.volume = 0.0f;
  432.                 } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) {
  433.                     float Range = NormalRpmTable[i] - MinRpmTable[i];
  434.                     float ReducedRPM = Fly.RPM - MinRpmTable[i];
  435.                     Audio16.volume = ReducedRPM / Range;
  436.                     float PitchMath = (ReducedRPM * PitchingTable[i]) / Range;
  437.                     Audio16.pitch = 1f - PitchingTable[i] + PitchMath;
  438.                 } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) {
  439.                     float Range = MaxRpmTable[i] - NormalRpmTable[i];
  440.                     float ReducedRPM = Fly.RPM - NormalRpmTable[i];
  441.                     Audio16.volume = 1f;
  442.                     float PitchMath = (ReducedRPM * (PitchingTable[i] + 0.1f)) / Range;
  443.                     Audio16.pitch = 1f + PitchMath;
  444.                 }
  445.             }
  446.         }
  447.        
  448.     }
  449. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement