private UTIL.EPosition GetCameraPositionToCenterTerrain(Vector3 _position)
    {
        Vector2 pos2D = StaticMaths.ThreeDTo2D(_position, StaticMaths.EPlane.E_XZ);

        UTIL.EPosition pos = UTIL.EPosition.ECenter;

        int halfDim = GetTerrainDimCenter();

        if (StaticMaths.WithinBoundingBox(pos2D,
                                          StaticMaths.ThreeDTo2D(StaticMaths.MultiplyVector3D(terrainChunks[halfDim, halfDim].GetCenter(), TILES.Offset), StaticMaths.EPlane.E_XZ),
                                          planetData.GetTerrainSize() + StaticMaths.ThreeDTo2D(TILES.Offset, StaticMaths.EPlane.E_XZ) * 2))
        {
        }
        else
        {
            if (pos2D.y < terrainChunks[halfDim, halfDim].GetCenter().z - planetData.GetTerrainSize().y / 2)
            {
                pos = UTIL.EPosition.EAbove;
            }
            else if (pos2D.y > terrainChunks[halfDim, halfDim].GetCenter().z + planetData.GetTerrainSize().y / 2)
            {
                pos = UTIL.EPosition.EBelow;
            }
            else if (pos2D.x < terrainChunks[halfDim, halfDim].GetCenter().x - planetData.GetTerrainSize().x / 2)
            {
                pos = UTIL.EPosition.ELeft;
            }
            else if (pos2D.x > terrainChunks[halfDim, halfDim].GetCenter().x + planetData.GetTerrainSize().x / 2)
            {
                pos = UTIL.EPosition.ERight;
            }
        }

        return(pos);
    }
    private UTIL.EPosition GetCameraPositionToCenterMap(Vector3 _position)
    {
        Vector2 pos2D = StaticMaths.ThreeDTo2D(_position, StaticMaths.EPlane.E_XZ);

        UTIL.EPosition pos = UTIL.EPosition.ECenter;


        if (StaticMaths.WithinBoundingBox(pos2D,
                                          StaticMaths.ThreeDTo2D(map.GetActualCenter(), StaticMaths.EPlane.E_XZ),
                                          new Vector2(chunkTileCountX * TILES.Offset.x, chunkTileCountZ * TILES.Offset.z) + StaticMaths.ThreeDTo2D(TILES.Offset, StaticMaths.EPlane.E_XZ) * 2))
        {
            pos = UTIL.EPosition.ECenter;
        }
        else
        {
            if (pos2D.y < mapObject.transform.position.z + (chunkTileCountZ * TILES.Offset.z))
            {
                pos = UTIL.EPosition.EAbove;
            }
            else if (pos2D.y > mapObject.transform.position.z - (chunkTileCountZ * TILES.Offset.z))
            {
                pos = UTIL.EPosition.EBelow;
            }
            else if (pos2D.x < mapObject.transform.position.x + (chunkTileCountX * TILES.Offset.x))
            {
                pos = UTIL.EPosition.ELeft;
            }
            else if (pos2D.x > mapObject.transform.position.x - (chunkTileCountX * TILES.Offset.x))
            {
                pos = UTIL.EPosition.ERight;
            }
        }

        return(pos);
    }