void Awake()
    {
        noiseGenerator = new NoiseGenerator();

        billowModule = new Billow(n1frequency, n1lacunarity, n1persistence, n1octaves, n1seed, QualityMode.High); //(frequency, lacunarity, persistence, octaves, seed, QualityMode.High));
        //billowModule = new Voronoi(n1frequency, n1lacunarity, n1seed, true);
        billowScaleBiasModule = new ScaleBias(n1scale, n1bias, billowModule);

        ridgedModule          = new RidgedMultifractal(n2frequency, n2lacunarity, n2octaves, n2seed, QualityMode.High);
        ridgedScaleBiasModule = new ScaleBias(n2scale, n2bias, ridgedModule);

        perlinModule          = new Perlin(n3frequency, n3lacunarity, n3persistence, n3octaves, n3seed, QualityMode.High);
        perlinScaleBiasModule = new ScaleBias(n3scale, n3bias, perlinModule);

        selectModule = new Select(billowScaleBiasModule, ridgedScaleBiasModule, perlinScaleBiasModule);
        selectModule.SetBounds(0.5, 1000);  // parameterize?
        selectModule.FallOff = 0.3928571;

        turbulenceModule           = new Turbulence(0.335, selectModule);
        turbulenceModule.Frequency = 4.742f;
        turbulenceScaleBias        = new ScaleBias(n1scale, n1bias, turbulenceModule);

        currentModule = billowScaleBiasModule;

        waterGenerator = GameObject.FindObjectOfType <WaterGenerator> ();
    }
        public override string GenerateSharedVertexShader(VertexType vertex, ShaderStage stage)
        {
            var gen      = new WaterGenerator();
            var bytecode = gen.GenerateSharedVertexShader(vertex, stage).Bytecode;

            return(D3DCompiler.Disassemble(bytecode));
        }
        public override string GenerateSharedPixelShader(ShaderStage stage, int methodIndex, int optionIndex)
        {
            var gen      = new WaterGenerator();
            var bytecode = gen.GenerateSharedPixelShader(stage, methodIndex, optionIndex).Bytecode;

            return(D3DCompiler.Disassemble(bytecode));
        }
        public override string GeneratePixelShader(ShaderStage stage, List <int> shaderOptions)
        {
            var gen      = new WaterGenerator(shaderOptions.Select(x => (byte)x).ToArray());
            var bytecode = gen.GeneratePixelShader(stage).Bytecode;

            return(D3DCompiler.Disassemble(bytecode));
        }
Beispiel #5
0
 public void DrawWater()
 {
     //waterObject = GameObject.Find("Preview Water");
     //waterObject.SetActive(waterSettings.hasWater);
     if (waterSettings.hasWater)
     {
         waterObject = WaterGenerator.GenerateWater(waterObject, waterSettings, meshSettings, heightMapSettings);
     }
 }
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        WaterGenerator f = target as WaterGenerator;

        if (GUILayout.Button("GenerateWaterMesh"))
        {
            f.GenerateWaterMesh();
        }
    }
    public override void OnInspectorGUI()
    {
        WaterGenerator mapGen = (WaterGenerator)target;

        if (DrawDefaultInspector())
        {
            mapGen.GenerateWater();
        }

        if (GUILayout.Button("Update"))
        {
            mapGen.GenerateWater();
        }
    }
Beispiel #8
0
        public void Generate(int width, int height)
        {
            Width  = width;
            Height = height;
            Tiles  = new Tile[width, height];
            FillWithGrass();
            if (width >= 50 && height >= 50) //test mode check, unit tests use 3x3 map
            {
                LandspaceGenerator water = new WaterGenerator();
                water.Generate(this, TerrainId.Water);

                LandspaceGenerator sand = new SandGenerator();
                sand.Generate(this, TerrainId.Sand);
            }
        }
    void GenerateMap()
    {
        map = new int[width, height];
        RandomFillMap();

        for (int i = 0; i < 5; i++)
        {
            SmoothMap();
        }

        ProcessMap();

        WaterGenerator waterGen = GetComponent <WaterGenerator>();

        waterGen.GenerateMap(map, squareSize);

        ArmyGenerator armyGen = GetComponent <ArmyGenerator>();

        armyGen.GenerateArmy(width, height, squareSize);
    }
Beispiel #10
0
 private void Awake()
 {
     terrainDisplay = GetComponent <TerrainDisplay>();
     instance       = this;
 }