protected override void GetDamage(float damage) { base.GetDamage(damage); _render.enabled = false; _isValidTarget = false; _setvisible.AddTimeRemaining(); }
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(); } } } }
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(); }
public virtual void Spawn(Vector3 position) { _bonus = Object.Instantiate(_prefab, position, Quaternion.identity); Services.Instance.LevelService.ActiveBonus.Add(this); _lifeTimer.AddTimeRemaining(); }