public override void StartProjectile(Vector3 direction) { LaserEffect = gameObject.GetComponent <LineRenderer>(); LaserEffect.SetWidth(StartingWidth, StartingWidth); LaserEffect.SetVertexCount(2); RaycastHit hit; Vector3 EndPoint; //Vector3 direction = transform.forward; if (GetClosestHitTarget(direction, out hit)) //something was hit { GameObject hitObject = hit.transform.gameObject; EndPoint = hit.point; if (hitObject.tag.Equals("Enemy")) { SurgeActor HitActorScript = hitObject.GetComponent <SurgeActor>(); HitActorScript.TakeDamage(DamageAmount); } } else { EndPoint = (direction * Range + transform.position); } //start laser effect LaserEffect.SetPosition(0, transform.position); LaserEffect.SetPosition(1, EndPoint); }
protected override void HitEnemy(GameObject hitObject, Vector3 hitLoc, Vector3 hitNormal) { velocity = Vector3.Reflect(velocity, hitNormal); m_RemaingingLifeTime /= 2; SurgeActor ActorScript = hitObject.GetComponent <SurgeActor>(); if (ActorScript != null) { ActorScript.TakeDamage(DamageAmount); } }