Skip to content

Commit 57a78d3

Browse files
authored
Merge pull request #159 from Hermanest/main
Fixed mutliple bugs and BeatLeader compatibility.
2 parents e3a5a44 + b9d11c3 commit 57a78d3

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

Source/CustomAvatar/Player/GameEnvironmentObjectManager.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,14 @@ private void HandleBeatLeaderSpectatorCamera()
128128

129129
var controller = (Component)_container.TryResolve(BeatLeaderReflection.kCameraControllerType);
130130
var originComponent = (Component)_container.TryResolve(BeatLeaderReflection.kOriginComponentType);
131+
Camera camera = BeatLeaderReflection.kCameraField(controller);
131132

132-
if (controller == null || originComponent == null)
133+
if (controller == null || originComponent == null || camera == null)
133134
{
134135
return;
135136
}
136137

137-
SpectatorCamera spectatorCameraController = _container.InstantiateComponent<SpectatorCamera>(BeatLeaderReflection.kCameraField(controller).gameObject);
138+
SpectatorCamera spectatorCameraController = _container.InstantiateComponent<SpectatorCamera>(camera.gameObject);
138139
spectatorCameraController.origin = BeatLeaderReflection.kReplayerCoreGetter(originComponent);
139140
spectatorCameraController.playerSpace = BeatLeaderReflection.kReplayerCenterAdjustGetter(originComponent);
140141
}

Source/CustomAvatar/Rendering/MainCamera.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,16 +68,19 @@ private void OnEnable()
6868
{
6969
if (_settings != null)
7070
{
71+
_settings.cameraNearClipPlane.changed -= OnCameraNearClipPlaneChanged;
7172
_settings.cameraNearClipPlane.changed += OnCameraNearClipPlaneChanged;
7273
}
7374

7475
if (_fpfcSettings != null)
7576
{
77+
_fpfcSettings.Changed -= OnFpfcSettingsChanged;
7678
_fpfcSettings.Changed += OnFpfcSettingsChanged;
7779
}
7880

7981
if (_beatSaberUtilities != null)
8082
{
83+
_beatSaberUtilities.focusChanged -= OnFocusChanged;
8184
_beatSaberUtilities.focusChanged += OnFocusChanged;
8285
OnFocusChanged(_beatSaberUtilities.hasFocus);
8386
}
@@ -153,10 +156,13 @@ private void OnFpfcSettingsChanged(IFPFCSettings fpfcSettings)
153156

154157
private void OnFocusChanged(bool hasFocus)
155158
{
156-
_trackedPoseDriver.UseRelativeTransform = !hasFocus;
157-
_trackedPoseDriver.originPose = hasFocus ? Pose.identity : new Pose(
158-
Vector3.Project(Quaternion.Euler(0, 180, 0) * -transform.localPosition * 2, Vector3.right) + new Vector3(0, 0, 1.5f),
159-
Quaternion.Euler(0, 180, 0));
159+
if (_trackedPoseDriver != null)
160+
{
161+
_trackedPoseDriver.UseRelativeTransform = !hasFocus;
162+
_trackedPoseDriver.originPose = hasFocus ? Pose.identity : new Pose(
163+
Vector3.Project(Quaternion.Euler(0, 180, 0) * -transform.localPosition * 2, Vector3.right) + new Vector3(0, 0, 1.5f),
164+
Quaternion.Euler(0, 180, 0));
165+
}
160166

161167
UpdateCameraMask();
162168
}

0 commit comments

Comments
 (0)