Feel 5.9.1
The best way to improve your game's feel and make it extra juicy
Loading...
Searching...
No Matches
MoreMountains.Feedbacks.MMBlink Class Reference

Add this class to a GameObject to make it blink, either by enabling/disabling a gameobject, changing its alpha, emission intensity, or a value on a shader) More...

Inheritance diagram for MoreMountains.Feedbacks.MMBlink:
MoreMountains.Tools.MMMonoBehaviour

Public Types

enum  States { On , Off }
 the possible states of the blinking object More...
enum  Methods { SetGameObjectActive , MaterialAlpha , MaterialEmissionIntensity , ShaderFloatValue }
 the possible methods to blink an object More...

Public Member Functions

virtual float GetTime ()
virtual float GetDeltaTime ()
virtual void ToggleBlinking ()
 Makes the object blink if it wasn't already blinking, stops it otherwise.
virtual void StartBlinking ()
 Makes the object start blinking.
virtual void StopBlinking ()
 Makes the object stop blinking.

Public Attributes

Methods Method = Methods.SetGameObjectActive
 the selected method to blink the target object
GameObject TargetGameObject
 the object to set active/inactive if that method was chosen
Renderer TargetRenderer
 the target renderer to work with
int MaterialIndex = 0
 the material index to target
string ShaderPropertyName = "_Color"
 the shader property to alter a float on
float OffValue = 0f
 the value to apply when blinking is off
float OnValue = 1f
 the value to apply when blinking is on
bool LerpValue = true
 whether to lerp these values or not
AnimationCurve Curve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1.05f), new Keyframe(1, 0))
 the curve to apply to the lerping
bool UseMaterialPropertyBlocks = false
 if this is true, this component will use material property blocks instead of working on an instance of the material.
List< BlinkTargetRendererExtraRenderers
 a list of optional extra renderers and their material index to target
List< GameObject > ExtraGameObjects
 a list of optional extra game objects to target
bool Blinking = true
 whether the object should blink or not
bool ForceStateOnExit = false
 whether or not to force a certain state on exit
States StateOnExit = States.On
 the state to apply on exit
TimescaleModes TimescaleMode = TimescaleModes.Scaled
 whether or not this MMBlink should operate on unscaled time
int RepeatCount = 0
 how many times the sequence should repeat (-1 : infinite)
List< BlinkPhasePhases
 The list of phases to apply blinking with.
bool DebugToolbar
bool Active = false
 is the blinking object in an active state right now?
int CurrentPhaseIndex = 0
 the index of the phase we're currently in

Protected Member Functions

virtual void Update ()
 On Update, we blink if we are supposed to.
virtual void DetermineState ()
 Determines the current phase and determines whether the object should be active or inactive.
virtual void Blink ()
 Blinks the object based on its computed state.
virtual void ApplyBlink (bool active, float value)
 Applies the blink to the object based on its type.
virtual void ApplyFloatValue (Renderer targetRenderer, float value, int materialIndex)
virtual void ApplyCurrentColor (Renderer targetRenderer, int materialIndex)
virtual void DetermineCurrentPhase ()
 Determines the current phase index based on phase durations.
virtual void OnEnable ()
 On enable, initializes blink properties.
virtual void InitializeBlinkProperties ()
 Resets counters and grabs properties and initial colors.
virtual void GetInitialColor ()
virtual void GetInitialFloatValue ()
virtual void ResetBlinkProperties ()
 Resets blinking properties to original values.
void OnDisable ()

Protected Attributes

float _lastBlinkAt = 0f
float _currentPhaseStartedAt = 0f
float _currentBlinkDuration
float _currentLerpDuration
int _propertyID
float _initialShaderFloatValue
Color _initialColor
Color _currentColor
int _repeatCount
MaterialPropertyBlock _propertyBlock
List< MaterialPropertyBlock > _extraPropertyBlocks
List< Color > _extraInitialColors

Properties

virtual float Duration [get]
 The duration of the blink is the sum of its phases' durations, plus the time it takes to repeat them all.

Detailed Description

Add this class to a GameObject to make it blink, either by enabling/disabling a gameobject, changing its alpha, emission intensity, or a value on a shader)

Member Enumeration Documentation

◆ Methods

the possible methods to blink an object

Enumerator
SetGameObjectActive 
MaterialAlpha 
MaterialEmissionIntensity 
ShaderFloatValue 

◆ States

the possible states of the blinking object

Enumerator
On 
Off 

Member Function Documentation

◆ ApplyBlink()

virtual void MoreMountains.Feedbacks.MMBlink.ApplyBlink ( bool active,
float value )
protectedvirtual

Applies the blink to the object based on its type.

Parameters
active
value

◆ ApplyCurrentColor()

virtual void MoreMountains.Feedbacks.MMBlink.ApplyCurrentColor ( Renderer targetRenderer,
int materialIndex )
protectedvirtual

◆ ApplyFloatValue()

virtual void MoreMountains.Feedbacks.MMBlink.ApplyFloatValue ( Renderer targetRenderer,
float value,
int materialIndex )
protectedvirtual

◆ Blink()

virtual void MoreMountains.Feedbacks.MMBlink.Blink ( )
protectedvirtual

Blinks the object based on its computed state.

◆ DetermineCurrentPhase()

virtual void MoreMountains.Feedbacks.MMBlink.DetermineCurrentPhase ( )
protectedvirtual

Determines the current phase index based on phase durations.

◆ DetermineState()

virtual void MoreMountains.Feedbacks.MMBlink.DetermineState ( )
protectedvirtual

Determines the current phase and determines whether the object should be active or inactive.

◆ GetDeltaTime()

virtual float MoreMountains.Feedbacks.MMBlink.GetDeltaTime ( )
virtual

◆ GetInitialColor()

virtual void MoreMountains.Feedbacks.MMBlink.GetInitialColor ( )
protectedvirtual

◆ GetInitialFloatValue()

virtual void MoreMountains.Feedbacks.MMBlink.GetInitialFloatValue ( )
protectedvirtual

◆ GetTime()

virtual float MoreMountains.Feedbacks.MMBlink.GetTime ( )
virtual

◆ InitializeBlinkProperties()

virtual void MoreMountains.Feedbacks.MMBlink.InitializeBlinkProperties ( )
protectedvirtual

Resets counters and grabs properties and initial colors.

◆ OnDisable()

void MoreMountains.Feedbacks.MMBlink.OnDisable ( )
protected

◆ OnEnable()

virtual void MoreMountains.Feedbacks.MMBlink.OnEnable ( )
protectedvirtual

On enable, initializes blink properties.

◆ ResetBlinkProperties()

virtual void MoreMountains.Feedbacks.MMBlink.ResetBlinkProperties ( )
protectedvirtual

Resets blinking properties to original values.

◆ StartBlinking()

virtual void MoreMountains.Feedbacks.MMBlink.StartBlinking ( )
virtual

Makes the object start blinking.

◆ StopBlinking()

virtual void MoreMountains.Feedbacks.MMBlink.StopBlinking ( )
virtual

Makes the object stop blinking.

◆ ToggleBlinking()

virtual void MoreMountains.Feedbacks.MMBlink.ToggleBlinking ( )
virtual

Makes the object blink if it wasn't already blinking, stops it otherwise.

◆ Update()

virtual void MoreMountains.Feedbacks.MMBlink.Update ( )
protectedvirtual

On Update, we blink if we are supposed to.

Member Data Documentation

◆ _currentBlinkDuration

float MoreMountains.Feedbacks.MMBlink._currentBlinkDuration
protected

◆ _currentColor

Color MoreMountains.Feedbacks.MMBlink._currentColor
protected

◆ _currentLerpDuration

float MoreMountains.Feedbacks.MMBlink._currentLerpDuration
protected

◆ _currentPhaseStartedAt

float MoreMountains.Feedbacks.MMBlink._currentPhaseStartedAt = 0f
protected

◆ _extraInitialColors

List<Color> MoreMountains.Feedbacks.MMBlink._extraInitialColors
protected

◆ _extraPropertyBlocks

List<MaterialPropertyBlock> MoreMountains.Feedbacks.MMBlink._extraPropertyBlocks
protected

◆ _initialColor

Color MoreMountains.Feedbacks.MMBlink._initialColor
protected

◆ _initialShaderFloatValue

float MoreMountains.Feedbacks.MMBlink._initialShaderFloatValue
protected

◆ _lastBlinkAt

float MoreMountains.Feedbacks.MMBlink._lastBlinkAt = 0f
protected

◆ _propertyBlock

MaterialPropertyBlock MoreMountains.Feedbacks.MMBlink._propertyBlock
protected

◆ _propertyID

int MoreMountains.Feedbacks.MMBlink._propertyID
protected

◆ _repeatCount

int MoreMountains.Feedbacks.MMBlink._repeatCount
protected

◆ Active

bool MoreMountains.Feedbacks.MMBlink.Active = false

is the blinking object in an active state right now?

◆ Blinking

bool MoreMountains.Feedbacks.MMBlink.Blinking = true

whether the object should blink or not

◆ CurrentPhaseIndex

int MoreMountains.Feedbacks.MMBlink.CurrentPhaseIndex = 0

the index of the phase we're currently in

◆ Curve

AnimationCurve MoreMountains.Feedbacks.MMBlink.Curve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1.05f), new Keyframe(1, 0))

the curve to apply to the lerping

◆ DebugToolbar

bool MoreMountains.Feedbacks.MMBlink.DebugToolbar

◆ ExtraGameObjects

List<GameObject> MoreMountains.Feedbacks.MMBlink.ExtraGameObjects

a list of optional extra game objects to target

◆ ExtraRenderers

List<BlinkTargetRenderer> MoreMountains.Feedbacks.MMBlink.ExtraRenderers

a list of optional extra renderers and their material index to target

◆ ForceStateOnExit

bool MoreMountains.Feedbacks.MMBlink.ForceStateOnExit = false

whether or not to force a certain state on exit

◆ LerpValue

bool MoreMountains.Feedbacks.MMBlink.LerpValue = true

whether to lerp these values or not

◆ MaterialIndex

int MoreMountains.Feedbacks.MMBlink.MaterialIndex = 0

the material index to target

◆ Method

Methods MoreMountains.Feedbacks.MMBlink.Method = Methods.SetGameObjectActive

the selected method to blink the target object

◆ OffValue

float MoreMountains.Feedbacks.MMBlink.OffValue = 0f

the value to apply when blinking is off

◆ OnValue

float MoreMountains.Feedbacks.MMBlink.OnValue = 1f

the value to apply when blinking is on

◆ Phases

List<BlinkPhase> MoreMountains.Feedbacks.MMBlink.Phases

The list of phases to apply blinking with.

◆ RepeatCount

int MoreMountains.Feedbacks.MMBlink.RepeatCount = 0

how many times the sequence should repeat (-1 : infinite)

◆ ShaderPropertyName

string MoreMountains.Feedbacks.MMBlink.ShaderPropertyName = "_Color"

the shader property to alter a float on

◆ StateOnExit

States MoreMountains.Feedbacks.MMBlink.StateOnExit = States.On

the state to apply on exit

◆ TargetGameObject

GameObject MoreMountains.Feedbacks.MMBlink.TargetGameObject

the object to set active/inactive if that method was chosen

◆ TargetRenderer

Renderer MoreMountains.Feedbacks.MMBlink.TargetRenderer

the target renderer to work with

◆ TimescaleMode

TimescaleModes MoreMountains.Feedbacks.MMBlink.TimescaleMode = TimescaleModes.Scaled

whether or not this MMBlink should operate on unscaled time

◆ UseMaterialPropertyBlocks

bool MoreMountains.Feedbacks.MMBlink.UseMaterialPropertyBlocks = false

if this is true, this component will use material property blocks instead of working on an instance of the material.

Property Documentation

◆ Duration

virtual float MoreMountains.Feedbacks.MMBlink.Duration
get

The duration of the blink is the sum of its phases' durations, plus the time it takes to repeat them all.


The documentation for this class was generated from the following file:
  • H:/Code/MoreMountains/feel/Assets/Feel/MMFeedbacks/MMFeedbacks/Shakers/MMBlink.cs