This commit is contained in:
JohnCorby 2022-01-28 20:50:34 -08:00
parent 2f99dec87f
commit edf469d3e4
42 changed files with 51 additions and 52 deletions

View File

@ -13,7 +13,7 @@ namespace QSB.Anglerfish
public static readonly List<AnglerfishController> Anglers = new(); public static readonly List<AnglerfishController> Anglers = new();
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
Anglers.Clear(); Anglers.Clear();
Anglers.AddRange(QSBWorldSync.GetUnityObjects<AnglerfishController>().SortDeterministic()); Anglers.AddRange(QSBWorldSync.GetUnityObjects<AnglerfishController>().SortDeterministic());

View File

@ -19,14 +19,14 @@ namespace QSB.Anglerfish.WorldObjects
private Vector3 _lastTargetPosition; private Vector3 _lastTargetPosition;
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
if (QSBCore.IsHost) if (QSBCore.IsHost)
{ {
NetworkServer.Spawn(Object.Instantiate(QSBNetworkManager.singleton.AnglerPrefab)); NetworkServer.Spawn(Object.Instantiate(QSBNetworkManager.singleton.AnglerPrefab));
} }
await UniTask.WaitUntil(() => TransformSync, cancellationToken: cancellationToken); await UniTask.WaitUntil(() => TransformSync, cancellationToken: ct);
} }
public override void OnRemoval() public override void OnRemoval()

View File

@ -10,7 +10,7 @@ namespace QSB.Animation.NPC
// im assuming this is used in the eye as well // im assuming this is used in the eye as well
public override WorldObjectType WorldObjectType => WorldObjectType.Both; public override WorldObjectType WorldObjectType => WorldObjectType.Both;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
QSBWorldSync.Init<QSBCharacterAnimController, CharacterAnimController>(); QSBWorldSync.Init<QSBCharacterAnimController, CharacterAnimController>();
QSBWorldSync.Init<QSBTravelerController, TravelerController>(); QSBWorldSync.Init<QSBTravelerController, TravelerController>();

View File

@ -9,7 +9,7 @@ namespace QSB.CampfireSync
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.Both; public override WorldObjectType WorldObjectType => WorldObjectType.Both;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
=> QSBWorldSync.Init<QSBCampfire, Campfire>(); => QSBWorldSync.Init<QSBCampfire, Campfire>();
} }
} }

View File

@ -39,7 +39,7 @@ namespace QSB.ConversationSync
_boxPrefab.GetComponent<Text>().color = Color.white; _boxPrefab.GetComponent<Text>().color = Color.white;
} }
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
=> QSBWorldSync.Init<QSBRemoteDialogueTrigger, RemoteDialogueTrigger>(); => QSBWorldSync.Init<QSBRemoteDialogueTrigger, RemoteDialogueTrigger>();
public uint GetPlayerTalkingToTree(CharacterDialogueTree tree) public uint GetPlayerTalkingToTree(CharacterDialogueTree tree)

View File

@ -10,6 +10,6 @@ namespace QSB.EchoesOfTheEye.AirlockSync
// is this used in the prisoner sequence in the eye? // is this used in the prisoner sequence in the eye?
public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem; public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) => QSBWorldSync.Init<QSBGhostAirlock, GhostAirlock>(); public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct) => QSBWorldSync.Init<QSBGhostAirlock, GhostAirlock>();
} }
} }

View File

@ -10,6 +10,6 @@ namespace QSB.EchoesOfTheEye.LightSensorSync
// see AirlockManager question // see AirlockManager question
public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem; public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) => QSBWorldSync.Init<QSBSingleLightSensor, SingleLightSensor>(); public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct) => QSBWorldSync.Init<QSBSingleLightSensor, SingleLightSensor>();
} }
} }

View File

@ -9,7 +9,7 @@ namespace QSB.ElevatorSync
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem; public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
=> QSBWorldSync.Init<QSBElevator, Elevator>(); => QSBWorldSync.Init<QSBElevator, Elevator>();
} }
} }

View File

@ -11,7 +11,7 @@ namespace QSB.ElevatorSync.WorldObjects
{ {
private OWTriggerVolume _elevatorTrigger; private OWTriggerVolume _elevatorTrigger;
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
// BUG : This won't work for the log lift! need to make a different trigger for that // BUG : This won't work for the log lift! need to make a different trigger for that

View File

@ -9,7 +9,7 @@ namespace QSB.EyeOfTheUniverse.InstrumentSync
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.Eye; public override WorldObjectType WorldObjectType => WorldObjectType.Eye;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
=> QSBWorldSync.Init<QSBQuantumInstrument, QuantumInstrument>(); => QSBWorldSync.Init<QSBQuantumInstrument, QuantumInstrument>();
} }
} }

View File

@ -9,7 +9,7 @@ namespace QSB.GeyserSync
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem; public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
=> QSBWorldSync.Init<QSBGeyser, GeyserController>(); => QSBWorldSync.Init<QSBGeyser, GeyserController>();
} }
} }

View File

@ -8,7 +8,7 @@ namespace QSB.GeyserSync.WorldObjects
{ {
public class QSBGeyser : WorldObject<GeyserController> public class QSBGeyser : WorldObject<GeyserController>
{ {
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
if (QSBCore.IsHost) if (QSBCore.IsHost)
{ {

View File

@ -12,7 +12,7 @@ namespace QSB.ItemSync
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.Both; public override WorldObjectType WorldObjectType => WorldObjectType.Both;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
DebugLog.DebugWrite("Building OWItems...", MessageType.Info); DebugLog.DebugWrite("Building OWItems...", MessageType.Info);

View File

@ -18,7 +18,7 @@ namespace QSB.ItemSync.WorldObjects.Items
private Quaternion InitialRotation { get; set; } private Quaternion InitialRotation { get; set; }
private QSBSector InitialSector { get; set; } private QSBSector InitialSector { get; set; }
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
if (AttachedObject == null) if (AttachedObject == null)
{ {

View File

@ -13,7 +13,7 @@ namespace QSB.JellyfishSync
public static readonly List<JellyfishController> Jellyfish = new(); public static readonly List<JellyfishController> Jellyfish = new();
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
Jellyfish.Clear(); Jellyfish.Clear();
Jellyfish.AddRange(QSBWorldSync.GetUnityObjects<JellyfishController>().SortDeterministic()); Jellyfish.AddRange(QSBWorldSync.GetUnityObjects<JellyfishController>().SortDeterministic());

View File

@ -15,15 +15,14 @@ namespace QSB.JellyfishSync.WorldObjects
public JellyfishTransformSync TransformSync; public JellyfishTransformSync TransformSync;
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
if (QSBCore.IsHost) if (QSBCore.IsHost)
{ {
NetworkServer.Spawn(Object.Instantiate(QSBNetworkManager.singleton.JellyfishPrefab)); NetworkServer.Spawn(Object.Instantiate(QSBNetworkManager.singleton.JellyfishPrefab));
} }
StartDelayedReady(); await UniTask.WaitUntil(() => TransformSync, cancellationToken: ct);
QSBCore.UnityEvents.RunWhen(() => TransformSync, FinishDelayedReady);
} }
public override void OnRemoval() public override void OnRemoval()

View File

@ -12,7 +12,7 @@ namespace QSB.MeteorSync
public static WhiteHoleVolume WhiteHoleVolume; public static WhiteHoleVolume WhiteHoleVolume;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
// wait for all late initializers (which includes meteor launchers) to finish // wait for all late initializers (which includes meteor launchers) to finish
StartDelayedReady(); StartDelayedReady();

View File

@ -9,7 +9,7 @@ namespace QSB.MeteorSync.WorldObjects
{ {
public class QSBFragment : WorldObject<FragmentIntegrity> public class QSBFragment : WorldObject<FragmentIntegrity>
{ {
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
DetachableFragment = AttachedObject.GetComponent<DetachableFragment>(); DetachableFragment = AttachedObject.GetComponent<DetachableFragment>();

View File

@ -13,7 +13,7 @@ namespace QSB.OrbSync
public static readonly List<NomaiInterfaceOrb> Orbs = new(); public static readonly List<NomaiInterfaceOrb> Orbs = new();
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
Orbs.Clear(); Orbs.Clear();
Orbs.AddRange(QSBWorldSync.GetUnityObjects<NomaiInterfaceOrb>().SortDeterministic()); Orbs.AddRange(QSBWorldSync.GetUnityObjects<NomaiInterfaceOrb>().SortDeterministic());

View File

@ -16,7 +16,7 @@ namespace QSB.OrbSync.WorldObjects
public NomaiOrbTransformSync TransformSync; public NomaiOrbTransformSync TransformSync;
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
if (QSBCore.IsHost) if (QSBCore.IsHost)
{ {

View File

@ -8,7 +8,7 @@ namespace QSB.PoolSync
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem; public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
foreach (var streaming in QSBWorldSync.GetUnityObjects<NomaiRemoteCameraStreaming>()) foreach (var streaming in QSBWorldSync.GetUnityObjects<NomaiRemoteCameraStreaming>())
{ {

View File

@ -22,7 +22,7 @@ namespace QSB.QuantumSync
public void Awake() => QSBPlayerManager.OnRemovePlayer += PlayerLeave; public void Awake() => QSBPlayerManager.OnRemovePlayer += PlayerLeave;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
DebugLog.DebugWrite("Building quantum objects...", MessageType.Info); DebugLog.DebugWrite("Building quantum objects...", MessageType.Info);
QSBWorldSync.Init<QSBQuantumState, QuantumState>(); QSBWorldSync.Init<QSBQuantumState, QuantumState>();

View File

@ -13,9 +13,9 @@ namespace QSB.QuantumSync.WorldObjects
public List<QSBQuantumState> QuantumStates { get; private set; } public List<QSBQuantumState> QuantumStates { get; private set; }
public int CurrentState => AttachedObject._stateIndex; public int CurrentState => AttachedObject._stateIndex;
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
base.Init(cancellationToken); base.Init(ct);
StartDelayedReady(); StartDelayedReady();
QSBCore.UnityEvents.RunWhen(() => QSBWorldSync.AllObjectsAdded, () => QSBCore.UnityEvents.RunWhen(() => QSBWorldSync.AllObjectsAdded, () =>

View File

@ -37,7 +37,7 @@ namespace QSB.QuantumSync.WorldObjects
} }
} }
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
StartDelayedReady(); StartDelayedReady();
QSBCore.UnityEvents.FireInNUpdates(LateInit, 5); QSBCore.UnityEvents.FireInNUpdates(LateInit, 5);

View File

@ -11,9 +11,9 @@ namespace QSB.QuantumSync.WorldObjects
{ {
internal class QSBSocketedQuantumObject : QSBQuantumObject<SocketedQuantumObject> internal class QSBSocketedQuantumObject : QSBQuantumObject<SocketedQuantumObject>
{ {
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
base.Init(cancellationToken); base.Init(ct);
AttachedObject._randomYRotation = false; AttachedObject._randomYRotation = false;
} }

View File

@ -70,7 +70,7 @@ namespace QSB.SectorSync
DebugLog.DebugWrite("Sector Manager ready.", MessageType.Success); DebugLog.DebugWrite("Sector Manager ready.", MessageType.Success);
} }
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
DebugLog.DebugWrite("Building sectors...", MessageType.Info); DebugLog.DebugWrite("Building sectors...", MessageType.Info);
if (QSBSceneManager.CurrentScene == OWScene.SolarSystem) if (QSBSceneManager.CurrentScene == OWScene.SolarSystem)

View File

@ -29,7 +29,7 @@ namespace QSB.SectorSync.WorldObjects
public bool IsFakeSector => AttachedObject is FakeSector; public bool IsFakeSector => AttachedObject is FakeSector;
public FakeSector FakeSector => (FakeSector)AttachedObject; public FakeSector FakeSector => (FakeSector)AttachedObject;
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
if (IsFakeSector) if (IsFakeSector)
{ {

View File

@ -45,7 +45,7 @@ namespace QSB.ShipSync
public void Start() public void Start()
=> Instance = this; => Instance = this;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
var shipTransform = GameObject.Find("Ship_Body"); var shipTransform = GameObject.Find("Ship_Body");
if (shipTransform == null) if (shipTransform == null)

View File

@ -10,7 +10,7 @@ namespace QSB.Tools.ProbeLauncherTool
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.Both; public override WorldObjectType WorldObjectType => WorldObjectType.Both;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
QSBWorldSync.Init<QSBProbeLauncher, ProbeLauncher>(typeof(PlayerProbeLauncher)); QSBWorldSync.Init<QSBProbeLauncher, ProbeLauncher>(typeof(PlayerProbeLauncher));
if (scene == OWScene.SolarSystem) if (scene == OWScene.SolarSystem)

View File

@ -8,7 +8,7 @@ namespace QSB.Tools.ProbeLauncherTool.WorldObjects
{ {
internal class QSBProbeLauncher : WorldObject<ProbeLauncher> internal class QSBProbeLauncher : WorldObject<ProbeLauncher>
{ {
public override async UniTask Init(CancellationToken cancellationToken) => public override async UniTask Init(CancellationToken ct) =>
AttachedObject.OnLaunchProbe += OnLaunchProbe; AttachedObject.OnLaunchProbe += OnLaunchProbe;
public override void OnRemoval() => public override void OnRemoval() =>

View File

@ -9,7 +9,7 @@ namespace QSB.Tools.TranslatorTool.TranslationSync
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.Both; public override WorldObjectType WorldObjectType => WorldObjectType.Both;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
// wait for all late initializers (which includes nomai text) to finish // wait for all late initializers (which includes nomai text) to finish
StartDelayedReady(); StartDelayedReady();

View File

@ -12,7 +12,7 @@ namespace QSB.TornadoSync
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem; public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
QSBWorldSync.Init<QSBTornado, TornadoController>(); QSBWorldSync.Init<QSBTornado, TornadoController>();

View File

@ -9,7 +9,7 @@ namespace QSB.TriggerSync
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.Both; public override WorldObjectType WorldObjectType => WorldObjectType.Both;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
{ {
QSBWorldSync.Init<QSBCharacterTrigger, CharacterAnimController>(x => x.playerTrackingZone); QSBWorldSync.Init<QSBCharacterTrigger, CharacterAnimController>(x => x.playerTrackingZone);
QSBWorldSync.Init<QSBSolanumTrigger, NomaiConversationManager>(x => x._watchPlayerVolume); QSBWorldSync.Init<QSBSolanumTrigger, NomaiConversationManager>(x => x._watchPlayerVolume);

View File

@ -5,9 +5,9 @@ namespace QSB.TriggerSync.WorldObjects
{ {
public class QSBCharacterTrigger : QSBTrigger<CharacterAnimController> public class QSBCharacterTrigger : QSBTrigger<CharacterAnimController>
{ {
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
await base.Init(cancellationToken); await base.Init(ct);
AttachedObject.OnEntry -= TriggerOwner.OnZoneEntry; AttachedObject.OnEntry -= TriggerOwner.OnZoneEntry;
AttachedObject.OnExit -= TriggerOwner.OnZoneExit; AttachedObject.OnExit -= TriggerOwner.OnZoneExit;
} }

View File

@ -9,9 +9,9 @@ namespace QSB.TriggerSync.WorldObjects
{ {
protected override string CompareTag => "PlayerCameraDetector"; protected override string CompareTag => "PlayerCameraDetector";
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
base.Init(cancellationToken); base.Init(ct);
AttachedObject.OnEntry -= TriggerOwner.OnEnterFogSphere; AttachedObject.OnEntry -= TriggerOwner.OnEnterFogSphere;
AttachedObject.OnExit -= OnExitEvent; AttachedObject.OnExit -= OnExitEvent;
} }

View File

@ -6,9 +6,9 @@ namespace QSB.TriggerSync.WorldObjects
{ {
public class QSBMaskZoneTrigger : QSBTrigger<MaskZoneController> public class QSBMaskZoneTrigger : QSBTrigger<MaskZoneController>
{ {
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
base.Init(cancellationToken); base.Init(ct);
AttachedObject.OnEntry -= TriggerOwner.OnEnterMaskZone; AttachedObject.OnEntry -= TriggerOwner.OnEnterMaskZone;
AttachedObject.OnExit -= TriggerOwner.OnExitMaskZone; AttachedObject.OnExit -= TriggerOwner.OnExitMaskZone;
} }

View File

@ -5,9 +5,9 @@ namespace QSB.TriggerSync.WorldObjects
{ {
public class QSBSolanumTrigger : QSBTrigger<NomaiConversationManager> public class QSBSolanumTrigger : QSBTrigger<NomaiConversationManager>
{ {
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
base.Init(cancellationToken); base.Init(ct);
AttachedObject.OnEntry -= TriggerOwner.OnEnterWatchVolume; AttachedObject.OnEntry -= TriggerOwner.OnEnterWatchVolume;
AttachedObject.OnExit -= TriggerOwner.OnExitWatchVolume; AttachedObject.OnExit -= TriggerOwner.OnExitWatchVolume;
} }

View File

@ -27,7 +27,7 @@ namespace QSB.TriggerSync.WorldObjects
protected virtual string CompareTag => "PlayerDetector"; protected virtual string CompareTag => "PlayerDetector";
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
AttachedObject.OnEntry += OnEnterEvent; AttachedObject.OnEntry += OnEnterEvent;
AttachedObject.OnExit += OnExitEvent; AttachedObject.OnExit += OnExitEvent;

View File

@ -7,9 +7,9 @@ namespace QSB.TriggerSync.WorldObjects
{ {
public class QSBVesselCageTrigger : QSBTrigger<VesselWarpController> public class QSBVesselCageTrigger : QSBTrigger<VesselWarpController>
{ {
public override async UniTask Init(CancellationToken cancellationToken) public override async UniTask Init(CancellationToken ct)
{ {
base.Init(cancellationToken); base.Init(ct);
AttachedObject.OnExit -= TriggerOwner.OnExitCageTrigger; AttachedObject.OnExit -= TriggerOwner.OnExitCageTrigger;
} }

View File

@ -13,7 +13,7 @@ namespace QSB.WorldSync
public string Name => AttachedObject ? AttachedObject.name : "<NullObject!>"; public string Name => AttachedObject ? AttachedObject.name : "<NullObject!>";
public override string ToString() => $"{ObjectId}:{GetType().Name} ({Name})"; public override string ToString() => $"{ObjectId}:{GetType().Name} ({Name})";
public virtual async UniTask Init(CancellationToken cancellationToken) { } public virtual async UniTask Init(CancellationToken ct) { }
public virtual void OnRemoval() { } public virtual void OnRemoval() { }
public virtual bool ShouldDisplayDebug() => QSBWorldSync.AllObjectsReady && AttachedObject && AttachedObject.gameObject.activeInHierarchy; public virtual bool ShouldDisplayDebug() => QSBWorldSync.AllObjectsReady && AttachedObject && AttachedObject.gameObject.activeInHierarchy;
public virtual string ReturnLabel() => ToString(); public virtual string ReturnLabel() => ToString();

View File

@ -18,7 +18,7 @@ namespace QSB.WorldSync
/// </summary> /// </summary>
public abstract WorldObjectType WorldObjectType { get; } public abstract WorldObjectType WorldObjectType { get; }
public abstract UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken); public abstract UniTask BuildWorldObjects(OWScene scene, CancellationToken ct);
public virtual void UnbuildWorldObjects() { } public virtual void UnbuildWorldObjects() { }

View File

@ -9,7 +9,7 @@ namespace QSB.ZeroGCaveSync
{ {
public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem; public override WorldObjectType WorldObjectType => WorldObjectType.SolarSystem;
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken cancellationToken) public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
=> QSBWorldSync.Init<QSBSatelliteNode, SatelliteNode>(); => QSBWorldSync.Init<QSBSatelliteNode, SatelliteNode>();
} }
} }