// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System; using UnityEngine; namespace Microsoft.MixedReality.Toolkit.Input { /// /// Generic Input Action Rule for raising actions based on specific criteria. /// [Serializable] public struct InputActionRuleVectorAxis : IInputActionRule { /// /// Constructor. /// /// The Base Action that the rule will listen to. /// The Action to raise if the criteria is met. /// The criteria to check against for determining if the action should be raised. public InputActionRuleVectorAxis(MixedRealityInputAction baseAction, MixedRealityInputAction ruleAction, Vector3 criteria) { this.baseAction = baseAction; this.ruleAction = ruleAction; this.criteria = criteria; } [SerializeField] [Tooltip("The Base Action that the rule will listen to.")] private MixedRealityInputAction baseAction; /// public MixedRealityInputAction BaseAction => baseAction; [SerializeField] [Tooltip("The Action to raise if the criteria is met.")] private MixedRealityInputAction ruleAction; /// public MixedRealityInputAction RuleAction => ruleAction; [SerializeField] [Tooltip("The criteria to check against for determining if the action should be raised.")] private Vector3 criteria; /// public Vector3 Criteria => criteria; } }