/// <summary> /// Public method to obtaining randomly placed Vector3 positions on the map. /// </summary> /// <returns>Vector3</returns> private static Vector3 GetOneRandomPositionOnMap() { int posx = Random.Range(100, 11900); int posz = Random.Range(100, 11900); //int currentTerrainIndex = MapScript.GetTerrainForCoordinates(posx, posz); float posy = MapScript.GetTerrainHeightAtPosition(posx, posz);//Terrain.activeTerrains[currentTerrainIndex].terrainData.GetHeight(posx, posz); return(new Vector3(posx, posy, posz)); }
private void RecalculateCenterOfLands(string lordName, Vector3[] ownedPositions) { float totalX = 0; float totalZ = 0; for (int i = 0; i < ownedPositions.Length; i++) { totalX += ownedPositions[i].x; totalZ += ownedPositions[i].z; } float x = totalX / ownedPositions.Length; float z = totalZ / ownedPositions.Length; float y = MapScript.GetTerrainHeightAtPosition(x, z); Vector3 position = new Vector3(x, y, z); Lords[lordName].LandsCenter = position; }