quantum-space-buddies/QSB/MeteorSync/MeteorManager.cs

30 lines
925 B
C#
Raw Normal View History

2022-01-29 04:49:07 +00:00
using Cysharp.Threading.Tasks;
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;
2022-01-29 04:49:07 +00:00
using System.Threading;
2021-11-11 02:40:02 +00:00
namespace QSB.MeteorSync
{
public class MeteorManager : WorldObjectManager
{
public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem;
2021-11-14 11:29:58 +00:00
public static WhiteHoleVolume WhiteHoleVolume;
2021-11-11 02:40:02 +00:00
2022-01-29 04:50:34 +00:00
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
2021-11-11 02:40:02 +00:00
{
2021-11-17 10:36:28 +00:00
// wait for all late initializers (which includes meteor launchers) to finish
StartDelayedReady();
QSBCore.UnityEvents.RunWhen(() => LateInitializerManager.isDoneInitializing, () =>
2021-11-11 02:40:02 +00:00
{
FinishDelayedReady();
2021-12-21 01:53:11 +00:00
WhiteHoleVolume = QSBWorldSync.GetUnityObjects<WhiteHoleVolume>().First();
QSBWorldSync.Init<QSBMeteorLauncher, MeteorLauncher>();
2021-11-11 02:40:02 +00:00
QSBWorldSync.Init<QSBMeteor, MeteorController>();
QSBWorldSync.Init<QSBFragment, FragmentIntegrity>();
2021-11-17 10:36:28 +00:00
});
2021-11-11 02:40:02 +00:00
}
}
}