void OnEnable() { if (!EffectParams.IsNull()) { effectObj = EffectParams.Create(transform); } effectObj.PlayAndDestroy(); }
private void Explode() { if (!factory.ExplodeEffect.IsNull()) { explodeEffObj = factory.ExplodeEffect.Create(xform.position); explodeEffObj.PlayAndDestroy(); } if (!factory.GroundEffect.IsNull()) { Vector3 groundPoint = ExplosionParamSettings.Params.Agent.GetGroundEffectPosition(xform.position); if (xform.position.y - groundPoint.y <= factory.MaxHeightToShowGroundEffect) { groundEffObj = factory.GroundEffect.Create(groundPoint); groundEffObj.PlayAndDestroy(); } } if (factory.EnergyOutput != null) { factory.EnergyOutput.Send(Sender, this, xform.position, OnOutputComplete); } }