## Uses of Interface
com.threerings.puzzle.data.PuzzleCodes

Packages that use PuzzleCodes
com.threerings.puzzle.client
com.threerings.puzzle.data
com.threerings.puzzle.drop.client
com.threerings.puzzle.drop.server
com.threerings.puzzle.server

### Uses of PuzzleCodes in com.threerings.puzzle.client

Subinterfaces of PuzzleCodes in com.threerings.puzzle.client
`interface` `PuzzleGameService` Provides services used by puzzle game clients to request that actions be taken by the puzzle manager.

Classes in com.threerings.puzzle.client that implement PuzzleCodes
`class` `PuzzleController` The puzzle game controller handles logical actions for a puzzle game.
`class` `PuzzleControllerDelegate` A base class for puzzle controller delegates.
`class` `PuzzlePanel` The puzzle panel class should be extended by classes that provide a view for a puzzle game.

### Uses of PuzzleCodes in com.threerings.puzzle.data

Classes in com.threerings.puzzle.data that implement PuzzleCodes
`class` `PuzzleGameMarshaller` Provides the implementation of the `PuzzleGameService` interface that marshalls the arguments and delivers the request to the provider on the server.
`class` `PuzzleObject` Extends the basic `GameObject` to add individual player status.

### Uses of PuzzleCodes in com.threerings.puzzle.drop.client

Classes in com.threerings.puzzle.drop.client that implement PuzzleCodes
`class` `DropControllerDelegate` Games that wish to make use of the drop puzzle services will need to create an extension of this delegate class, customizing it for their particular game and then adding it via `PlaceController.addDelegate(com.threerings.crowd.client.PlaceControllerDelegate)`.

### Uses of PuzzleCodes in com.threerings.puzzle.drop.server

Classes in com.threerings.puzzle.drop.server that implement PuzzleCodes
`class` `DropManagerDelegate` Provides the necessary support for a puzzle game that involves a two-dimensional board containing pieces, with new pieces either falling into the board as a "drop block", or rising into the bottom of the board in new piece rows, groups of blocks can be "broken" and garbage can be sent to other players' boards as a result.

### Uses of PuzzleCodes in com.threerings.puzzle.server

Classes in com.threerings.puzzle.server that implement PuzzleCodes
`class` `PuzzleManager` Extends the `GameManager` with facilities for puzzle games.