TopDown Engine  v3.6
MoreMountains.TopDownEngine.MMFeedbackTopDownEngineFloatingText Class Reference

This feedback lets you trigger the appearance of a floating text, that will reflect the damage done to the target Health component. This requires that a MMFloatingTextSpawner be correctly setup in the scene, otherwise nothing will happen. To do so, create a new empty object, add a MMFloatingTextSpawner to it. Drag (at least) one MMFloatingText prefab into its PooledSimpleMMFloatingText slot. You'll find such prefabs already made in the MMTools/Tools/MMFloatingText/Prefabs folder, but feel free to create your own. More...

Inheritance diagram for MoreMountains.TopDownEngine.MMFeedbackTopDownEngineFloatingText:
MoreMountains.Feedbacks.MMFeedbackFloatingText MoreMountains.Feedbacks.MMFeedback

Public Attributes

Health TargetHealth
 the Health component where damage data should be read More...
 
string Formatting = ""
 
bool DamageDirectionImpactsTextDirection = true
 whether or not the direction of the damage should impact the direction of the floating text More...
 
float DamageDirectionMultiplier = 0.5f
 the multiplier to apply to the damage direction. Usually you'll want it to be less than 1. With a value of 0.5, a character being hit from the left will spawn a floating text at a 45° up/right angle More...
 
- Public Attributes inherited from MoreMountains.Feedbacks.MMFeedbackFloatingText
int Channel = 0
 the channel to require a floating text spawn on. This has to match the Channel value in the Pooler settings of your chosen MMFloatingTextSpawner More...
 
float Intensity = 1f
 the Intensity to spawn this text with, will act as a lifetime/movement/scale multiplier based on the spawner's settings More...
 
string Value = "100"
 the value to display when spawning this text More...
 
bool UseIntensityAsValue = false
 if this is true, the intensity passed to this feedback will be the value displayed More...
 
bool ForceColor = false
 whether or not to force a color on the new text, if not, the default colors of the spawner will be used More...
 
Gradient AnimateColorGradient = new Gradient()
 the gradient to apply over the lifetime of the text More...
 
bool ForceLifetime = false
 whether or not to force a lifetime on the new text, if not, the default colors of the spawner will be used More...
 
float Lifetime = 0.5f
 the forced lifetime for the spawned text More...
 
PositionModes PositionMode = PositionModes.FeedbackPosition
 where to spawn the new text (at the position of the feedback, or on a specified Transform) More...
 
Transform TargetTransform
 in transform mode, the Transform on which to spawn the new floating text More...
 
Vector3 Direction = Vector3.zero
 the direction to apply to the new floating text (leave it to 0 to let the Spawner decide based on its settings) 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...
 

Protected Member Functions

override void CustomPlayFeedback (Vector3 position, float attenuation=1.0f)
 On play, we ask for a floating text to be spawned More...
 
- Protected Member Functions inherited from MoreMountains.Feedbacks.MMFeedbackFloatingText
override void CustomPlayFeedback (Vector3 position, float feedbacksIntensity=1.0f)
 On play we ask the spawner on the specified channel to spawn a new floating text 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...
 

Additional Inherited Members

- Public Types inherited from MoreMountains.Feedbacks.MMFeedbackFloatingText
enum  PositionModes { PositionModes.TargetTransform, PositionModes.FeedbackPosition, PositionModes.PlayPosition }
 sets the inspector color for this feedback More...
 
- 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...
 
- Static Public Attributes inherited from MoreMountains.Feedbacks.MMFeedbackFloatingText
static bool FeedbackTypeAuthorized = true
 a static bool used to disable all feedbacks of this type at once More...
 
- Protected Attributes inherited from MoreMountains.Feedbacks.MMFeedbackFloatingText
Vector3 _playPosition
 
string _value
 
- 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.MMFeedbackFloatingText
override float FeedbackDuration [get, set]
 the duration of this feedback is a fixed value or the lifetime 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...
 

Detailed Description

This feedback lets you trigger the appearance of a floating text, that will reflect the damage done to the target Health component. This requires that a MMFloatingTextSpawner be correctly setup in the scene, otherwise nothing will happen. To do so, create a new empty object, add a MMFloatingTextSpawner to it. Drag (at least) one MMFloatingText prefab into its PooledSimpleMMFloatingText slot. You'll find such prefabs already made in the MMTools/Tools/MMFloatingText/Prefabs folder, but feel free to create your own.

Member Function Documentation

◆ CustomPlayFeedback()

override void MoreMountains.TopDownEngine.MMFeedbackTopDownEngineFloatingText.CustomPlayFeedback ( Vector3  position,
float  attenuation = 1.0f 
)
protectedvirtual

On play, we ask for a floating text to be spawned

Parameters
position
attenuation

Implements MoreMountains.Feedbacks.MMFeedback.

Member Data Documentation

◆ DamageDirectionImpactsTextDirection

bool MoreMountains.TopDownEngine.MMFeedbackTopDownEngineFloatingText.DamageDirectionImpactsTextDirection = true

whether or not the direction of the damage should impact the direction of the floating text

◆ DamageDirectionMultiplier

float MoreMountains.TopDownEngine.MMFeedbackTopDownEngineFloatingText.DamageDirectionMultiplier = 0.5f

the multiplier to apply to the damage direction. Usually you'll want it to be less than 1. With a value of 0.5, a character being hit from the left will spawn a floating text at a 45° up/right angle

◆ Formatting

string MoreMountains.TopDownEngine.MMFeedbackTopDownEngineFloatingText.Formatting = ""

◆ TargetHealth

Health MoreMountains.TopDownEngine.MMFeedbackTopDownEngineFloatingText.TargetHealth

the Health component where damage data should be read


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