internal void TranslatePossitionOnClick(ICharacterClass characterClass, IAbility ability) { Ray rayFromCam = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit rayHit; if (Physics.Raycast(rayFromCam, out rayHit, Camera.main.farClipPlane, abilityMovementMask)) { Vector3 translatePossition = rayHit.point; // TODO add translation prop to IAbility ability.TranslationTime // TODO add range to translation effect characterClass.SetCurrentPossition(Vector3.Slerp(characterClass.GetCurrentPossition(), translatePossition, 3f)); } }