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

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

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

Classes in com.threerings.puzzle.client that implement PuzzleGameCodes
`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 PuzzleGameCodes in com.threerings.puzzle.drop.client

Classes in com.threerings.puzzle.drop.client that implement PuzzleGameCodes
`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 PuzzleGameCodes in com.threerings.puzzle.drop.data

Subinterfaces of PuzzleGameCodes in com.threerings.puzzle.drop.data
`interface` `DropCodes` Contains codes used by the drop game services.

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

Classes in com.threerings.puzzle.drop.server that implement PuzzleGameCodes
`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.