예제 #1
0
    /// <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));
    }
예제 #2
0
    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;
    }