Beispiel #1
0
    public static void Push(int seed)
    {
        //Set the seed
        if (seed < 0)
        {
            seed = (int)(Random.value * 0xffffff);
        }

        //First push the old state
        RNGStateManager.Push();

        //Then set the state and push this too
        Random.InitState(seed);
        RNGStateManager.Push();
    }
Beispiel #2
0
    /// <summary>
    /// Generates a random golf course
    /// </summary>
    private void GenerateCourse()
    {
        //Save the seed
        RNGStateManager.Push(seed);

        //Generate a new fairway
        fairway = new Fairway(transform, fairwayOptions);

        //Generate sandtraps
        this.GenerateSandtraps();

        //Generate the terrain
        terrainGenerator = new TerrainGenerator(terrain, splatOptions, treeOptions);
        terrainGenerator.setMaps(sandtraps, fairway, terrain);

        //Move the flag up a bit
        fairway.flagObject.transform.Translate(Vector3.up * sandtrapOptions.sinkDepth * terrain.terrainData.size.y);

        //Now spawn the trees
        terrainGenerator.spawnTrees(fairway);

        //Return it
        RNGStateManager.Pop();
    }