public void AssignFunctions(FunctionTerrainManager functionTerrainManager, FunctionRiverPlanner functionRiverPlanner, FunctionDebugger functionDebugger, FunctionMathCalculator functionMathCalculator, FunctionRiverDigger functionRiverDigger, GUIRiver guiRiver) { ftm = functionTerrainManager; frp = functionRiverPlanner; fd = functionDebugger; fmc = functionMathCalculator; frd = functionRiverDigger; riverGui = guiRiver; }
public RiverInfo(RiverGenerator rg) { riverPath = new List<Vertex>(); //reachTop = false; //reachRight = false; //reachBot = false; //reachLeft = false; fd = rg.fd; frp = rg.frp; ftm = rg.ftm; fmc = rg.fmc; reachedSides = new List<Direction>(); shape = RiverShape.atan; lowestPoint = new Vertex(666, 666, 666); globalRiverC = new GlobalCoordinates(100); }
//***********<RIVER...>************* public RiverGenerator(TerrainGenerator terrain) { this.terrain = terrain; filtermanager = terrain.filterManager; terrain.riverGenerator = this; vertices = terrain.vertices; terrainSize = terrain.terrainSize; heightMap = terrain.heightMap; frp = new FunctionRiverPlanner(this); frd = new FunctionRiverDigger(this); fmc = new FunctionMathCalculator(this); ftm = new FunctionTerrainManager(this); fd = new FunctionDebugger(this); currentRiver = new RiverInfo(terrain); AssignFunctions(); }
void Start() { guiManager = GameObject.Find("GUI").GetComponent<GUIManager>(); terrainWidth = 100; terrainHeight = terrainWidth; try { GUIterrainPlannerMenu tpMenu = GameObject.Find("TerrainPlanner").GetComponent<GUIterrainPlannerMenu>(); patchSize = tpMenu.patch.patchSize; } catch (Exception e) { Debug.Log("TerrainPlanner not found"); patchSize = 64; } cameraMovement camera = transform.GetComponent<cameraMovement>(); camera.ChangePosition(new Vector3(0, 100, 0)); camera.ChangeRotation(new Vector3(90, 0, 0)); scaleTerrainY = 12; int quadrantSize = Math.Max(terrainWidth, terrainHeight); layerManager = new LayerManager(); globalTerrain = new GlobalTerrain(quadrantSize); localTerrain = new LocalTerrain(terrainWidth, terrainHeight, 30, globalTerrain, layerManager); filterGenerator = new FilterGenerator(quadrantSize, localTerrain); functionMathCalculator = new FunctionMathCalculator(); functionDebugger = new FunctionDebugger(); functionRiverDigger = new FunctionRiverDigger(); functionRiverPlanner = new FunctionRiverPlanner(); functionTerrainManager = new FunctionTerrainManager(); terrainGenerator = new TerrainGenerator(patchSize); riverGenerator = new RiverGenerator(localTerrain); erosionGenerator = new ErosionGenerator(localTerrain); gridManager = new GridManager(new Vector3(0,0,0), patchSize, patchSize); AssignFunctions(); terrainGenerator.initialize(scaleTerrainY); localTerrain.UpdateVisibleTerrain(new Vector3(0, 0, 0), false); }