public static MyStorageBase LoadRandomizedVoxelMapPrefab(string prefabFilePath)
        {
            var storage = MyStorageBase.LoadFromFile(prefabFilePath);

            storage.DataProvider = MyCompositeShapeProvider.CreateAsteroidShape(
                MyUtils.GetRandomInt(int.MaxValue - 1) + 1,
                storage.Size.AbsMax() * MyVoxelConstants.VOXEL_SIZE_IN_METRES,
                MySession.Static.Settings.VoxelGeneratorVersion);
            storage.Reset(MyStorageDataTypeFlags.Material);
            return(storage);
        }
        IMyVoxelMap IMyVoxelMaps.CreateVoxelMapFromStorageName(string storageName, string prefabVoxelMapName, Vector3D position)
        {
            var filePath = MyWorldGenerator.GetVoxelPrefabPath(prefabVoxelMapName);
            var storage  = MyStorageBase.LoadFromFile(filePath);

            if (storage == null)
            {
                return(null);
            }
            storage.DataProvider = MyCompositeShapeProvider.CreateAsteroidShape(0,
                                                                                storage.Size.AbsMax() * MyVoxelConstants.VOXEL_SIZE_IN_METRES,
                                                                                MySession.Static.Settings.VoxelGeneratorVersion);
            return(MyWorldGenerator.AddVoxelMap(storageName, storage, position));
        }
 public static MyStorageBase CreateProceduralAsteroidStorage(int seed, float radius)
 {
     return(new MyOctreeStorage(MyCompositeShapeProvider.CreateAsteroidShape(seed, radius, 0), MyVoxelCoordSystems.FindBestOctreeSize(radius)));
 }
 public static MyStorageBase CreateProceduralAsteroidStorage(int seed, float radius, float deviationScale)
 {
     return(new MyOctreeStorage(MyCompositeShapeProvider.CreateAsteroidShape(seed, radius, 0), FindBestOctreeSize(radius)));
 }