private bool MoveUp(out Action job, out UncertainEvent unc)
            {
                LastDir = CellFieldSquareMoving.Direction.Up;
                lastX   = Parent.PX; lastY = Parent.PY;

                unc = null;
                job = () => Parent.Home.MoveObject(Parent, CellFieldSquareMoving.Direction.Up);

                var re = Parent.Home.MoveObject(Parent, CellFieldSquareMoving.Direction.Up);

                if (re)
                {
                    Undo();
                }

                return(re);
            }
 bool eat(out Action job, out UncertainEvent unc)
 {
     return(Parent.eat(out lastFood, out lastHunger, out job, out unc));
 }