protected override bool OnMove(Direction d) { if (!base.OnMove(d)) return false; CheckAtDestination(); return true; }