private void UpdateComponents() { if (this._firstComponentUpdate) { Component[] array = this.components; for (int i = 0; i < array.Length; i++) { DetonatorComponent detonatorComponent = (DetonatorComponent)array[i]; detonatorComponent.Init(); detonatorComponent.SetStartValues(); } this._firstComponentUpdate = false; } if (!this._firstComponentUpdate) { Component[] array2 = this.components; for (int j = 0; j < array2.Length; j++) { DetonatorComponent detonatorComponent2 = (DetonatorComponent)array2[j]; if (detonatorComponent2.detonatorControlled) { detonatorComponent2.size = detonatorComponent2.startSize * (this.size / Detonator._baseSize); detonatorComponent2.timeScale = this.duration / Detonator._baseDuration; detonatorComponent2.detail = detonatorComponent2.startDetail * this.detail; detonatorComponent2.color = Color.Lerp(detonatorComponent2.startColor, this.color, this.color.a); } } } }
public void Explode() { this._lastExplosionTime = Time.get_time(); Component[] array = this.components; for (int i = 0; i < array.Length; i++) { DetonatorComponent detonatorComponent = (DetonatorComponent)array[i]; this.UpdateComponents(); detonatorComponent.Explode(); } }
private void Awake() { this.FillDefaultMaterials(); this.components = base.GetComponents(typeof(DetonatorComponent)); Component[] array = this.components; for (int i = 0; i < array.Length; i++) { DetonatorComponent detonatorComponent = (DetonatorComponent)array[i]; if (detonatorComponent is DetonatorFireball) { this._fireball = (detonatorComponent as DetonatorFireball); } if (detonatorComponent is DetonatorSparks) { this._sparks = (detonatorComponent as DetonatorSparks); } if (detonatorComponent is DetonatorShockwave) { this._shockwave = (detonatorComponent as DetonatorShockwave); } if (detonatorComponent is DetonatorSmoke) { this._smoke = (detonatorComponent as DetonatorSmoke); } if (detonatorComponent is DetonatorGlow) { this._glow = (detonatorComponent as DetonatorGlow); } if (detonatorComponent is DetonatorLight) { this._light = (detonatorComponent as DetonatorLight); } if (detonatorComponent is DetonatorForce) { this._force = (detonatorComponent as DetonatorForce); } if (detonatorComponent is DetonatorHeatwave) { this._heatwave = (detonatorComponent as DetonatorHeatwave); } } if (!this._fireball && this.autoCreateFireball) { this._fireball = (base.get_gameObject().AddComponent("DetonatorFireball") as DetonatorFireball); this._fireball.Reset(); } if (!this._smoke && this.autoCreateSmoke) { this._smoke = (base.get_gameObject().AddComponent("DetonatorSmoke") as DetonatorSmoke); this._smoke.Reset(); } if (!this._sparks && this.autoCreateSparks) { this._sparks = (base.get_gameObject().AddComponent("DetonatorSparks") as DetonatorSparks); this._sparks.Reset(); } if (!this._shockwave && this.autoCreateShockwave) { this._shockwave = (base.get_gameObject().AddComponent("DetonatorShockwave") as DetonatorShockwave); this._shockwave.Reset(); } if (!this._glow && this.autoCreateGlow) { this._glow = (base.get_gameObject().AddComponent("DetonatorGlow") as DetonatorGlow); this._glow.Reset(); } if (!this._light && this.autoCreateLight) { this._light = (base.get_gameObject().AddComponent("DetonatorLight") as DetonatorLight); this._light.Reset(); } if (!this._force && this.autoCreateForce) { this._force = (base.get_gameObject().AddComponent("DetonatorForce") as DetonatorForce); this._force.Reset(); } if (!this._heatwave && this.autoCreateHeatwave && SystemInfo.get_supportsImageEffects()) { this._heatwave = (base.get_gameObject().AddComponent("DetonatorHeatwave") as DetonatorHeatwave); this._heatwave.Reset(); } this.components = base.GetComponents(typeof(DetonatorComponent)); }