mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-07 12:40:02 +00:00
make EyeTombWatcher work
This commit is contained in:
parent
c26a02f3fa
commit
b1984e7542
@ -7,35 +7,30 @@ namespace QSB.EyeOfTheUniverse.Tomb;
|
||||
|
||||
internal class EyeTombWatcher : MonoBehaviour
|
||||
{
|
||||
private EyeTombController tomb;
|
||||
private bool _observedGrave;
|
||||
private EyeTombController _tomb;
|
||||
|
||||
private void Start()
|
||||
private void Awake()
|
||||
{
|
||||
tomb = GetComponent<EyeTombController>();
|
||||
tomb._graveObserveTrigger.OnGainFocus += OnObserveGrave;
|
||||
_tomb = GetComponent<EyeTombController>();
|
||||
_tomb._graveObserveTrigger.OnGainFocus += OnObserveGrave;
|
||||
enabled = false;
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
=> tomb._graveObserveTrigger.OnGainFocus -= OnObserveGrave;
|
||||
private void OnDestroy() =>
|
||||
_tomb._graveObserveTrigger.OnGainFocus -= OnObserveGrave;
|
||||
|
||||
private void OnObserveGrave()
|
||||
{
|
||||
_observedGrave = true;
|
||||
tomb._graveObserveTrigger.OnGainFocus -= OnObserveGrave;
|
||||
_tomb._graveObserveTrigger.OnGainFocus -= OnObserveGrave;
|
||||
enabled = true;
|
||||
}
|
||||
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
if (!_observedGrave)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var canShowStage = true;
|
||||
foreach (var player in QSBPlayerManager.PlayerList)
|
||||
{
|
||||
var playerToStage = tomb._stageRoot.transform.position - player.Body.transform.position;
|
||||
var playerToStage = _tomb._stageRoot.transform.position - player.Body.transform.position;
|
||||
var playerLookDirection = player.Body.transform.forward;
|
||||
var angle = Vector3.Angle(playerLookDirection, playerToStage);
|
||||
if (angle < 70)
|
||||
@ -46,9 +41,9 @@ internal class EyeTombWatcher : MonoBehaviour
|
||||
|
||||
if (canShowStage)
|
||||
{
|
||||
tomb._stageRoot.SetActive(true);
|
||||
_tomb._stageRoot.SetActive(true);
|
||||
new ShowStageMessage().Send();
|
||||
enabled = false;
|
||||
Destroy(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
using QSB.Messaging;
|
||||
using QSB.Utility;
|
||||
using QSB.WorldSync;
|
||||
using UnityEngine;
|
||||
|
||||
namespace QSB.EyeOfTheUniverse.Tomb.Messages;
|
||||
|
||||
@ -10,5 +10,6 @@ internal class ShowStageMessage : QSBMessage
|
||||
{
|
||||
var tomb = QSBWorldSync.GetUnityObject<EyeTombController>();
|
||||
tomb._stageRoot.SetActive(true);
|
||||
Object.Destroy(tomb.GetComponent<EyeTombWatcher>());
|
||||
}
|
||||
}
|
||||
|
@ -11,11 +11,8 @@ internal class TombManager : WorldObjectManager
|
||||
|
||||
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
|
||||
{
|
||||
if (QSBCore.IsHost)
|
||||
{
|
||||
// sike!! no worldobjects here
|
||||
var tomb = QSBWorldSync.GetUnityObject<EyeTombController>();
|
||||
tomb.gameObject.AddComponent<EyeTombWatcher>();
|
||||
}
|
||||
// sike!! no worldobjects here
|
||||
var tomb = QSBWorldSync.GetUnityObject<EyeTombController>();
|
||||
tomb.gameObject.AddComponent<EyeTombWatcher>();
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ public class PlayerTransformSync : SectoredTransformSync
|
||||
{
|
||||
// this really shouldnt happen...
|
||||
DebugLog.ToConsole($"Error - A PlayerInfo already exists with TransformSync {name}", MessageType.Error);
|
||||
Destroy(this);
|
||||
Destroy(gameObject); // probably bad
|
||||
return;
|
||||
}
|
||||
|
||||
@ -62,7 +62,7 @@ public class PlayerTransformSync : SectoredTransformSync
|
||||
if (LocalInstance != null)
|
||||
{
|
||||
DebugLog.ToConsole($"ERROR - LocalInstance is already non-null in OnStartLocalPlayer!", MessageType.Error);
|
||||
Destroy(this);
|
||||
Destroy(gameObject); // probably bad
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user