コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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)));
            }
        }