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);
                }
            }
        }