public ZombieAttackState(GameObject followTarget, ZombieComponent zombie, StateMachine stateMachine) : base(zombie, stateMachine) { FollowTarget = followTarget; UpdateInterval = 2.0f; DamagableObject = followTarget.GetComponent <Idamagable>(); }
public void attackStruct(float dmg) { Idamagable attempt = target_Current.GetComponent <Idamagable>(); if (attempt != null) { GameObject trail = Instantiate(trailPrefab, transform.position, transform.rotation); LineRenderer lr = trail.GetComponent <LineRenderer>(); GameObject spawnedSplosion = Instantiate(splosionPrefab, target_Current.transform.position, transform.rotation); if (lr != null) { lr.SetPosition(0, transform.position); lr.SetPosition(1, target_Current.transform.position); } Destroy(trail.gameObject, 0.05f); Destroy(spawnedSplosion, 1f); attempt.TakeDamage(damage); } }
private void TakeDamage(RaycastHit hitInfo) { Idamagable damagable = hitInfo.collider.GetComponent <Idamagable>(); damagable?.TakeDamage(WeaponInformation.Damage); }