public CharacterReachableCells FindReachableCells(Character SelectedCharacter) { int MovePoints = SelectedCharacter.GetMovePoints(); Vector3 CharacterPosition = SelectedCharacter.GetPosition(); CharacterReachableCells ReachableCells = new CharacterReachableCells (); Finder.FillMapWithPathValues (LevelCells, CharacterPosition, MovePoints * 2); if(SelectedCharacter.ReadyToMove()) { ReachableCells.SetWalkRangeCells (Finder.GetCurrentMovingRange(1, MovePoints)); ReachableCells.SetRunRangeCells (Finder.GetCurrentMovingRange(MovePoints + 1, MovePoints * 2)); } else if(SelectedCharacter.ReadyForAction()) { ReachableCells.SetRunRangeCells (Finder.GetCurrentMovingRange(1, MovePoints)); } return ReachableCells; }