// 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;
}
}