2021-11-25 15:32:34 +00:00
|
|
|
|
using QSB.MeteorSync.WorldObjects;
|
2021-11-11 02:40:02 +00:00
|
|
|
|
using QSB.WorldSync;
|
2021-11-25 15:32:34 +00:00
|
|
|
|
using System.Linq;
|
2021-11-11 02:40:02 +00:00
|
|
|
|
|
|
|
|
|
namespace QSB.MeteorSync
|
|
|
|
|
{
|
|
|
|
|
public class MeteorManager : WorldObjectManager
|
|
|
|
|
{
|
2021-11-18 08:01:26 +00:00
|
|
|
|
public static bool Ready => AllReady && _ready;
|
|
|
|
|
private static bool _ready;
|
2021-11-14 11:29:58 +00:00
|
|
|
|
public static WhiteHoleVolume WhiteHoleVolume;
|
2021-11-11 02:40:02 +00:00
|
|
|
|
|
|
|
|
|
protected override void RebuildWorldObjects(OWScene scene)
|
|
|
|
|
{
|
2021-11-18 08:01:26 +00:00
|
|
|
|
_ready = false;
|
2021-11-17 10:36:28 +00:00
|
|
|
|
// wait for all late initializers (which includes meteor launchers) to finish
|
|
|
|
|
QSBCore.UnityEvents.RunWhen(() => LateInitializerManager.s_lateInitializers.Count == 0, () =>
|
2021-11-11 02:40:02 +00:00
|
|
|
|
{
|
2021-11-15 10:39:06 +00:00
|
|
|
|
WhiteHoleVolume = QSBWorldSync.GetUnityObjects<WhiteHoleVolume>().First();
|
2021-11-14 05:15:01 +00:00
|
|
|
|
QSBWorldSync.Init<QSBMeteorLauncher, MeteorLauncher>();
|
2021-11-11 02:40:02 +00:00
|
|
|
|
QSBWorldSync.Init<QSBMeteor, MeteorController>();
|
2021-11-14 05:15:01 +00:00
|
|
|
|
QSBWorldSync.Init<QSBFragment, FragmentIntegrity>();
|
2021-11-18 08:01:26 +00:00
|
|
|
|
_ready = true;
|
2021-11-17 10:36:28 +00:00
|
|
|
|
});
|
2021-11-11 02:40:02 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|