MMFeedbacks  v1.6
Public Types | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation Class Reference

This feedback will instantiate a particle system and play/stop it when playing/stopping the feedback More...

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

Public Types

enum  PositionModes { PositionModes.FeedbackPosition, PositionModes.Transform, PositionModes.WorldPosition, PositionModes.Script }
 sets the inspector color for this feedback More...
 
enum  Modes { Modes.Cached, Modes.OnDemand }
 

Public Attributes

Modes Mode = Modes.Cached
 whether the particle system should be cached or created on demand the first time More...
 
bool CachedRecycle = true
 if this is false, a brand new particle system will be created every time More...
 
ParticleSystem ParticlesPrefab
 the particle system to spawn More...
 
List< ParticleSystem > RandomParticlePrefabs
 the possible random particle systems More...
 
PositionModes PositionMode = PositionModes.FeedbackPosition
 the selected position mode More...
 
Transform InstantiateParticlesPosition
 the position at which to spawn this particle system More...
 
Vector3 TargetWorldPosition
 
Vector3 Offset
 an offset to apply to the instantiation position More...
 
bool NestParticles = true
 whether or not the particle system should be nested in hierarchy or floating on its own 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 CustomInitialization (GameObject owner)
 On init, instantiates the particle system, positions it and nests it if needed More...
 
virtual void InstantiateParticleSystem ()
 Instantiates the particle system More...
 
virtual void PositionParticleSystem (ParticleSystem system)
 
virtual Vector3 GetPosition (Vector3 position)
 Gets the position More...
 
override void CustomPlayFeedback (Vector3 position, float attenuation=1.0f)
 On Play, plays the feedback More...
 
override void CustomStopFeedback (Vector3 position, float attenuation=1.0f)
 On Stop, stops the feedback More...
 
override void CustomReset ()
 On Reset, stops the feedback More...
 
- Protected Member Functions inherited from MoreMountains.Feedbacks.MMFeedback
virtual IEnumerator PlayCoroutine (Vector3 position, float attenuation=1.0f)
 An internal coroutine delaying the initial play of the feedback More...
 
virtual void RegularPlay (Vector3 position, float attenuation=1.0f)
 Triggers delaying coroutines if needed More...
 
virtual IEnumerator InfinitePlay (Vector3 position, float attenuation=1.0f)
 Internal coroutine used for repeated play without end More...
 
virtual IEnumerator RepeatedPlay (Vector3 position, float attenuation=1.0f)
 Internal coroutine used for repeated play More...
 
virtual IEnumerator SequenceCoroutine (Vector3 position, float attenuation=1.0f)
 A coroutine used to play this feedback on a sequence More...
 

Protected Attributes

ParticleSystem _instantiatedParticleSystem
 
List< ParticleSystem > _instantiatedRandomParticleSystems
 
- Protected Attributes inherited from MoreMountains.Feedbacks.MMFeedback
WaitForSeconds _initialDelayWaitForSeconds
 
WaitForSeconds _betweenDelayWaitForSeconds
 
WaitForSeconds _sequenceDelayWaitForSeconds
 
float _lastPlayTimestamp = -1f
 
int _playsLeft
 
bool _initialized = false
 
Coroutine _playCoroutine
 
Coroutine _infinitePlayCoroutine
 
Coroutine _sequenceCoroutine
 
Coroutine _repeatedPlayCoroutine
 
int _sequenceTrackID = 0
 
float _beatInterval
 
bool BeatThisFrame = false
 
int LastBeatIndex = 0
 
int CurrentSequenceIndex = 0
 
float LastBeatTimestamp = 0f
 

Additional Inherited Members

- Public Member Functions inherited from MoreMountains.Feedbacks.MMFeedback
virtual void Initialization (GameObject owner)
 Initializes the feedback and its timing related variables More...
 
virtual void Play (Vector3 position, float attenuation=1.0f)
 Plays the feedback More...
 
virtual void Stop (Vector3 position, float attenuation=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...
 
- Properties inherited from MoreMountains.Feedbacks.MMFeedback
GameObject Owner [get, set]
 the Owner of the feedback, as defined when calling the Initialization method More...
 
virtual YieldInstruction 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 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...
 
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...
 
virtual float FeedbackStartedAt [get]
 
virtual float FeedbackDuration [get]
 
virtual bool FeedbackPlaying [get]
 whether or not this feedback is playing right now More...
 

Detailed Description

This feedback will instantiate a particle system and play/stop it when playing/stopping the feedback

Member Enumeration Documentation

◆ Modes

the possible delivery modes

  • cached : will cache a copy of the particle system and reuse it
  • on demand : will instantiate a new particle system for every play
Enumerator
Cached 
OnDemand 

◆ PositionModes

sets the inspector color for this feedback

the different ways to position the instantiated object :

  • FeedbackPosition : object will be instantiated at the position of the feedback, plus an optional offset
  • Transform : the object will be instantiated at the specified Transform's position, plus an optional offset
  • WorldPosition : the object will be instantiated at the specified world position vector, plus an optional offset
  • Script : the position passed in parameters when calling the feedback
Enumerator
FeedbackPosition 
Transform 
WorldPosition 
Script 

Member Function Documentation

◆ CustomInitialization()

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

On init, instantiates the particle system, positions it and nests it if needed

Parameters
owner

Reimplemented from MoreMountains.Feedbacks.MMFeedback.

◆ CustomPlayFeedback()

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

On Play, plays the feedback

Parameters
position
attenuation

Implements MoreMountains.Feedbacks.MMFeedback.

◆ CustomReset()

override void MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.CustomReset ( )
protectedvirtual

On Reset, stops the feedback

Reimplemented from MoreMountains.Feedbacks.MMFeedback.

◆ CustomStopFeedback()

override void MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.CustomStopFeedback ( Vector3  position,
float  attenuation = 1.0f 
)
protectedvirtual

On Stop, stops the feedback

Parameters
position
attenuation

Reimplemented from MoreMountains.Feedbacks.MMFeedback.

◆ GetPosition()

virtual Vector3 MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.GetPosition ( Vector3  position)
protectedvirtual

Gets the position

Parameters
position
Returns

◆ InstantiateParticleSystem()

virtual void MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.InstantiateParticleSystem ( )
protectedvirtual

Instantiates the particle system

◆ PositionParticleSystem()

virtual void MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.PositionParticleSystem ( ParticleSystem  system)
protectedvirtual

Member Data Documentation

◆ _instantiatedParticleSystem

ParticleSystem MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation._instantiatedParticleSystem
protected

◆ _instantiatedRandomParticleSystems

List<ParticleSystem> MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation._instantiatedRandomParticleSystems
protected

◆ CachedRecycle

bool MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.CachedRecycle = true

if this is false, a brand new particle system will be created every time

◆ InstantiateParticlesPosition

Transform MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.InstantiateParticlesPosition

the position at which to spawn this particle system

◆ Mode

Modes MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.Mode = Modes.Cached

whether the particle system should be cached or created on demand the first time

◆ NestParticles

bool MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.NestParticles = true

whether or not the particle system should be nested in hierarchy or floating on its own

◆ Offset

Vector3 MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.Offset

an offset to apply to the instantiation position

◆ ParticlesPrefab

ParticleSystem MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.ParticlesPrefab

the particle system to spawn

◆ PositionMode

PositionModes MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.PositionMode = PositionModes.FeedbackPosition

the selected position mode

◆ RandomParticlePrefabs

List<ParticleSystem> MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.RandomParticlePrefabs

the possible random particle systems

◆ TargetWorldPosition

Vector3 MoreMountains.Feedbacks.MMFeedbackParticlesInstantiation.TargetWorldPosition

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