private void UpdateTarget() { targetArea.localEulerAngles = new Vector3(0, 0, ability == null ? 0 : ability.GetRotation(caster.Position, TargetPosition.ToModelVector())); if (ability != null) { if (ability is ProjectileAbility) { targetLine.SetPosition(1, TargetPosition); targetLine.gameObject.SetActive(true); } if ((caster.Position - TargetPosition.ToModelVector()).Norm <= ability.Range) { targetArea.GetComponent <SpriteRenderer>().color = inRangeColor; } else { targetArea.GetComponent <SpriteRenderer>().color = outOfRangeColor; targetLine.gameObject.SetActive(false); } } }