protected virtual void FireProjectile() { if (m_TrackingTarget == null) { return; } if (attackerData.IsMultiAttack) { List <EntityTargetable> enemies = towerTargetter.GetAllTargets(); m_Launcher.Launch( enemies, attackerData, projectileData, epicenter.position, projectilePoints); } else { m_Launcher.Launch( m_TrackingTarget, attackerData, projectileData, epicenter.position, projectilePoints); } if (randomSound != null) { GameEntry.Sound.PlaySound(randomSound.GetRandomSound(), ownerEntity); } }
protected virtual void Dead() { if (OnDead != null) { OnDead(this); } if (deadEffect != null) { GameEntry.Event.Fire(this, ShowEntityInLevelEventArgs.Create( (int)deadEffect.deadEffectEntity, typeof(EntityParticleAutoHide), null, EntityDataFollower.Create(randomSound ? randomSound.GetRandomSound() : EnumSound.None, transform.position + DeadEffectOffset, transform.rotation))); } }