private void SelectNewDirectionToMove() { GetPossibleDirections(); if (_monsterDirection.NewDirectionIsObvious()) { return; } _monsterDirection.GenerateDirectionPossibilities(); if (IsPlayerAtTheSide()) { var playerSide = FindThePlayerSide(); var playerDirection = TransformVectorToDirection(playerSide); _monsterDirection.UpdateTheDirectionPossibilities(playerDirection); } _monsterDirection.SetRandomTargetPosition(); }