Пример #1
0
    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);
    }
Пример #2
0
    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);
    }