fix funny occasional

This commit is contained in:
_nebula 2022-12-12 22:08:42 +00:00
parent 1146197f56
commit f3f07598e1
2 changed files with 7 additions and 6 deletions

View File

@ -3,6 +3,7 @@ using Mirror;
using QSB.Utility;
using QSB.WorldSync;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
namespace QSB.Syncs.Occasional;
@ -56,7 +57,7 @@ internal class OccasionalManager : WorldObjectManager
{
if (QSBCore.IsHost)
{
foreach (var transformSync in QSBWorldSync.GetUnityObjects<OccasionalTransformSync>())
foreach (var transformSync in OccasionalTransformSync.Instances.ToList())
{
NetworkServer.Destroy(transformSync.gameObject);
}

View File

@ -13,19 +13,19 @@ public class OccasionalTransformSync : UnsectoredRigidbodySync
{
protected override bool UseInterpolation => false;
protected override OWRigidbody InitAttachedRigidbody() => OccasionalManager.Bodies[_instances.IndexOf(this)].Body;
protected override OWRigidbody InitAttachedRigidbody() => OccasionalManager.Bodies[Instances.IndexOf(this)].Body;
private static readonly List<OccasionalTransformSync> _instances = new();
public static readonly List<OccasionalTransformSync> Instances = new();
public override void OnStartClient()
{
_instances.Add(this);
Instances.Add(this);
base.OnStartClient();
}
public override void OnStopClient()
{
_instances.Remove(this);
Instances.Remove(this);
base.OnStopClient();
}
@ -38,7 +38,7 @@ public class OccasionalTransformSync : UnsectoredRigidbodySync
protected override void Init()
{
base.Init();
SetReferenceTransform(OccasionalManager.Bodies[_instances.IndexOf(this)].RefBody.transform);
SetReferenceTransform(OccasionalManager.Bodies[Instances.IndexOf(this)].RefBody.transform);
_sectors = SectorManager.s_sectors
.Where(x => x._attachedOWRigidbody == AttachedRigidbody).ToArray();