internal static void Create(List<Move> moves, Field node, Move move, Direction direction) { Field near = node[direction]; if (near == null) return; Field far = near[direction]; if (far == null) return; if (node.CanUse() && near.CanFree() && far.CanFree()) { Append(moves, move, move.Create(node, near, far)); } }
internal bool CanUndoMove(Field near, Field far) { return CanFree() && near.CanUse() && far.CanUse(); }