Ejemplo n.º 1
0
        /// <summary>
        /// 创建网格数据
        /// </summary>
        private void CreateCoordinateInfos()
        {
            for (int z = -HalfLength; z < HalfLength; z++)
            {
                for (int x = -HalfLength; x < HalfLength; x++)
                {
                    Vector2Int vector2Int = new Vector2Int(position.x + x, position.z + z);

                    CoordinateInfo info = new CoordinateInfo();
                    info.position        = vector2Int;
                    info.precipitation   = PerlinNoise.PerlinNoise2D(Map.Seed + 1, (vector2Int.x + 0.5f) * 0.003f, (vector2Int.y + 0.5f) * 0.003f);
                    info.baseTemperature = PerlinNoise.PerlinNoise2D(Map.Seed + 2, (vector2Int.x + 0.5f) * 0.003f, (vector2Int.y + 0.5f) * 0.003f);

                    info.biomeName = Biome.SelectBiome(info.baseTemperature, info.precipitation);
                    Biome currentBoime = Biome.GetBiomeByName(info.biomeName);

                    currentBoime.SetStratum(info);

                    Map.Instance.coordinateInfoMap.Add(vector2Int, info);
                }
            }
        }