Skip to content

Commit edbbd1e

Browse files
Fixed the processing of rules:
* Now if there is a rule, it will return. Before it would only ever return the source action * Enhanced the "Rules" check to skip over any axis not configured (zero length array)
1 parent db3a4f4 commit edbbd1e

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

Assets/MixedRealityToolkit-SDK/Features/Input/MixedRealityInputManager.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1767,59 +1767,59 @@ private MixedRealityInputAction ProcessRules_Internal<T1, T2>(MixedRealityInputA
17671767

17681768
private MixedRealityInputAction ProcessRules(MixedRealityInputAction inputAction, bool criteria)
17691769
{
1770-
if (CurrentInputActionRulesProfile != null)
1770+
if (CurrentInputActionRulesProfile != null && CurrentInputActionRulesProfile.InputActionRulesDigital?.Length > 0)
17711771
{
1772-
ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesDigital, criteria);
1772+
return ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesDigital, criteria);
17731773
}
17741774

17751775
return inputAction;
17761776
}
17771777

17781778
private MixedRealityInputAction ProcessRules(MixedRealityInputAction inputAction, float criteria)
17791779
{
1780-
if (CurrentInputActionRulesProfile != null)
1780+
if (CurrentInputActionRulesProfile != null && CurrentInputActionRulesProfile.InputActionRulesSingleAxis?.Length > 0)
17811781
{
1782-
ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesSingleAxis, criteria);
1782+
return ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesSingleAxis, criteria);
17831783
}
17841784

17851785
return inputAction;
17861786
}
17871787

17881788
private MixedRealityInputAction ProcessRules(MixedRealityInputAction inputAction, Vector2 criteria)
17891789
{
1790-
if (CurrentInputActionRulesProfile != null)
1790+
if (CurrentInputActionRulesProfile != null && CurrentInputActionRulesProfile.InputActionRulesDualAxis?.Length > 0)
17911791
{
1792-
ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesDualAxis, criteria);
1792+
return ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesDualAxis, criteria);
17931793
}
17941794

17951795
return inputAction;
17961796
}
17971797

17981798
private MixedRealityInputAction ProcessRules(MixedRealityInputAction inputAction, Vector3 criteria)
17991799
{
1800-
if (CurrentInputActionRulesProfile != null)
1800+
if (CurrentInputActionRulesProfile != null && CurrentInputActionRulesProfile.InputActionRulesVectorAxis?.Length > 0)
18011801
{
1802-
ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesVectorAxis, criteria);
1802+
return ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesVectorAxis, criteria);
18031803
}
18041804

18051805
return inputAction;
18061806
}
18071807

18081808
private MixedRealityInputAction ProcessRules(MixedRealityInputAction inputAction, Quaternion criteria)
18091809
{
1810-
if (CurrentInputActionRulesProfile != null)
1810+
if (CurrentInputActionRulesProfile != null && CurrentInputActionRulesProfile.InputActionRulesQuaternionAxis?.Length > 0)
18111811
{
1812-
ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesQuaternionAxis, criteria);
1812+
return ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesQuaternionAxis, criteria);
18131813
}
18141814

18151815
return inputAction;
18161816
}
18171817

18181818
private MixedRealityInputAction ProcessRules(MixedRealityInputAction inputAction, MixedRealityPose criteria)
18191819
{
1820-
if (CurrentInputActionRulesProfile != null)
1820+
if (CurrentInputActionRulesProfile != null && CurrentInputActionRulesProfile.InputActionRulesPoseAxis?.Length > 0)
18211821
{
1822-
ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesPoseAxis, criteria);
1822+
return ProcessRules_Internal(inputAction, CurrentInputActionRulesProfile.InputActionRulesPoseAxis, criteria);
18231823
}
18241824

18251825
return inputAction;

0 commit comments

Comments
 (0)