public List <TerrainMod> GetTerrainMods() { List <TerrainMod> rtn = new List <TerrainMod>(); //find out which is the highest terrain - this is used if we raise the terrain so that only the highest one is raised TerrainListItem HighestTerrain = TerrainController.Instance.TerrainList.OrderByDescending(item => item.TData.GetHeight(this.TerrainXBase, this.TerrainYBase)).First(); foreach (TerrainListItem TLI in TerrainController.Instance.TerrainList) { TerrainMod Mod = new TerrainMod(); Mod.TerrainId = TLI.TerrainId; Mod.TerrainXBase = this.TerrainXBase; Mod.TerrainYBase = this.TerrainYBase; Mod.Heights = new float[this.Heights.GetLength(1), this.Heights.GetLength(0)]; bool ThisTerrainWasCut = false; float[,] PrevHeights = TLI.TData.GetHeights(this.TerrainXBase, this.TerrainYBase, this.Heights.GetLength(0), this.Heights.GetLength(1)); for (int j = 0; j < this.Heights.GetLength(0); j++) { for (int k = 0; k < this.Heights.GetLength(1); k++) { if (this.Heights[j, k] == 0) { Mod.Heights[k, j] = PrevHeights[k, j]; } else { float NewHeight = (this.Heights[j, k] - TLI.T.transform.position.y) / TLI.yRes; if (!this.RaiseAllowed) { if (NewHeight < PrevHeights[k, j]) { Mod.Heights[k, j] = NewHeight; ThisTerrainWasCut = true; } else { Mod.Heights[k, j] = PrevHeights[k, j]; } } else //if RaiseAllowed { if (TLI == HighestTerrain) { Mod.Heights[k, j] = NewHeight; } else { Mod.Heights[k, j] = NewHeight * 0.95f; } ThisTerrainWasCut = true; } } } } if (ThisTerrainWasCut) { rtn.Add(Mod); } } return(rtn); }
// Use this for initialization void Start () { if(!inMenu) { songAverage = Global.songTotalAverage; } else { songAverage = .0000001f; } tMod = gameObject.GetComponent<TerrainMod>(); //Debug.Log(songAverage); oldValues = new float[512]; currentValues = new float[512]; deltas = new float[512]; currentPower = new float[4]; source = audioObj.audio; //skyParticles = skyParticlesObj.particleSystem; theTrails = new Trail[trailObjects.Length]; for(int i = 0; i < trailObjects.Length; i++) { theTrails[i] = trailObjects[i].GetComponent<Trail>(); } }