Ejemplo n.º 1
0
    private void Awake()
    {
        enemyProjectileShooter = GetComponent <IProjectileShooter>();

        enemyProjectileSpawnPointProvider = GetComponent <ISpawnPointProvider <Transform> >();

        enemyRowMovementHandler = GetComponent <IMovementHandler <EnemyRow> >();
    }
Ejemplo n.º 2
0
        public void Fire()
        {
            if (shooter == null)
            {
                shooter = GetComponent <IProjectileShooter>();
            }

            shooter?.Fire();
        }
Ejemplo n.º 3
0
 public void PickupProjectileShooter(IProjectileShooter projectileShooter)
 {
     if (projectileShooter == null)
     {
         return;
     }
     _holster.Add(projectileShooter);
     EmitChatAdded("Picked up " + projectileShooter.GetProjectileShooterName());
 }
Ejemplo n.º 4
0
        private void Start()
        {
            if (objectToRotate == null)
            {
                objectToRotate = transform;
            }
            shooter = gameObject.GetComponentInChildren <IProjectileShooter>();

            InitSpawnPattern(spawnFrequency);
            InitRotatePattern(rotationFrequency);

            delayPassedTime = Time.time + Random.Range(initialDelayMin, initialDelayMax);
        }
Ejemplo n.º 5
0
        /// <summary>
        ///   Adds a projectile shooter to the inventory at the first free spot.
        ///   Does nothing if all spots are occupied.
        /// </summary>
        /// <param name="projectileShooter">
        ///   The projectile shooter that should be added.
        /// </param>
        /// <exception cref="NullReferenceException">
        ///   If the provided projectile shooter is null.
        /// </exception>
        public void Add(IProjectileShooter projectileShooter)
        {
            if (projectileShooter == null)
            {
                throw new NullReferenceException("Projectile shooter cannot be null.");
            }

            for (var i = 0; i < _projectileShooters.Length; i++)
            {
                if (_projectileShooters[i] == null)
                {
                    _projectileShooters[i] = projectileShooter;
                    break;
                }
            }
        }
Ejemplo n.º 6
0
 public override void _Ready()
 {
     ProjectileShooter = ProjectileShooterFactory.CreateShotgun();
     _lootPlayer       = GetNode <AudioStreamPlayer>("LootPlayer");
 }