using OWML.Common; using QSB.OrbSync.TransformSync; using QSB.OrbSync.WorldObjects; using QSB.Utility; using QSB.WorldSync; using QuantumUNET; using System.Linq; using UnityEngine; namespace QSB.OrbSync { public class OrbManager : WorldObjectManager { protected override void RebuildWorldObjects(OWScene scene) { QSBWorldSync.Init(); DebugLog.DebugWrite($"Finished slot build with {QSBWorldSync.GetWorldObjects().Count()} slots.", MessageType.Success); BuildOrbs(); } private void BuildOrbs() { QSBWorldSync.OldOrbList.Clear(); QSBWorldSync.OldOrbList = Resources.FindObjectsOfTypeAll().ToList(); if (QSBCore.IsServer) { NomaiOrbTransformSync.OrbTransformSyncs.ForEach(x => QNetworkServer.Destroy(x.gameObject)); NomaiOrbTransformSync.OrbTransformSyncs.Clear(); QSBWorldSync.OldOrbList.ForEach(x => QNetworkServer.Spawn(Instantiate(QSBNetworkManager.Instance.OrbPrefab))); } DebugLog.DebugWrite($"Finished orb build with {QSBWorldSync.OldOrbList.Count} orbs.", MessageType.Success); } } }