public void ChangeDirection(SnakePart.PartDirection newDirection) { if (newDirection == Direction) { return; } SnakePart newpart = new SnakePart() { Direction = newDirection, x = FirstPart.x, y = FirstPart.y, color = FirstPart.color }; if (Direction == SnakePart.PartDirection.RIGHT && newpart.Direction == SnakePart.PartDirection.UP) { newpart.MoveSnakePartBack(); } else if (Direction == SnakePart.PartDirection.DOWN && newpart.Direction == SnakePart.PartDirection.LEFT) { newpart.MoveSnakePartBack(); } parts.Insert(0, newpart); }