mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-21 18:40:03 +00:00
dont process events if world objects arent ready yet lol
This commit is contained in:
parent
495f814739
commit
a371c71415
@ -29,6 +29,11 @@ namespace QSB.MeteorSync.Events
|
|||||||
|
|
||||||
public override void OnReceiveRemote(bool isHost, MeteorImpactMessage message)
|
public override void OnReceiveRemote(bool isHost, MeteorImpactMessage message)
|
||||||
{
|
{
|
||||||
|
if (!MeteorManager.MeteorsReady)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var qsbMeteor = QSBWorldSync.GetWorldFromId<QSBMeteor>(message.ObjectId);
|
var qsbMeteor = QSBWorldSync.GetWorldFromId<QSBMeteor>(message.ObjectId);
|
||||||
qsbMeteor.Impact(message.Position, message.RelativeVelocity, message.Damage);
|
qsbMeteor.Impact(message.Position, message.RelativeVelocity, message.Damage);
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,11 @@ namespace QSB.MeteorSync.Events
|
|||||||
|
|
||||||
public override void OnReceiveRemote(bool isHost, BoolWorldObjectMessage message)
|
public override void OnReceiveRemote(bool isHost, BoolWorldObjectMessage message)
|
||||||
{
|
{
|
||||||
|
if (!WorldObjectManager.AllReady)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var qsbMeteorLauncher = QSBWorldSync.GetWorldFromId<QSBMeteorLauncher>(message.ObjectId);
|
var qsbMeteorLauncher = QSBWorldSync.GetWorldFromId<QSBMeteorLauncher>(message.ObjectId);
|
||||||
qsbMeteorLauncher.LaunchMeteor(message.State);
|
qsbMeteorLauncher.LaunchMeteor(message.State);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using QSB.Events;
|
using QSB.Events;
|
||||||
using QSB.MeteorSync.WorldObjects;
|
using QSB.MeteorSync.WorldObjects;
|
||||||
|
using QSB.Utility;
|
||||||
using QSB.WorldSync;
|
using QSB.WorldSync;
|
||||||
using QSB.WorldSync.Events;
|
using QSB.WorldSync.Events;
|
||||||
using EventType = QSB.Events.EventType;
|
using EventType = QSB.Events.EventType;
|
||||||
@ -28,8 +29,15 @@ namespace QSB.MeteorSync.Events
|
|||||||
|
|
||||||
public override void OnReceiveRemote(bool isHost, WorldObjectMessage message)
|
public override void OnReceiveRemote(bool isHost, WorldObjectMessage message)
|
||||||
{
|
{
|
||||||
|
if (!MeteorManager.MeteorsReady)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var qsbMeteor = QSBWorldSync.GetWorldFromId<QSBMeteor>(message.ObjectId);
|
var qsbMeteor = QSBWorldSync.GetWorldFromId<QSBMeteor>(message.ObjectId);
|
||||||
// todo
|
// todo
|
||||||
|
|
||||||
|
DebugLog.DebugWrite($"{qsbMeteor.LogName} - resync requested");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ namespace QSB.MeteorSync
|
|||||||
/// we have to do this fake bs
|
/// we have to do this fake bs
|
||||||
public class MeteorManager : WorldObjectManager
|
public class MeteorManager : WorldObjectManager
|
||||||
{
|
{
|
||||||
public new static bool AllReady;
|
public static bool MeteorsReady;
|
||||||
|
|
||||||
protected override void RebuildWorldObjects(OWScene scene)
|
protected override void RebuildWorldObjects(OWScene scene)
|
||||||
{
|
{
|
||||||
@ -15,7 +15,7 @@ namespace QSB.MeteorSync
|
|||||||
QSBCore.UnityEvents.FireInNUpdates(() =>
|
QSBCore.UnityEvents.FireInNUpdates(() =>
|
||||||
{
|
{
|
||||||
QSBWorldSync.Init<QSBMeteor, MeteorController>();
|
QSBWorldSync.Init<QSBMeteor, MeteorController>();
|
||||||
AllReady = true;
|
MeteorsReady = true;
|
||||||
}, 10);
|
}, 10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
using HarmonyLib;
|
using HarmonyLib;
|
||||||
using OWML.Common;
|
using OWML.Common;
|
||||||
using QSB.Events;
|
|
||||||
using QSB.MeteorSync.WorldObjects;
|
using QSB.MeteorSync.WorldObjects;
|
||||||
using QSB.Patches;
|
using QSB.Patches;
|
||||||
using QSB.Player;
|
using QSB.Player;
|
||||||
@ -73,11 +72,6 @@ namespace QSB.MeteorSync.Patches
|
|||||||
GameObject hitObject, Vector3 impactPoint, Vector3 impactVel)
|
GameObject hitObject, Vector3 impactPoint, Vector3 impactVel)
|
||||||
{
|
{
|
||||||
var qsbMeteor = QSBWorldSync.GetWorldFromUnity<QSBMeteor>(__instance);
|
var qsbMeteor = QSBWorldSync.GetWorldFromUnity<QSBMeteor>(__instance);
|
||||||
if (hitObject == null)
|
|
||||||
{
|
|
||||||
DebugLog.DebugWrite($"{QSBPlayerManager.LocalPlayerId} {qsbMeteor.ObjectId} - oh no! hit obj is null (for now)", MessageType.Error);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var componentInParent = hitObject.GetComponentInParent<FragmentIntegrity>();
|
var componentInParent = hitObject.GetComponentInParent<FragmentIntegrity>();
|
||||||
if (componentInParent != null)
|
if (componentInParent != null)
|
||||||
|
@ -7,7 +7,7 @@ namespace QSB.MeteorSync.TransformSync
|
|||||||
{
|
{
|
||||||
public class MeteorTransformSync : UnsectoredRigidbodySync
|
public class MeteorTransformSync : UnsectoredRigidbodySync
|
||||||
{
|
{
|
||||||
public override bool IsReady => MeteorManager.AllReady;
|
public override bool IsReady => MeteorManager.MeteorsReady;
|
||||||
public override bool UseInterpolation => true;
|
public override bool UseInterpolation => true;
|
||||||
|
|
||||||
private QSBMeteor _qsbMeteor;
|
private QSBMeteor _qsbMeteor;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using QSB.MeteorSync.TransformSync;
|
using QSB.MeteorSync.TransformSync;
|
||||||
using QSB.Player;
|
|
||||||
using QSB.Utility;
|
using QSB.Utility;
|
||||||
using QSB.WorldSync;
|
using QSB.WorldSync;
|
||||||
using QuantumUNET;
|
using QuantumUNET;
|
||||||
@ -45,7 +44,7 @@ namespace QSB.MeteorSync.WorldObjects
|
|||||||
QNetworkServer.Destroy(TransformSync.gameObject);
|
QNetworkServer.Destroy(TransformSync.gameObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
MeteorManager.AllReady = false;
|
MeteorManager.MeteorsReady = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -58,7 +57,7 @@ namespace QSB.MeteorSync.WorldObjects
|
|||||||
|
|
||||||
Damage = damage;
|
Damage = damage;
|
||||||
// todo get object
|
// todo get object
|
||||||
AttachedObject.Impact(null, position, relativeVelocity);
|
// AttachedObject.Impact(null, position, relativeVelocity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using QSB.Player;
|
using QSB.Utility;
|
||||||
using QSB.Utility;
|
|
||||||
using QSB.WorldSync;
|
using QSB.WorldSync;
|
||||||
|
|
||||||
namespace QSB.MeteorSync.WorldObjects
|
namespace QSB.MeteorSync.WorldObjects
|
||||||
|
Loading…
x
Reference in New Issue
Block a user