Enemy Loadout Generation

Modified zone generator to scale the radius and mass of a zone according to galaxy density
Added loadout generator which procedurally generates ships and turrets
Generating 3 randomized ships in each occupied zone
Fixed DatabaseCache.GetAll for parent types
Fixed wormhole traversal bug for returning to previous zone (ZoneRenderer subscriptions not being properly disposed)
This commit is contained in:
Reinier Vens 2021-03-18 00:36:34 +00:00
commit ebde23a64d
25 changed files with 5421 additions and 148 deletions

View file

@ -21,6 +21,7 @@ public class Sector
public SectorZone Entrance { get; }
public SectorZone Exit { get; }
private HashSet<Guid> _containedFactions;
private SectorZone[] _exitPath;
private Dictionary<MegaCorporation, MarkovNameGenerator> _nameGenerators = new Dictionary<MegaCorporation, MarkovNameGenerator>();
@ -249,9 +250,10 @@ public class Sector
if(progressCallback!=null) Thread.Sleep(500); // Inserting Delay to make it seem like it's doing more work lmao
}
private void GenerateSector()
public bool ContainsFaction(Guid factionID)
{
_containedFactions ??= new HashSet<Guid>(Factions.Select(f => f.ID));
return _containedFactions.Contains(factionID);
}
// Cache distance matrix and calculate isolation for every zone (used extensively for placing stuff)