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

This feedback will let you control the color and intensity of a Light when played More...

Inheritance diagram for MoreMountains.Feedbacks.MMFeedbackLight:
MoreMountains.Feedbacks.MMFeedback

Public Types

enum  Modes { Modes.OverTime, Modes.Instant, Modes.ShakerEvent }
 sets the inspector color for this feedback More...
 

Public Attributes

Light BoundLight
 the light to affect when playing the feedback More...
 
Modes Mode = Modes.OverTime
 whether the feedback should affect the light instantly or over a period of time More...
 
float Duration = 0.2f
 how long the light should change over time More...
 
bool StartsOff = true
 whether or not that light should be turned off on start More...
 
bool RelativeValues = true
 whether or not the values should be relative or not More...
 
int Channel = 0
 the channel to broadcast on More...
 
bool ResetShakerValuesAfterShake = true
 whether or not to reset shaker values after shake More...
 
bool ResetTargetValuesAfterShake = true
 whether or not to reset the target's values after shake More...
 
bool UseRange = false
 whether or not to broadcast a range to only affect certain shakers More...
 
float EventRange = 100f
 the range of the event, in units More...
 
Transform EventOriginTransform
 the transform to use to broadcast the event as origin point 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 = true
 if this is true, the light will be disabled when this feedbacks is stopped More...
 
bool ModifyColor = true
 whether or not to modify the color of the light More...
 
Gradient ColorOverTime
 the colors to apply to the light over time More...
 
Color InstantColor
 the color to move to in instant mode More...
 
AnimationCurve IntensityCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 the curve to tween the intensity on More...
 
float RemapIntensityZero = 0f
 the value to remap the intensity curve's 0 to More...
 
float RemapIntensityOne = 1f
 the value to remap the intensity curve's 1 to More...
 
float InstantIntensity
 the value to move the intensity to in instant mode More...
 
AnimationCurve RangeCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 the range to apply to the light over time More...
 
float RemapRangeZero = 0f
 the value to remap the range curve's 0 to More...
 
float RemapRangeOne = 10f
 the value to remap the range curve's 0 to More...
 
float InstantRange
 the value to move the intensity to in instant mode More...
 
AnimationCurve ShadowStrengthCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 the range to apply to the light over time More...
 
float RemapShadowStrengthZero = 0f
 the value to remap the shadow strength's curve's 0 to More...
 
float RemapShadowStrengthOne = 1f
 the value to remap the shadow strength's curve's 1 to More...
 
float InstantShadowStrength
 the value to move the shadow strength to in instant mode 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 CustomInitialization (GameObject owner)
 On init we turn the light off if needed More...
 
override void CustomPlayFeedback (Vector3 position, float feedbacksIntensity=1.0f)
 On Play we turn our light on and start an over time coroutine if needed More...
 
virtual IEnumerator LightSequence (float intensityMultiplier)
 This coroutine will modify the intensity and color of the light over time More...
 
virtual void SetLightValues (float time, float intensityMultiplier)
 Sets the various values on the light on a specified time (between 0 and 1) More...
 
override void CustomStopFeedback (Vector3 position, float feedbacksIntensity=1)
 Turns the light off on stop More...
 
virtual void Turn (bool status)
 Turns the light on or off 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 CustomReset ()
 This method describes what happens when the feedback gets reset More...
 

Protected Attributes

float _initialRange
 
float _initialShadowStrength
 
float _initialIntensity
 
Coroutine _coroutine
 
- 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

override float? FeedbackDuration [get, set]
 the duration of this feedback is the duration of the light, or 0 if instant More...
 
- 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...
 

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...
 

Detailed Description

This feedback will let you control the color and intensity of a Light when played

Member Enumeration Documentation

◆ Modes

sets the inspector color for this feedback

the possible modes for this feedback

Enumerator
OverTime 
Instant 
ShakerEvent 

Member Function Documentation

◆ CustomInitialization()

override void MoreMountains.Feedbacks.MMFeedbackLight.CustomInitialization ( GameObject  owner)
protectedvirtual

On init we turn the light off if needed

Parameters
owner

Reimplemented from MoreMountains.Feedbacks.MMFeedback.

◆ CustomPlayFeedback()

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

On Play we turn our light on and start an over time coroutine if needed

Parameters
position
feedbacksIntensity

Implements MoreMountains.Feedbacks.MMFeedback.

◆ CustomStopFeedback()

override void MoreMountains.Feedbacks.MMFeedbackLight.CustomStopFeedback ( Vector3  position,
float  feedbacksIntensity = 1 
)
protectedvirtual

Turns the light off on stop

Parameters
position
feedbacksIntensity

Reimplemented from MoreMountains.Feedbacks.MMFeedback.

◆ LightSequence()

virtual IEnumerator MoreMountains.Feedbacks.MMFeedbackLight.LightSequence ( float  intensityMultiplier)
protectedvirtual

This coroutine will modify the intensity and color of the light over time

Returns

◆ SetLightValues()

virtual void MoreMountains.Feedbacks.MMFeedbackLight.SetLightValues ( float  time,
float  intensityMultiplier 
)
protectedvirtual

Sets the various values on the light on a specified time (between 0 and 1)

Parameters
time

◆ Turn()

virtual void MoreMountains.Feedbacks.MMFeedbackLight.Turn ( bool  status)
protectedvirtual

Turns the light on or off

Parameters
status

Member Data Documentation

◆ _coroutine

Coroutine MoreMountains.Feedbacks.MMFeedbackLight._coroutine
protected

◆ _initialIntensity

float MoreMountains.Feedbacks.MMFeedbackLight._initialIntensity
protected

◆ _initialRange

float MoreMountains.Feedbacks.MMFeedbackLight._initialRange
protected

◆ _initialShadowStrength

float MoreMountains.Feedbacks.MMFeedbackLight._initialShadowStrength
protected

◆ AllowAdditivePlays

bool MoreMountains.Feedbacks.MMFeedbackLight.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

◆ BoundLight

Light MoreMountains.Feedbacks.MMFeedbackLight.BoundLight

the light to affect when playing the feedback

◆ Channel

int MoreMountains.Feedbacks.MMFeedbackLight.Channel = 0

the channel to broadcast on

◆ ColorOverTime

Gradient MoreMountains.Feedbacks.MMFeedbackLight.ColorOverTime

the colors to apply to the light over time

◆ DisableOnStop

bool MoreMountains.Feedbacks.MMFeedbackLight.DisableOnStop = true

if this is true, the light will be disabled when this feedbacks is stopped

◆ Duration

float MoreMountains.Feedbacks.MMFeedbackLight.Duration = 0.2f

how long the light should change over time

◆ EventOriginTransform

Transform MoreMountains.Feedbacks.MMFeedbackLight.EventOriginTransform

the transform to use to broadcast the event as origin point

◆ EventRange

float MoreMountains.Feedbacks.MMFeedbackLight.EventRange = 100f

the range of the event, in units

◆ FeedbackTypeAuthorized

bool MoreMountains.Feedbacks.MMFeedbackLight.FeedbackTypeAuthorized = true
static

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

◆ InstantColor

Color MoreMountains.Feedbacks.MMFeedbackLight.InstantColor

the color to move to in instant mode

◆ InstantIntensity

float MoreMountains.Feedbacks.MMFeedbackLight.InstantIntensity

the value to move the intensity to in instant mode

◆ InstantRange

float MoreMountains.Feedbacks.MMFeedbackLight.InstantRange

the value to move the intensity to in instant mode

◆ InstantShadowStrength

float MoreMountains.Feedbacks.MMFeedbackLight.InstantShadowStrength

the value to move the shadow strength to in instant mode

◆ IntensityCurve

AnimationCurve MoreMountains.Feedbacks.MMFeedbackLight.IntensityCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

the curve to tween the intensity on

◆ Mode

Modes MoreMountains.Feedbacks.MMFeedbackLight.Mode = Modes.OverTime

whether the feedback should affect the light instantly or over a period of time

◆ ModifyColor

bool MoreMountains.Feedbacks.MMFeedbackLight.ModifyColor = true

whether or not to modify the color of the light

◆ RangeCurve

AnimationCurve MoreMountains.Feedbacks.MMFeedbackLight.RangeCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

the range to apply to the light over time

◆ RelativeValues

bool MoreMountains.Feedbacks.MMFeedbackLight.RelativeValues = true

whether or not the values should be relative or not

◆ RemapIntensityOne

float MoreMountains.Feedbacks.MMFeedbackLight.RemapIntensityOne = 1f

the value to remap the intensity curve's 1 to

◆ RemapIntensityZero

float MoreMountains.Feedbacks.MMFeedbackLight.RemapIntensityZero = 0f

the value to remap the intensity curve's 0 to

◆ RemapRangeOne

float MoreMountains.Feedbacks.MMFeedbackLight.RemapRangeOne = 10f

the value to remap the range curve's 0 to

◆ RemapRangeZero

float MoreMountains.Feedbacks.MMFeedbackLight.RemapRangeZero = 0f

the value to remap the range curve's 0 to

◆ RemapShadowStrengthOne

float MoreMountains.Feedbacks.MMFeedbackLight.RemapShadowStrengthOne = 1f

the value to remap the shadow strength's curve's 1 to

◆ RemapShadowStrengthZero

float MoreMountains.Feedbacks.MMFeedbackLight.RemapShadowStrengthZero = 0f

the value to remap the shadow strength's curve's 0 to

◆ ResetShakerValuesAfterShake

bool MoreMountains.Feedbacks.MMFeedbackLight.ResetShakerValuesAfterShake = true

whether or not to reset shaker values after shake

◆ ResetTargetValuesAfterShake

bool MoreMountains.Feedbacks.MMFeedbackLight.ResetTargetValuesAfterShake = true

whether or not to reset the target's values after shake

◆ ShadowStrengthCurve

AnimationCurve MoreMountains.Feedbacks.MMFeedbackLight.ShadowStrengthCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

the range to apply to the light over time

◆ StartsOff

bool MoreMountains.Feedbacks.MMFeedbackLight.StartsOff = true

whether or not that light should be turned off on start

◆ UseRange

bool MoreMountains.Feedbacks.MMFeedbackLight.UseRange = false

whether or not to broadcast a range to only affect certain shakers

Property Documentation

◆ FeedbackDuration

override float? MoreMountains.Feedbacks.MMFeedbackLight.FeedbackDuration
getset

the duration of this feedback is the duration of the light, or 0 if instant


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