I would set it up something like this (+ event, > action, ++ subevent, >> action in subevent, sorry I can't be arsed with formatting, got big enough headache with project of my own :) )
+ Every tick
Enemy: Set Sight to false (this basically sets all enemies to blind mode...)
+ abs(Player.X - Enemy.X) < 300 (... but right after that, we check for enemies which still see player and set 'em back to true)
+ Player.Y == Enemy.Y (they're on the same platform, as long as player and enemy sprites have the hotspot at same height)
++ Is mirrored
++ Player.X < Enemy.X
Enemy: set Sight to true
++ is NOT mirrored
++ Player.X > Enemy.X
Enemy: set Sight to true