summaryrefslogtreecommitdiff
path: root/source/game/planets/generation/IWorldGenerator.cs
blob: 92b528bfa19d399915f2f5381262d5afa2ac0bd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using Microsoft.Xna.Framework;

namespace Celesteia.Game.Planets.Generation {
    public interface IChunkProvider {
        // Provide a chunk's tile map.
        public void ProvideChunk(Chunk c);

        // Get the natural block and wall at X and Y.
        public byte[] GetNaturalBlocks(int x, int y);

        // Get a safe spot to spawn the player.
        public Vector2 GetSpawnpoint();

        // Generate various structures in the world.
        public void GenerateStructures(Action<string> progressReport = null);
    }
}