Feel  3.16
The best way to improve your game's feel and make it extra juicy
MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics Class Reference

Add this feedback to be able to trigger haptic feedbacks via the NiceVibration library. It'll let you create transient or continuous vibrations, play presets or advanced patterns via AHAP files, and stop any vibration at any time This feedback has been deprecated, and is just here to avoid errors in case you were to update from an old version. Use the new haptic feedbacks instead. More...

Inheritance diagram for MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics:
MoreMountains.Feedbacks.MMFeedback

Public Types

enum  HapticTypes {
  HapticTypes.Selection, HapticTypes.Success, HapticTypes.Warning, HapticTypes.Failure,
  HapticTypes.LightImpact, HapticTypes.MediumImpact, HapticTypes.HeavyImpact, HapticTypes.RigidImpact,
  HapticTypes.SoftImpact, HapticTypes.None
}
 
enum  HapticMethods {
  HapticMethods.NativePreset, HapticMethods.Transient, HapticMethods.Continuous, HapticMethods.AdvancedPattern,
  HapticMethods.Stop, HapticMethods.AdvancedTransient, HapticMethods.AdvancedContinuous
}
 the possible haptic methods for this feedback More...
 
enum  Timescales { Timescales.ScaledTime, Timescales.UnscaledTime }
 the timescale to operate on More...
 

Public Attributes

HapticMethods HapticMethod = HapticMethods.NativePreset
 the method to use when triggering this haptic feedback More...
 
HapticTypes HapticType = HapticTypes.None
 the type of native preset to use More...
 
float TransientIntensity = 1f
 the intensity of the transient haptic More...
 
float TransientSharpness = 1f
 the sharpness of the transient haptic More...
 
bool ATVibrateIOS = true
 whether or not to vibrate on iOS when in AdvancedTransient mode More...
 
float ATIOSIntensity = 1f
 the intensity on iOS when in AdvancedTransient mode More...
 
float ATIOSSharpness = 1f
 the sharpness on iOS when in AdvancedTransient mode More...
 
bool ATVibrateAndroid = true
 whether or not to vibrate on android when in AdvancedTransient mode More...
 
bool ATVibrateAndroidIfNoSupport = false
 whether or not to vibrate on android if no support for advanced vibrations when in AdvancedTransient mode More...
 
float ATAndroidIntensity = 1f
 the intensity on android when in AdvancedTransient mode More...
 
float ATAndroidSharpness = 1f
 the sharpness on android when in AdvancedTransient mode More...
 
bool ATRumble = true
 whether or not to rumble when in AdvancedTransient mode More...
 
float ATRumbleIntensity = 1f
 the rumble intensity when in AdvancedTransient mode More...
 
float ATRumbleSharpness = 1f
 the rumble sharpness when in AdvancedTransient mode More...
 
int ATRumbleControllerID = -1
 the controllerID when in AdvancedTransient mode More...
 
float InitialContinuousIntensity = 1f
 the intensity that should be used to initialize the continuous haptic More...
 
AnimationCurve ContinuousIntensityCurve = new AnimationCurve(new Keyframe(0, 1), new Keyframe(1f, 1f))
 the curve used to tween the continuous intensity More...
 
float InitialContinuousSharpness = 1f
 the sharpness that should be used to initialize the continuous haptic More...
 
AnimationCurve ContinuousSharpnessCurve = new AnimationCurve(new Keyframe(0, 1), new Keyframe(1f, 1f))
 the curve used to tween the continuous sharpness More...
 
float ContinuousDuration = 1f
 the duration of the continuous haptic More...
 
bool APVibrateIOS = true
 whether or not to trigger advanced patterns on iOS More...
 
TextAsset AHAPFileForIOS
 the AHAP file to use to trigger a pattern on iOS More...
 
bool APVibrateAndroid = true
 whether or not to trigger advanced patterns on Android More...
 
bool APVibrateAndroidIfNoSupport = false
 whether or not to vibrate if there's no haptics support More...
 
bool APRumble = true
 the WaveFormFile to use to trigger a pattern on Android More...
 
int AndroidRepeat = -1
 the file to use to trigger a rumble on gamepad More...
 
int RumbleRepeat = -1
 the amount of times this should repeat on gamepad More...
 
HapticTypes OldIOSFallback
 a haptic type to play on older iOS APIs (prior to iOS 13) More...
 
Timescales Timescale = Timescales.UnscaledTime
 whether to run this on scaled or unscaled time More...
 
bool AllowRumble = true
 whether or not this feedback should trigger a rumble on gamepad More...
 
int ControllerID = -1
 the ID of the controller to rumble (-1 : auto/current, 0 : first controller, 1 : second controller, etc) More...
 
bool OutputDeprecationWarning = true
 if this is true, this feedback will output a warning when played More...
 
- Public Attributes inherited from MoreMountains.Feedbacks.MMFeedback
bool Active = true
 whether or not this feedback is active More...
 
string Label = "MMFeedback"
 the name of this feedback to display in the inspector More...
 
float Chance = 100f
 the chance of this feedback happening (in percent : 100 : happens all the time, 0 : never happens, 50 : happens once every two calls, etc) More...
 
MMFeedbackTiming Timing
 a number of timing-related values (delay, repeat, etc) More...
 
bool DebugActive = false
 whether or not this feedback is in debug mode More...
 

Static Public Attributes

static bool FeedbackTypeAuthorized = true
 a static bool used to disable all feedbacks of this type at once More...
 

Protected Member Functions

override void CustomPlayFeedback (Vector3 position, float feedbacksIntensity=1.0f)
 When this feedback gets played More...
 
- Protected Member Functions inherited from MoreMountains.Feedbacks.MMFeedback
virtual void OnEnable ()
 
virtual IEnumerator PlayCoroutine (Vector3 position, float feedbacksIntensity=1.0f)
 An internal coroutine delaying the initial play of the feedback More...
 
virtual void RegularPlay (Vector3 position, float feedbacksIntensity=1.0f)
 Triggers delaying coroutines if needed More...
 
virtual IEnumerator InfinitePlay (Vector3 position, float feedbacksIntensity=1.0f)
 Internal coroutine used for repeated play without end More...
 
virtual IEnumerator RepeatedPlay (Vector3 position, float feedbacksIntensity=1.0f)
 Internal coroutine used for repeated play More...
 
virtual IEnumerator SequenceCoroutine (Vector3 position, float feedbacksIntensity=1.0f)
 A coroutine used to play this feedback on a sequence More...
 
virtual float ApplyDirection (float normalizedTime)
 Returns a new value of the normalized time based on the current play direction of this feedback More...
 
virtual float ApplyTimeMultiplier (float duration)
 Applies the host MMFeedbacks' time multiplier to this feedback More...
 
virtual void CustomInitialization (GameObject owner)
 This method describes all custom initialization processes the feedback requires, in addition to the main Initialization method More...
 
virtual void CustomStopFeedback (Vector3 position, float feedbacksIntensity=1.0f)
 This method describes what happens when the feedback gets stopped More...
 
virtual void CustomReset ()
 This method describes what happens when the feedback gets reset More...
 

Static Protected Attributes

static bool _continuousPlaying = false
 
static float _continuousStartedAt = 0f
 

Additional Inherited Members

- Public Member Functions inherited from MoreMountains.Feedbacks.MMFeedback
virtual MMChannelData ChannelData (int channel)
 
virtual void Initialization (GameObject owner)
 Initializes the feedback and its timing related variables More...
 
virtual void Play (Vector3 position, float feedbacksIntensity=1.0f)
 Plays the feedback More...
 
virtual void Stop (Vector3 position, float feedbacksIntensity=1.0f)
 Stops all feedbacks from playing. Will stop repeating feedbacks, and call custom stop implementations More...
 
virtual void ResetFeedback ()
 Calls this feedback's custom reset More...
 
virtual void SetSequence (MMSequence newSequence)
 Use this method to change this feedback's sequence at runtime More...
 
virtual void SetDelayBetweenRepeats (float delay)
 Use this method to specify a new delay between repeats at runtime More...
 
virtual void SetInitialDelay (float delay)
 Use this method to specify a new initial delay at runtime More...
 
- Protected Attributes inherited from MoreMountains.Feedbacks.MMFeedback
float _lastPlayTimestamp = -1f
 
int _playsLeft
 
bool _initialized = false
 
Coroutine _playCoroutine
 
Coroutine _infinitePlayCoroutine
 
Coroutine _sequenceCoroutine
 
Coroutine _repeatedPlayCoroutine
 
int _sequenceTrackID = 0
 
MMFeedbacks _hostMMFeedbacks
 
float _beatInterval
 
bool BeatThisFrame = false
 
int LastBeatIndex = 0
 
int CurrentSequenceIndex = 0
 
float LastBeatTimestamp = 0f
 
bool _isHostMMFeedbacksNotNull
 
MMChannelData _channelData
 
- Properties inherited from MoreMountains.Feedbacks.MMFeedback
GameObject Owner [get, set]
 the Owner of the feedback, as defined when calling the Initialization method More...
 
virtual IEnumerator Pause [get]
 set this to true if your feedback should pause the execution of the feedback sequence More...
 
virtual bool HoldingPause [get]
 if this is true, this feedback will wait until all previous feedbacks have run More...
 
virtual bool LooperPause [get]
 if this is true, this feedback will wait until all previous feedbacks have run, then run all previous feedbacks again More...
 
virtual bool ScriptDrivenPause [get, set]
 if this is true, this feedback will pause and wait until Resume() is called on its parent MMFeedbacks to resume execution More...
 
virtual float ScriptDrivenPauseAutoResume [get, set]
 if this is a positive value, the feedback will auto resume after that duration if it hasn't been resumed via script already More...
 
virtual bool LooperStart [get]
 if this is true, this feedback will wait until all previous feedbacks have run, then run all previous feedbacks again More...
 
virtual bool InCooldown [get]
 returns true if this feedback is in cooldown at this time (and thus can't play), false otherwise More...
 
virtual bool IsPlaying [get, set]
 if this is true, this feedback is currently playing More...
 
float FeedbackTime [get]
 the time (or unscaled time) based on the selected Timing settings More...
 
float FeedbackDeltaTime [get]
 the delta time (or unscaled delta time) based on the selected Timing settings More...
 
float TotalDuration [get]
 The total duration of this feedback : total = initial delay + duration * (number of repeats + delay between repeats)
More...
 
virtual float FeedbackStartedAt [get]
 
virtual float FeedbackDuration [get, set]
 
virtual bool FeedbackPlaying [get]
 whether or not this feedback is playing right now More...
 
virtual bool NormalPlayDirection [get]
 Returns true if this feedback should play normally, or false if it should play in rewind More...
 
virtual bool ShouldPlayInThisSequenceDirection [get]
 Returns true if this feedback should play in the current parent MMFeedbacks direction, according to its MMFeedbacksDirectionCondition setting More...
 
virtual float? FinalNormalizedTime [get]
 Returns the t value at which to evaluate a curve at the end of this feedback's play time More...
 

Detailed Description

Add this feedback to be able to trigger haptic feedbacks via the NiceVibration library. It'll let you create transient or continuous vibrations, play presets or advanced patterns via AHAP files, and stop any vibration at any time This feedback has been deprecated, and is just here to avoid errors in case you were to update from an old version. Use the new haptic feedbacks instead.

Member Enumeration Documentation

◆ HapticMethods

the possible haptic methods for this feedback

Enumerator
NativePreset 
Transient 
Continuous 
AdvancedPattern 
Stop 
AdvancedTransient 
AdvancedContinuous 

◆ HapticTypes

Enumerator
Selection 
Success 
Warning 
Failure 
LightImpact 
MediumImpact 
HeavyImpact 
RigidImpact 
SoftImpact 
None 

◆ Timescales

the timescale to operate on

Enumerator
ScaledTime 
UnscaledTime 

Member Function Documentation

◆ CustomPlayFeedback()

override void MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.CustomPlayFeedback ( Vector3  position,
float  feedbacksIntensity = 1.0f 
)
protectedvirtual

When this feedback gets played

Parameters
position
feedbacksIntensity

Implements MoreMountains.Feedbacks.MMFeedback.

Member Data Documentation

◆ _continuousPlaying

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics._continuousPlaying = false
staticprotected

◆ _continuousStartedAt

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics._continuousStartedAt = 0f
staticprotected

◆ AHAPFileForIOS

TextAsset MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.AHAPFileForIOS

the AHAP file to use to trigger a pattern on iOS

◆ AllowRumble

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.AllowRumble = true

whether or not this feedback should trigger a rumble on gamepad

◆ AndroidRepeat

int MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.AndroidRepeat = -1

the file to use to trigger a rumble on gamepad

the amount of times this should repeat on Android (-1 : zero, 0 : infinite, 1 : one time, 2 : twice, etc)

◆ APRumble

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.APRumble = true

the WaveFormFile to use to trigger a pattern on Android

whether or not to trigger advanced patterns on rumble

◆ APVibrateAndroid

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.APVibrateAndroid = true

whether or not to trigger advanced patterns on Android

◆ APVibrateAndroidIfNoSupport

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.APVibrateAndroidIfNoSupport = false

whether or not to vibrate if there's no haptics support

◆ APVibrateIOS

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.APVibrateIOS = true

whether or not to trigger advanced patterns on iOS

◆ ATAndroidIntensity

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATAndroidIntensity = 1f

the intensity on android when in AdvancedTransient mode

◆ ATAndroidSharpness

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATAndroidSharpness = 1f

the sharpness on android when in AdvancedTransient mode

◆ ATIOSIntensity

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATIOSIntensity = 1f

the intensity on iOS when in AdvancedTransient mode

◆ ATIOSSharpness

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATIOSSharpness = 1f

the sharpness on iOS when in AdvancedTransient mode

◆ ATRumble

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATRumble = true

whether or not to rumble when in AdvancedTransient mode

◆ ATRumbleControllerID

int MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATRumbleControllerID = -1

the controllerID when in AdvancedTransient mode

◆ ATRumbleIntensity

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATRumbleIntensity = 1f

the rumble intensity when in AdvancedTransient mode

◆ ATRumbleSharpness

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATRumbleSharpness = 1f

the rumble sharpness when in AdvancedTransient mode

◆ ATVibrateAndroid

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATVibrateAndroid = true

whether or not to vibrate on android when in AdvancedTransient mode

◆ ATVibrateAndroidIfNoSupport

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATVibrateAndroidIfNoSupport = false

whether or not to vibrate on android if no support for advanced vibrations when in AdvancedTransient mode

◆ ATVibrateIOS

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ATVibrateIOS = true

whether or not to vibrate on iOS when in AdvancedTransient mode

◆ ContinuousDuration

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ContinuousDuration = 1f

the duration of the continuous haptic

◆ ContinuousIntensityCurve

AnimationCurve MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ContinuousIntensityCurve = new AnimationCurve(new Keyframe(0, 1), new Keyframe(1f, 1f))

the curve used to tween the continuous intensity

◆ ContinuousSharpnessCurve

AnimationCurve MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ContinuousSharpnessCurve = new AnimationCurve(new Keyframe(0, 1), new Keyframe(1f, 1f))

the curve used to tween the continuous sharpness

◆ ControllerID

int MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.ControllerID = -1

the ID of the controller to rumble (-1 : auto/current, 0 : first controller, 1 : second controller, etc)

◆ FeedbackTypeAuthorized

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.FeedbackTypeAuthorized = true
static

a static bool used to disable all feedbacks of this type at once

◆ HapticMethod

HapticMethods MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.HapticMethod = HapticMethods.NativePreset

the method to use when triggering this haptic feedback

◆ HapticType

HapticTypes MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.HapticType = HapticTypes.None

the type of native preset to use

◆ InitialContinuousIntensity

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.InitialContinuousIntensity = 1f

the intensity that should be used to initialize the continuous haptic

◆ InitialContinuousSharpness

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.InitialContinuousSharpness = 1f

the sharpness that should be used to initialize the continuous haptic

◆ OldIOSFallback

HapticTypes MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.OldIOSFallback

a haptic type to play on older iOS APIs (prior to iOS 13)

◆ OutputDeprecationWarning

bool MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.OutputDeprecationWarning = true

if this is true, this feedback will output a warning when played

◆ RumbleRepeat

int MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.RumbleRepeat = -1

the amount of times this should repeat on gamepad

◆ Timescale

Timescales MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.Timescale = Timescales.UnscaledTime

whether to run this on scaled or unscaled time

◆ TransientIntensity

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.TransientIntensity = 1f

the intensity of the transient haptic

◆ TransientSharpness

float MoreMountains.FeedbacksForThirdParty.MMFeedbackHaptics.TransientSharpness = 1f

the sharpness of the transient haptic


The documentation for this class was generated from the following file: