mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
check if there are any NH planets
This commit is contained in:
parent
be6410c600
commit
840ae1c09f
@ -22,6 +22,7 @@ namespace NewHorizons.Handlers
|
|||||||
internal static Dictionary<IModBehaviour, TitleScreenBuilder> TitleScreenBuilders = new();
|
internal static Dictionary<IModBehaviour, TitleScreenBuilder> TitleScreenBuilders = new();
|
||||||
internal static NewHorizonsBody[] eligibleBodies => Main.BodyDict.Values.ToList().SelectMany(x => x).ToList()
|
internal static NewHorizonsBody[] eligibleBodies => Main.BodyDict.Values.ToList().SelectMany(x => x).ToList()
|
||||||
.Where(b => (b.Config.HeightMap != null || b.Config.Atmosphere?.clouds != null) && b.Config.Star == null && b.Config.canShowOnTitle).ToArray();
|
.Where(b => (b.Config.HeightMap != null || b.Config.Atmosphere?.clouds != null) && b.Config.Star == null && b.Config.canShowOnTitle).ToArray();
|
||||||
|
internal static int eligibleCount => eligibleBodies.Count();
|
||||||
|
|
||||||
public static void Init()
|
public static void Init()
|
||||||
{
|
{
|
||||||
@ -49,6 +50,8 @@ namespace NewHorizons.Handlers
|
|||||||
.Concat(TitleScreenBuilders.Select(kvp => (ITitleScreenBuilder)kvp.Value))
|
.Concat(TitleScreenBuilders.Select(kvp => (ITitleScreenBuilder)kvp.Value))
|
||||||
.Where(builder => builder.KnowsFact() && builder.HasCondition()).ToList();
|
.Where(builder => builder.KnowsFact() && builder.HasCondition()).ToList();
|
||||||
|
|
||||||
|
var hasNHPlanets = eligibleCount != 0;
|
||||||
|
|
||||||
var index = UnityEngine.Random.Range(0, validBuilders.Count());
|
var index = UnityEngine.Random.Range(0, validBuilders.Count());
|
||||||
var randomBuilder = validBuilders.ElementAtOrDefault(index);
|
var randomBuilder = validBuilders.ElementAtOrDefault(index);
|
||||||
if (randomBuilder != null)
|
if (randomBuilder != null)
|
||||||
@ -64,7 +67,7 @@ namespace NewHorizons.Handlers
|
|||||||
|
|
||||||
if (randomBuilder.CanShare)
|
if (randomBuilder.CanShare)
|
||||||
{
|
{
|
||||||
foreach (var builder in validBuilders.Where(builder => builder.CanShare && builder.DisableNHPlanets == randomBuilder.DisableNHPlanets))
|
foreach (var builder in validBuilders.Where(builder => builder.CanShare && (hasNHPlanets ? builder.DisableNHPlanets == randomBuilder.DisableNHPlanets : true)))
|
||||||
{
|
{
|
||||||
builder.Build();
|
builder.Build();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user