Example #1
0
 protected override void GetDamage(float damage)
 {
     base.GetDamage(damage);
     _render.enabled = false;
     _isValidTarget  = false;
     _setvisible.AddTimeRemaining();
 }
Example #2
0
        protected virtual void HitCheck()
        {
            Collider[] colliders = new Collider[10];
            Physics.OverlapSphereNonAlloc(_transform.position, _meleeHitRange, colliders);

            for (int i = 0; i < colliders.Length; i++)
            {
                if (colliders[i] != null)
                {
                    if (colliders[i].CompareTag(TagManager.GetTag(TagType.Target)))
                    {
                        var mainBuilding = Services.Instance.LevelService.MainBuilds;
                        mainBuilding.GetDamage(_damage);
                        if (_levelService.ActiveEnemies.Contains(this))
                            _levelService.ActiveEnemies.Remove(this);
                        Object.Destroy(_enemyObject);
                        if (_levelService.ActiveEnemies.Count == 0 && Services.Instance.LevelService.IsLevelSpawnEnded)
                        {
                            _levelService.EndLevel();
                        }
                    }
                    else if (colliders[i].CompareTag(TagManager.GetTag(TagType.Player)))
                    {
                        if (_currentHitCooldown == 0)
                        {
                            Services.Instance.LevelService.CharacterBehaviour.SetArmor(_damage);
                            _currentHitCooldown = _hitCooldown;
                        }
                        Services.Instance.LevelService.CharacterBehaviour.RamEnemy(this);
                        _stoping.AddTimeRemaining();
                       
                       
                    }
                    else if (colliders[i].CompareTag(TagManager.GetTag(TagType.Block)))
                    {
                        if (_currentHitCooldown == 0)
                        {
                            Services.Instance.LevelService.CharacterBehaviour.SetDamage(_damage);
                            _currentHitCooldown = _hitCooldown;
                        }
                        _stoping.AddTimeRemaining();
                    }
                }  
            }
        }
Example #3
0
        public void Spawn(Transform transform, Quaternion quaternion)
        {
            _bullet = Transform.Instantiate(_prefab, transform.position, quaternion);
            BonusBullet BonusBullet = new BonusBullet();

            BonusBullet = this;
            Services.Instance.LevelService.ActiveBonusBullet.Add(BonusBullet);
            _lifeTimer.AddTimeRemaining();
        }
 public void Initialization()
 {
     if (_spawnPoints == null)
     {
         _spawnPoints = GameObject.FindGameObjectsWithTag(TagManager.GetTag(TagType.BonusPoint));
     }
     _spawnInvoker = new TimeRemaining(SpawnBonus, _spawnTime, true);
     _spawnInvoker.AddTimeRemaining();
     _bonuses = new BonusList();
 }
Example #5
0
 public virtual void Spawn(Vector3 position)
 {
     _bonus = Object.Instantiate(_prefab, position, Quaternion.identity);
     Services.Instance.LevelService.ActiveBonus.Add(this);
     _lifeTimer.AddTimeRemaining();
 }