public void Init(UnityEngine.Terrain terrainOverride = null, TerrainConfig configOverride = null) { if (terrainOverride != null) { this.terrain = terrainOverride; } if (configOverride != null) { this.config = configOverride; } TerrainMeta.Terrain = this.terrain; TerrainMeta.Config = this.config; TerrainMeta.Transform = this.terrain.transform; TerrainMeta.Data = this.terrain.terrainData; TerrainMeta.Size = this.terrain.terrainData.size; TerrainMeta.OneOverSize = TerrainMeta.Size.Inverse(); TerrainMeta.Position = this.terrain.GetPosition(); TerrainMeta.Collider = this.terrain.GetComponent <TerrainCollider>(); TerrainMeta.Collision = this.terrain.GetComponent <TerrainCollision>(); TerrainMeta.Physics = this.terrain.GetComponent <TerrainPhysics>(); TerrainMeta.Colors = this.terrain.GetComponent <TerrainColors>(); TerrainMeta.Quality = this.terrain.GetComponent <TerrainQuality>(); TerrainMeta.Path = this.terrain.GetComponent <TerrainPath>(); TerrainMeta.BiomeMap = this.terrain.GetComponent <TerrainBiomeMap>(); TerrainMeta.AlphaMap = this.terrain.GetComponent <TerrainAlphaMap>(); TerrainMeta.BlendMap = this.terrain.GetComponent <TerrainBlendMap>(); TerrainMeta.HeightMap = this.terrain.GetComponent <TerrainHeightMap>(); TerrainMeta.SplatMap = this.terrain.GetComponent <TerrainSplatMap>(); TerrainMeta.TopologyMap = this.terrain.GetComponent <TerrainTopologyMap>(); TerrainMeta.WaterMap = this.terrain.GetComponent <TerrainWaterMap>(); TerrainMeta.DistanceMap = this.terrain.GetComponent <TerrainDistanceMap>(); TerrainMeta.Texturing = this.terrain.GetComponent <TerrainTexturing>(); TerrainMeta.HighestPoint = new Vector3(TerrainMeta.Position.x, TerrainMeta.Position.y + TerrainMeta.Size.y, TerrainMeta.Position.z); TerrainMeta.LowestPoint = new Vector3(TerrainMeta.Position.x, TerrainMeta.Position.y, TerrainMeta.Position.z); TerrainExtension[] components = base.GetComponents <TerrainExtension>(); for (int i = 0; i < (int)components.Length; i++) { components[i].Init(this.terrain, this.config); } uint seed = World.Seed; int num = SeedRandom.Range(ref seed, 0, 4) * 90; int num1 = SeedRandom.Range(ref seed, -45, 46); int num2 = SeedRandom.Sign(ref seed); TerrainMeta.LootAxisAngle = (float)num; TerrainMeta.BiomeAxisAngle = (float)(num + num1 + num2 * 90); }
public void Init(Terrain terrainOverride = null, TerrainConfig configOverride = null) { if (Object.op_Inequality((Object)terrainOverride, (Object)null)) { this.terrain = terrainOverride; } if (Object.op_Inequality((Object)configOverride, (Object)null)) { this.config = configOverride; } TerrainMeta.Terrain = this.terrain; TerrainMeta.Config = this.config; TerrainMeta.Transform = ((Component)this.terrain).get_transform(); TerrainMeta.Data = this.terrain.get_terrainData(); TerrainMeta.Size = this.terrain.get_terrainData().get_size(); TerrainMeta.OneOverSize = Vector3Ex.Inverse(TerrainMeta.Size); TerrainMeta.Position = this.terrain.GetPosition(); TerrainMeta.Collider = (TerrainCollider)((Component)this.terrain).GetComponent <TerrainCollider>(); TerrainMeta.Collision = (TerrainCollision)((Component)this.terrain).GetComponent <TerrainCollision>(); TerrainMeta.Physics = (TerrainPhysics)((Component)this.terrain).GetComponent <TerrainPhysics>(); TerrainMeta.Colors = (TerrainColors)((Component)this.terrain).GetComponent <TerrainColors>(); TerrainMeta.Quality = (TerrainQuality)((Component)this.terrain).GetComponent <TerrainQuality>(); TerrainMeta.Path = (TerrainPath)((Component)this.terrain).GetComponent <TerrainPath>(); TerrainMeta.BiomeMap = (TerrainBiomeMap)((Component)this.terrain).GetComponent <TerrainBiomeMap>(); TerrainMeta.AlphaMap = (TerrainAlphaMap)((Component)this.terrain).GetComponent <TerrainAlphaMap>(); TerrainMeta.BlendMap = (TerrainBlendMap)((Component)this.terrain).GetComponent <TerrainBlendMap>(); TerrainMeta.HeightMap = (TerrainHeightMap)((Component)this.terrain).GetComponent <TerrainHeightMap>(); TerrainMeta.SplatMap = (TerrainSplatMap)((Component)this.terrain).GetComponent <TerrainSplatMap>(); TerrainMeta.TopologyMap = (TerrainTopologyMap)((Component)this.terrain).GetComponent <TerrainTopologyMap>(); TerrainMeta.WaterMap = (TerrainWaterMap)((Component)this.terrain).GetComponent <TerrainWaterMap>(); TerrainMeta.DistanceMap = (TerrainDistanceMap)((Component)this.terrain).GetComponent <TerrainDistanceMap>(); TerrainMeta.Texturing = (TerrainTexturing)((Component)this.terrain).GetComponent <TerrainTexturing>(); TerrainMeta.HighestPoint = new Vector3((float)TerrainMeta.Position.x, (float)(TerrainMeta.Position.y + TerrainMeta.Size.y), (float)TerrainMeta.Position.z); TerrainMeta.LowestPoint = new Vector3((float)TerrainMeta.Position.x, (float)TerrainMeta.Position.y, (float)TerrainMeta.Position.z); foreach (TerrainExtension component in (TerrainExtension[])((Component)this).GetComponents <TerrainExtension>()) { component.Init(this.terrain, this.config); } uint seed = World.Seed; int num1 = SeedRandom.Range(ref seed, 0, 4) * 90; int num2 = SeedRandom.Range(ref seed, -45, 46); int num3 = SeedRandom.Sign(ref seed); TerrainMeta.LootAxisAngle = (float)num1; TerrainMeta.BiomeAxisAngle = (float)(num1 + num2 + num3 * 90); }