Skip to content

Commit 4d12b40

Browse files
author
David Kline
authored
Merge pull request #3631 from andreiborodin/bugs/teleportDisableFix
Extracted the TeleportSystem enabled check into a property. Also, mad…
2 parents 65fb5db + b82d084 commit 4d12b40

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

Assets/MixedRealityToolkit.SDK/Features/UX/Scripts/Pointers/BaseControllerPointer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ protected override void OnEnable()
129129
{
130130
base.OnEnable();
131131

132-
if (MixedRealityToolkit.IsInitialized && MixedRealityToolkit.Instance.ActiveProfile.IsTeleportSystemEnabled && MixedRealityToolkit.TeleportSystem != null && !lateRegisterTeleport)
132+
if (MixedRealityToolkit.IsTeleportSystemEnabled && MixedRealityToolkit.TeleportSystem != null && !lateRegisterTeleport)
133133
{
134134
MixedRealityToolkit.TeleportSystem.Register(gameObject);
135135
}
@@ -139,7 +139,7 @@ protected override async void Start()
139139
{
140140
base.Start();
141141

142-
if (lateRegisterTeleport && MixedRealityToolkit.Instance.ActiveProfile.IsTeleportSystemEnabled)
142+
if (lateRegisterTeleport && MixedRealityToolkit.IsTeleportSystemEnabled)
143143
{
144144
if (MixedRealityToolkit.TeleportSystem == null)
145145
{

Assets/MixedRealityToolkit.SDK/Features/UX/Scripts/Pointers/TeleportPointer.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,7 @@ protected Gradient GetLineGradient(TeleportSurfaceResult targetResult)
101101
#region IMixedRealityPointer Implementation
102102

103103
/// <inheritdoc />
104-
public override bool IsInteractionEnabled => !IsTeleportRequestActive && teleportEnabled
105-
&& (MixedRealityToolkit.IsInitialized && MixedRealityToolkit.HasActiveProfile && MixedRealityToolkit.Instance.ActiveProfile.IsTeleportSystemEnabled);
104+
public override bool IsInteractionEnabled => !IsTeleportRequestActive && teleportEnabled && MixedRealityToolkit.IsTeleportSystemEnabled;
106105

107106
/// <inheritdoc />
108107
public override float PointerOrientation
@@ -252,8 +251,7 @@ public override void OnPostRaycast()
252251
public override void OnInputChanged(InputEventData<Vector2> eventData)
253252
{
254253
// Don't process input if we've got an active teleport request in progress.
255-
if (IsTeleportRequestActive
256-
|| !(MixedRealityToolkit.IsInitialized && MixedRealityToolkit.HasActiveProfile && MixedRealityToolkit.Instance.ActiveProfile.IsTeleportSystemEnabled))
254+
if (IsTeleportRequestActive || !MixedRealityToolkit.IsTeleportSystemEnabled)
257255
{
258256
return;
259257
}

Assets/MixedRealityToolkit/Services/MixedRealityToolkit.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,21 +353,24 @@ public static MixedRealityToolkit Instance
353353
return null;
354354
}
355355

356+
356357
var objects = FindObjectsOfType<MixedRealityToolkit>();
357358
searchForInstance = false;
358359
MixedRealityToolkit newInstance;
359-
newInstanceBeingInitialized = false;
360360

361361
switch (objects.Length)
362362
{
363363
case 0:
364+
Debug.Assert(!newInstanceBeingInitialized, "We shouldn't be initializing another MixedRealityToolkit unless we errored on the previous.");
364365
newInstanceBeingInitialized = true;
365366
newInstance = new GameObject(nameof(MixedRealityToolkit)).AddComponent<MixedRealityToolkit>();
366367
break;
367368
case 1:
369+
newInstanceBeingInitialized = false;
368370
newInstance = objects[0];
369371
break;
370372
default:
373+
newInstanceBeingInitialized = false;
371374
Debug.LogError($"Expected exactly 1 {nameof(MixedRealityToolkit)} but found {objects.Length}.");
372375
return null;
373376
}
@@ -1362,6 +1365,11 @@ public static IMixedRealitySpatialAwarenessSystem SpatialAwarenessSystem
13621365

13631366
private static IMixedRealityTeleportSystem teleportSystem = null;
13641367

1368+
/// <summary>
1369+
/// Returns true if the MixedRealityToolkit exists and has an active profile that has Teleport system enabled.
1370+
/// </summary>
1371+
public static bool IsTeleportSystemEnabled => IsInitialized && HasActiveProfile && Instance.ActiveProfile.IsTeleportSystemEnabled;
1372+
13651373
/// <summary>
13661374
/// The current Teleport System registered with the Mixed Reality Toolkit.
13671375
/// </summary>

0 commit comments

Comments
 (0)