Feel
5.2
The best way to improve your game's feel and make it extra juicy
|
A feedback to bind Unity events to and trigger them when played More...
Public Attributes | |
UnityEvent | PlayEvents |
sets the inspector color for this feedback More... | |
UnityEvent | StopEvents |
the events to trigger when the feedback is stopped More... | |
UnityEvent | InitializationEvents |
the events to trigger when the feedback is initialized More... | |
UnityEvent | ResetEvents |
the events to trigger when the feedback is reset More... | |
Public Attributes inherited from MoreMountains.Feedbacks.MMF_Feedback | |
bool | Active = true |
whether or not this feedback is active More... | |
int | UniqueID |
string | Label = "MMFeedback" |
the name of this feedback to display in the inspector More... | |
string | OriginalLabel = "" |
the original label of this feedback, used to display next to the custom label in case we set one More... | |
MMChannelModes | ChannelMode = MMChannelModes.Int |
int | Channel = 0 |
the ID of the channel on which this feedback will communicate More... | |
MMChannel | MMChannelDefinition = null |
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... | |
virtual Color | DisplayColor => Color.black |
use this color to customize the background color of the feedback in the MMF_Player's list More... | |
MMFeedbackTiming | Timing |
a number of timing-related values (delay, repeat, etc) More... | |
MMFeedbackTargetAcquisition | AutomatedTargetAcquisition |
a set of settings letting you define automated target acquisition for this feedback, to (for example) automatically grab the target on this game object, or a parent, a child, or on a reference holder More... | |
bool | RandomizeOutput = false |
if this is true, intensity will be multiplied by a random value on play, picked between RandomMultiplier.x and RandomMultiplier.y More... | |
Vector2 | RandomMultiplier = new Vector2(0.8f, 1f) |
a random value (randomized between its x and y) by which to multiply the output of this feedback, if RandomizeOutput is true More... | |
bool | RandomizeDuration = false |
if this is true, this feedback's duration will be multiplied by a random value on play, picked between RandomDurationMultiplier.x and RandomDurationMultiplier.y More... | |
Vector2 | RandomDurationMultiplier = new Vector2(0.5f, 2f) |
a random value (randomized between its x and y) by which to multiply the duration of this feedback, if RandomizeDuration is true More... | |
bool | UseRange = false |
if this is true, only shakers within the specified range will respond to this feedback More... | |
float | RangeDistance = 5f |
when in UseRange mode, only shakers within that distance will respond to this feedback More... | |
bool | UseRangeFalloff = false |
when in UseRange mode, whether or not to modify the shake intensity based on the RangeFallOff curve More... | |
AnimationCurve | RangeFalloff = new AnimationCurve(new Keyframe(0f, 1f), new Keyframe(1f, 0f)) |
the animation curve to use to define falloff (on the x 0 represents the range center, 1 represents the max distance to it) More... | |
Vector2 | RemapRangeFalloff = new Vector2(0f, 1f) |
the values to remap the falloff curve's y axis' 0 and 1 More... | |
MMF_Button | AutomaticShakerSetupButton |
a button used to attempt an auto shaker setup for this feedback, adding whatever shaker it requires to function to the scene More... | |
MMF_Player | Owner |
the Owner of the feedback, as defined when calling the Initialization method More... | |
bool | DebugActive = false |
whether or not this feedback is in debug mode More... | |
virtual IEnumerator | Pause => null |
set this to true if your feedback should pause the execution of the feedback sequence More... | |
virtual bool | HoldingPause => false |
if this is true, this feedback will wait until all previous feedbacks have run More... | |
virtual bool | LooperPause => false |
if this is true, this feedback will wait until all previous feedbacks have run, then run all previous feedbacks again More... | |
virtual bool | LooperStart => false |
if this is true, this feedback will wait until all previous feedbacks have run, then run all previous feedbacks again More... | |
virtual bool | HasChannel => false |
if this is true, the Channel property will be displayed, otherwise it'll be hidden More... | |
virtual bool | HasAutomaticShakerSetup => false |
if this is true, this feedback will display an automatic shaker setup button More... | |
virtual bool | HasRandomness => false |
if this is true, the Randomness group will be displayed, otherwise it'll be hidden More... | |
virtual bool | CanForceInitialValue => false |
if this is true, this feedback implements ForceInitialState, otherwise calling that method will have no effect More... | |
virtual bool | ForceInitialValueDelayed => false |
if this is true, force initial value will happen over two frames More... | |
virtual bool | HasAutomatedTargetAcquisition => false |
whether or not this feedback can automatically grab the target on this game object, or a parent, a child, or on a reference holder More... | |
virtual bool | HasRange => false |
if this is true, the Range group will be displayed, otherwise it'll be hidden More... | |
virtual int | PlaysLeft => _playsLeft |
the total amount of plays this feedback has left More... | |
virtual bool | HasCustomInspectors => false |
virtual bool | InCooldown |
returns true if this feedback is in cooldown at this time (and thus can't play), false otherwise More... | |
virtual float | ComputedRandomMultiplier |
Returns the random multiplier to apply to this feedback's output More... | |
virtual bool | RequiresSetup => _requiresSetup |
A flag used to determine if a feedback has all it needs, or if it requires some extra setup. This flag will be used to display a warning icon in the inspector if the feedback is not ready to be played. More... | |
virtual string | RequiredTarget => _requiredTarget |
virtual bool | DrawGroupInspectors => true |
if this is true, group inspectors will be displayed within this feedback More... | |
virtual bool | DisplayFullHeaderColor => false |
if this is true, the feedback will be displayed in the MMF Player's list with a full color background, as opposed to just a small line on the left More... | |
virtual string | RequiresSetupText => "This feedback requires some additional setup." |
defines the setup text that will be displayed on the feedback, should setup be required More... | |
virtual string | RequiredTargetText => "" |
the text used to describe the required target More... | |
virtual string | RequiredTargetTextExtra => "" |
the text used to describe the required target, if more info is needed More... | |
virtual float | FeedbackStartedAt => Application.isPlaying ? _lastPlayTimestamp : -1f |
virtual bool | FeedbackPlaying |
whether or not this feedback is playing right now More... | |
virtual MMChannelData | ChannelData => _channelData.Set(ChannelMode, Channel, MMChannelDefinition) |
a ChannelData object, ready to pass to an event More... | |
Static Public Attributes | |
static bool | FeedbackTypeAuthorized = true |
a static bool used to disable all feedbacks of this type at once More... | |
Static Public Attributes inherited from MoreMountains.Feedbacks.MMF_Feedback | |
const string | _randomnessGroupName = "Feedback Randomness" |
const string | _rangeGroupName = "Feedback Range" |
const string | _automaticSetupGroupName = "Automatic Setup" |
Protected Member Functions | |
override void | CustomInitialization (MMF_Player owner) |
On init, triggers the init events More... | |
override void | CustomPlayFeedback (Vector3 position, float feedbacksIntensity=1.0f) |
On Play, triggers the play events More... | |
override void | CustomStopFeedback (Vector3 position, float feedbacksIntensity=1.0f) |
On Stop, triggers the stop events More... | |
override void | CustomReset () |
On reset, triggers the reset events More... | |
Protected Member Functions inherited from MoreMountains.Feedbacks.MMF_Feedback | |
virtual void | AutomateTargetAcquisitionInternal () |
Performs automated target acquisition, if needed More... | |
virtual void | AutomateTargetAcquisition () |
A method meant to be implemented per feedback letting you specify what happens (usually setting a target) More... | |
virtual GameObject | FindAutomatedTargetGameObject () |
virtual T | FindAutomatedTarget< T > () |
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 void | TriggerCustomPlay (Vector3 position, float intensity) |
Triggers a custom play 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 | TriggerRepeatedPlay (Vector3 position, float feedbacksIntensity=1.0f) |
virtual IEnumerator | SequenceCoroutine (Vector3 position, float feedbacksIntensity=1.0f) |
A coroutine used to play this feedback on a sequence More... | |
virtual IEnumerator | ForceInitialValueDelayedCo (Vector3 position, float feedbacksIntensity=1.0f) |
A coroutine used to delay the Stop when forcing initial values (used mostly with shaker based feedbacks) More... | |
virtual float | ApplyTimeMultiplier (float duration) |
Applies the host MMFeedbacks' time multiplier to this feedback More... | |
virtual IEnumerator | WaitFor (float delay) |
Internal method used to wait for a duration, on scaled or unscaled time 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 void | CustomSkipToTheEnd (Vector3 position, float feedbacksIntensity=1.0f) |
This method describes what happens when the feedback gets skipped to the end More... | |
virtual void | CustomRestoreInitialValues () |
This method describes what happens when the feedback gets restored More... | |
virtual void | CustomPlayerComplete () |
This method describes what happens when the player this feedback belongs to completes playing More... | |
Additional Inherited Members | |
Public Member Functions inherited from MoreMountains.Feedbacks.MMF_Feedback | |
virtual string | GetLabel () |
you can override this when creating a custom feedback to have it behave differently and display a different label More... | |
virtual float | ComputeIntensity (float intensity, Vector3 position) |
Computes the new intensity, taking into account constant intensity and potential randomness More... | |
virtual void | CacheRequiresSetup () |
virtual bool | EvaluateRequiresSetup () |
Override this method to determine if a feedback requires setup More... | |
virtual void | SetFeedbackDuration (float newDuration) |
Use this method to change the duration of this feedback More... | |
virtual void | PreInitialization (MMF_Player owner, int index) |
Runs at Awake, lets you preinitialize your custom feedback before Initialization More... | |
virtual void | Initialization (MMF_Player owner, int index) |
Typically runs on Start, Initializes the feedback and its timing related variables More... | |
virtual void | SetIndexInFeedbacksList (int index) |
Lets you specify at what index this feedback is in the list - use carefully (or don't use at all) More... | |
virtual void | AutomaticShakerSetup () |
Call this method (either directly or via the inspector button) to try and automatically setup this feedback's corresponding shaker in the scene More... | |
virtual void | ForceAutomateTargetAcquisition () |
Lets you force target acquisition, outside of initialization where it usually occurs More... | |
virtual void | Play (Vector3 position, float feedbacksIntensity=1.0f) |
Plays the feedback More... | |
virtual void | SetSequence (MMSequence newSequence) |
Use this method to change this feedback's sequence at runtime 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 | SkipToTheEnd (Vector3 position, float feedbacksIntensity=1.0f) |
Called when skipping to the end of MMF_Player, calls custom Skip on all feedbacks More... | |
virtual void | ForceInitialValue (Vector3 position, float feedbacksIntensity=1.0f) |
Forces the feedback to set its initial value (behavior will change from feedback to feedback, but for example, a Position feedback that moves a Transform from point A to B would automatically move the Transform to point A when ForceInitialState is called More... | |
virtual void | RestoreInitialValues () |
Called when restoring the initial state of a player, calls custom Restore on all feedbacks More... | |
virtual void | ResetFeedback () |
Calls this feedback's custom reset More... | |
virtual void | ResetCooldown () |
Resets the cooldown for this feedback, allowing it to be played again instantly More... | |
virtual void | PlayerComplete () |
This gets called by the MMF Player when all feedbacks have completed playing 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... | |
virtual void | ComputeNewRandomDurationMultiplier () |
Computes a new random duration multiplier More... | |
virtual void | ResetPlayCount () |
Resets the play count of this feedback More... | |
virtual void | ComputeTotalDuration () |
Computes the total duration of this feedback More... | |
virtual void | InitializeCustomAttributes () |
Use this method to initialize any custom attributes you may have More... | |
virtual void | OnValidate () |
Triggered when a change happens in the inspector More... | |
virtual void | OnAddFeedback () |
Triggered when the feedback gets added to the player More... | |
virtual void | OnDestroy () |
Triggered when that feedback gets destroyed More... | |
virtual void | OnDisable () |
Triggered when the host MMF Player gets disabled More... | |
virtual void | OnDrawGizmosSelectedHandler () |
Triggered when the host MMF Player gets selected, can be used to draw gizmos More... | |
Protected Attributes inherited from MoreMountains.Feedbacks.MMF_Feedback | |
float | _lastPlayTimestamp = -float.MaxValue |
int | _playsLeft |
bool | _initialized = false |
Coroutine | _playCoroutine |
Coroutine | _infinitePlayCoroutine |
Coroutine | _sequenceCoroutine |
Coroutine | _repeatedPlayCoroutine |
bool | _requiresSetup = false |
string | _requiredTarget = "" |
float | _randomDurationMultiplier = 1f |
int | _sequenceTrackID = 0 |
float | _beatInterval |
bool | BeatThisFrame = false |
int | LastBeatIndex = 0 |
int | CurrentSequenceIndex = 0 |
float | LastBeatTimestamp = 0f |
MMChannelData | _channelData |
float | _totalDuration = 0f |
int | _indexInOwnerFeedbackList = 0 |
string | _requiredTargetTextCached = "." |
string | _requiredTargetTextCachedExtra = "" |
float | _repeatOffset = 0f |
Properties inherited from MoreMountains.Feedbacks.MMF_Feedback | |
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 MMF_ReferenceHolder | ForcedReferenceHolder [get, set] |
when in forced reference mode, this will contain the forced reference holder that will be used (usually set by itself) More... | |
virtual bool | IsPlaying [get, set] |
if this is true, this feedback is currently playing More... | |
virtual TimescaleModes | ComputedTimescaleMode [get] |
Returns the timescale mode to use in logic, taking into account the one set at the feedback level and the player level More... | |
virtual bool | InScaledTimescaleMode [get] |
returns true if this feedback is in Scaled timescale mode, false otherwise More... | |
virtual float | FeedbackTime [get] |
the time (or unscaled time) based on the selected Timing settings More... | |
virtual float | FeedbackDeltaTime [get] |
the delta time (or unscaled delta time) based on the selected Timing settings More... | |
virtual float | TotalDuration [get] |
The total duration of this feedback : total = initial delay + duration * (number of repeats + delay between repeats) More... | |
virtual bool | IsExpanded [get, set] |
virtual string | RequiredChannelText [get] |
virtual float | FeedbackDuration [get, set] |
virtual bool | InInitialDelay [get, set] |
virtual float? | FinalNormalizedTime [get] |
Returns the t value at which to evaluate a curve at the end of this feedback's play time 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... | |
A feedback to bind Unity events to and trigger them when played
|
protectedvirtual |
On init, triggers the init events
owner |
Reimplemented from MoreMountains.Feedbacks.MMF_Feedback.
|
protectedvirtual |
On Play, triggers the play events
position | |
feedbacksIntensity |
Implements MoreMountains.Feedbacks.MMF_Feedback.
|
protectedvirtual |
On reset, triggers the reset events
Reimplemented from MoreMountains.Feedbacks.MMF_Feedback.
|
protectedvirtual |
On Stop, triggers the stop events
position | |
feedbacksIntensity |
Reimplemented from MoreMountains.Feedbacks.MMF_Feedback.
|
static |
a static bool used to disable all feedbacks of this type at once
UnityEvent MoreMountains.Feedbacks.MMF_Events.InitializationEvents |
the events to trigger when the feedback is initialized
UnityEvent MoreMountains.Feedbacks.MMF_Events.PlayEvents |
sets the inspector color for this feedback
the events to trigger when the feedback is played
UnityEvent MoreMountains.Feedbacks.MMF_Events.ResetEvents |
the events to trigger when the feedback is reset
UnityEvent MoreMountains.Feedbacks.MMF_Events.StopEvents |
the events to trigger when the feedback is stopped