/// <summary> /// Hit target /// </summary> private void HitTarget() { // call effect on hit bullet and destroy then after second var effectIns = Instantiate(_impactEffect, transform.position, transform.rotation, transform.parent); Destroy(effectIns, 1f); OnHitEnemy?.Invoke(_target.GetComponent <EnemyView>()); Destroy(gameObject); }
private void Start() { if (OnLaunched == null) { OnLaunched = new OnLaunched(); } if (OnRemovedWithNoTarget == null) { OnRemovedWithNoTarget = new OnRemovedWithNoTarget(); } if (OnHitEnemy == null) { OnHitEnemy = new OnHitEnemy(); } if (OnProjectileLauncherFired == null) { OnProjectileLauncherFired = new OnProjectileLauncherFired(); } OnLaunched.AddListener(Launched); OnRemovedWithNoTarget.AddListener(Removed); OnHitEnemy.AddListener(HitEnemy); OnProjectileLauncherFired.AddListener(LaunchedProjectile); }