Example #1
0
        /// <summary>
        /// Stop our particle emitters to remove any fires.
        /// </summary>
        private void StopEmitters()
        {
            ParticleEmitter0.Unattach();
            ParticleEmitter1.Unattach();
            ParticleEmitter2.Unattach();
            ParticleEmitter3.Unattach();

            ParticleEmitter0.Emitting = false;
            ParticleEmitter1.Emitting = false;
            ParticleEmitter2.Emitting = false;
            ParticleEmitter3.Emitting = false;
        }
Example #2
0
        /// <summary>
        /// Set fires on the base depending on its damage state.
        /// </summary>
        public void SetEmitters()
        {
            if (this.DamageStatus == DamageState.Minor)
            {
                if (previousDamageState != this.DamageStatus)
                {
                    ParticleEmitter0.Attach(this, "Emitter0");
                    ParticleEmitter0.Emitting = true;

                    //In the case of an incrementing DamageState, we need to ensure the other emitters
                    // are off.
                    ParticleEmitter1.Emitting = false;
                    ParticleEmitter2.Emitting = false;
                    ParticleEmitter3.Emitting = false;
                }
            }
            else if (this.DamageStatus == DamageState.Moderate)
            {
                if (previousDamageState != this.DamageStatus)
                {
                    ParticleEmitter1.Attach(this, "Emitter2");
                    ParticleEmitter1.Emitting = true;

                    ParticleEmitter2.Emitting = false;
                    ParticleEmitter3.Emitting = false;
                }
            }
            else if (this.DamageStatus == DamageState.Critical)
            {
                if (previousDamageState != this.DamageStatus)
                {
                    ParticleEmitter2.Attach(this, "Emitter3");
                    ParticleEmitter3.Attach(this, "Emitter1");
                    ParticleEmitter2.Emitting = true;
                    ParticleEmitter3.Emitting = true;
                }
            }

            if (previousDamageState != this.DamageStatus)
            {
                previousDamageState = this.DamageStatus;
            }
        }