Esempio n. 1
0
        public static void AddCube(List <Vector3> vertices, List <int> triangles, List <Vector2> uvs, Position3D tileMapIndex)
        {
            var tilePositionInChunk         = MapPositionUtil.GetPositionInChunk(tileMapIndex);
            var tilePositionRelativeToChunk =
                new Vector3(tilePositionInChunk.x * Tile.TileSize.x, tilePositionInChunk.y * Tile.TileSize.y, tilePositionInChunk.z * Tile.TileSize.z);
            var tile = Map.Instance.GetTile(tileMapIndex);

            if (Map.Instance.IsTransparent(tileMapIndex.getPositionPlusY(1)))
            {
                CubeGenerator.AddSquareFaceYPositive(vertices, triangles, uvs, tilePositionRelativeToChunk, Tile.TileSize, tile.TileType.TextureTileOffset);
            }

            if (Map.Instance.IsTransparent(tileMapIndex.getPositionPlusY(-1)))
            {
                CubeGenerator.AddSquareFaceYNegative(vertices, triangles, uvs, tilePositionRelativeToChunk, Tile.TileSize, tile.TileType.TextureTileOffset);
            }

            if (Map.Instance.IsTransparent(tileMapIndex.getPositionPlusZ(-1)))
            {
                CubeGenerator.AddSquareFaceZNegative(vertices, triangles, uvs, tilePositionRelativeToChunk, Tile.TileSize, tile.TileType.TextureTileOffset);
            }

            if (Map.Instance.IsTransparent(tileMapIndex.getPositionPlusZ(1)))
            {
                CubeGenerator.AddSquareFaceZPositive(vertices, triangles, uvs, tilePositionRelativeToChunk, Tile.TileSize, tile.TileType.TextureTileOffset);
            }

            if (Map.Instance.IsTransparent(tileMapIndex.getPositionPlusX(-1)))
            {
                CubeGenerator.AddSquareFaceXNegative(vertices, triangles, uvs, tilePositionRelativeToChunk, Tile.TileSize, tile.TileType.TextureTileOffset);
            }

            if (Map.Instance.IsTransparent(tileMapIndex.getPositionPlusX(1)))
            {
                CubeGenerator.AddSquareFaceXPositive(vertices, triangles, uvs, tilePositionRelativeToChunk, Tile.TileSize, tile.TileType.TextureTileOffset);
            }
        }