using System; using System.Threading.Tasks; using Godot; public interface IGenerator { public Vector3I GetUniverseSize(); public Vector3 GetSectorSizeEachDirection(); public Task GenerateUniverse(Action callback); public Sector GenerateSector(Vector3I coordinates); public Star GenerateStar(Sector sector, Vector3 localCoordinates); public Star GenerateStar(Sector sector); public Vessel GenerateShip(Sector sector, Vector3 localCoordinates); public Vessel GenerateShip(Sector sector); public Vessel GenerateStation(Sector sector, Vector3 localCoordinates); public Vessel GenerateStation(Sector sector); }