public override void Process(uint seed)
    {
        int[]   dst            = TerrainMeta.TopologyMap.dst;
        int     res1           = TerrainMeta.TopologyMap.res;
        Vector3 position       = TerrainMeta.Position;
        Vector3 size1          = TerrainMeta.Size;
        float   lootAxisAngle  = TerrainMeta.LootAxisAngle;
        float   biomeAxisAngle = TerrainMeta.BiomeAxisAngle;

        short[] src1 = TerrainMeta.HeightMap.src;
        int     res2 = TerrainMeta.HeightMap.res;

        byte[]  src2  = TerrainMeta.BiomeMap.src;
        int     res3  = TerrainMeta.BiomeMap.res;
        int     res4  = res1;
        Vector3 pos   = position;
        Vector3 size2 = size1;
        int     num1  = (int)seed;
        double  num2  = (double)lootAxisAngle;
        double  num3  = (double)biomeAxisAngle;

        short[] heightmap = src1;
        int     heightres = res2;

        byte[] biomemap = src2;
        int    biomeres = res3;

        GenerateTopology.Native_GenerateTopology(dst, res4, pos, size2, (uint)num1, (float)num2, (float)num3, heightmap, heightres, biomemap, biomeres);
    }
    public override void Process(uint seed)
    {
        T[]     topologyMap    = TerrainMeta.TopologyMap.dst;
        int     num            = TerrainMeta.TopologyMap.res;
        Vector3 position       = TerrainMeta.Position;
        Vector3 size           = TerrainMeta.Size;
        float   lootAxisAngle  = TerrainMeta.LootAxisAngle;
        float   biomeAxisAngle = TerrainMeta.BiomeAxisAngle;

        short[] heightMap  = TerrainMeta.HeightMap.src;
        int     heightMap1 = TerrainMeta.HeightMap.res;

        byte[] biomeMap  = TerrainMeta.BiomeMap.src;
        int    biomeMap1 = TerrainMeta.BiomeMap.res;

        GenerateTopology.Native_GenerateTopology(topologyMap, num, position, size, seed, lootAxisAngle, biomeAxisAngle, heightMap, heightMap1, biomeMap, biomeMap1);
    }