quantum-space-buddies/QSB/EyeOfTheUniverse/GalaxyMap/Messages/ZoomOutMessage.cs
2022-03-02 19:46:33 -08:00

26 lines
945 B
C#

using QSB.Messaging;
using QSB.WorldSync;
using System.Linq;
namespace QSB.EyeOfTheUniverse.GalaxyMap.Messages;
internal class ZoomOutMessage : QSBMessage
{
public override bool ShouldReceive => QSBWorldSync.AllObjectsReady;
public override void OnReceiveRemote()
{
var controller = QSBWorldSync.GetUnityObjects<GalaxyMapController>().First();
controller.enabled = true;
Locator.GetPlayerController().SetColliderActivation(false);
controller._endlessObservatoryVolume.SetActivation(false);
controller._forestOfGalaxiesVolume.SetTriggerActivation(false);
ReticleController.Hide();
controller._zoomSpeed = 50f;
Locator.GetPlayerBody().AddVelocityChange(-Locator.GetPlayerCamera().transform.forward * controller._zoomSpeed);
controller._origEyePos = controller._eyeTransform.localPosition;
controller._audioSource.Play();
RumbleManager.PlayGalaxyZoom();
Locator.GetEyeStateManager().SetState(EyeState.ZoomOut);
}
}