Feel
5.1
The best way to improve your game's feel and make it extra juicy
|
This feedback lets you broadcast a float value to the MMRadio system More...
Public Attributes | |
override bool | HasChannel => true |
sets the inspector color for this feedback More... | |
MMTweenType | Curve = new MMTweenType(new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))) |
the curve to tween the intensity on More... | |
float | RemapZero = 0f |
the value to remap the intensity curve's 0 to More... | |
float | RemapOne = 1f |
the value to remap the intensity curve's 1 to More... | |
float | InstantChange |
the value to move the intensity to in instant mode More... | |
Public Attributes inherited from MoreMountains.Feedbacks.MMF_FeedbackBase | |
Modes | Mode = Modes.OverTime |
whether the feedback should affect the target property instantly or over a period of time More... | |
float | Duration = 0.2f |
how long the target property should change over time More... | |
bool | StartsOff = false |
whether or not that target property should be turned off on start More... | |
bool | EndsOff = false |
whether or not that target property should be turned off once the feedback is done playing More... | |
bool | RelativeValues = true |
whether or not the values should be relative or not More... | |
bool | AllowAdditivePlays = false |
if this is true, calling that feedback will trigger it, even if it's in progress. If it's false, it'll prevent any new Play until the current one is over More... | |
bool | DisableOnStop = false |
if this is true, the target object will be disabled on stop More... | |
bool | OnlyPlayIfTargetIsActive = false |
if this is true, this feedback will only play if its target is active in hierarchy More... | |
override bool | HasRandomness => true |
override bool | HasCustomInspectors => true |
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... | |
Protected Member Functions | |
override void | CustomInitialization (MMF_Player owner) |
On init we store our initial alpha More... | |
override void | FillTargets () |
We setup our target with this object More... | |
Protected Member Functions inherited from MoreMountains.Feedbacks.MMF_FeedbackBase | |
override void | CustomInitialization (MMF_Player owner) |
On init we turn the target property off if needed More... | |
virtual void | InitializeTargets () |
Initializes each target in the list More... | |
override void | CustomPlayFeedback (Vector3 position, float feedbacksIntensity=1.0f) |
On Play we turn our target property on and start an over time coroutine if needed More... | |
virtual void | Instant () |
Plays an instant feedback More... | |
override void | CustomRestoreInitialValues () |
On restore, we put our object back at its initial position More... | |
virtual IEnumerator | UpdateValueSequence (float feedbacksIntensity, Vector3 position) |
This coroutine will modify the values on the target property More... | |
virtual void | SetValues (float time, float feedbacksIntensity, Vector3 position) |
Sets the various values on the target property on a specified time (between 0 and 1) More... | |
override void | CustomStopFeedback (Vector3 position, float feedbacksIntensity=1) |
Turns the target property object off on stop if needed More... | |
virtual void | Turn (bool status) |
Turns the target object on or off More... | |
virtual bool | CanPlay () |
Checks whether or not this feedback should play according to the defined settings 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 | CustomPlayerComplete () |
This method describes what happens when the player this feedback belongs to completes playing More... | |
virtual void | CustomReset () |
This method describes what happens when the feedback gets reset More... | |
Protected Attributes | |
MMF_BroadcastProxy | _proxy |
Protected Attributes inherited from MoreMountains.Feedbacks.MMF_FeedbackBase | |
List< MMF_FeedbackBaseTarget > | _targets |
Coroutine | _coroutine = null |
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 |
Additional Inherited Members | |
Public Types inherited from MoreMountains.Feedbacks.MMF_FeedbackBase | |
enum | Modes { Modes.OverTime, Modes.Instant } |
the possible modes for this feedback More... | |
Public Member Functions inherited from MoreMountains.Feedbacks.MMF_FeedbackBase | |
virtual void | PrepareTargets () |
Creates a new list, fills the targets, and initializes them More... | |
override void | OnValidate () |
On validate (if a value has changed in the inspector), we reinitialize what needs to be More... | |
Public Member Functions inherited from MoreMountains.Feedbacks.MMF_Feedback | |
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 | 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... | |
Static Public Attributes inherited from MoreMountains.Feedbacks.MMF_FeedbackBase | |
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" |
Properties inherited from MoreMountains.Feedbacks.MMF_FeedbackBase | |
override float? | FeedbackDuration [get, set] |
the duration of this feedback is the duration of the target property, or 0 if instant More... | |
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 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... | |
This feedback lets you broadcast a float value to the MMRadio system
|
protectedvirtual |
On init we store our initial alpha
owner |
Reimplemented from MoreMountains.Feedbacks.MMF_Feedback.
|
protectedvirtual |
We setup our target with this object
Implements MoreMountains.Feedbacks.MMF_FeedbackBase.
|
protected |
MMTweenType MoreMountains.Feedbacks.MMF_Broadcast.Curve = new MMTweenType(new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))) |
the curve to tween the intensity on
override bool MoreMountains.Feedbacks.MMF_Broadcast.HasChannel => true |
sets the inspector color for this feedback
float MoreMountains.Feedbacks.MMF_Broadcast.InstantChange |
the value to move the intensity to in instant mode
float MoreMountains.Feedbacks.MMF_Broadcast.RemapOne = 1f |
the value to remap the intensity curve's 1 to
float MoreMountains.Feedbacks.MMF_Broadcast.RemapZero = 0f |
the value to remap the intensity curve's 0 to