Package com.hiddenswitch.spellsource.draft

Contains code that implements the drafting mechanic in Spellsource.

Drafting is the process of building a deck from a series of irreversible choices of cards. A typical draft starts with select a champion, followed by choosing one of three cards randomly drawn from the collection until a GameLogic.MAX_DECK_SIZE deck is built. This process is implemented in the DraftLogic, which delegates the choices to DraftBehaviour.

PrivateDraftState contains the cards that are going to be shown to the user and should remain secret, to prevent the user from cheating. The PublicDraftState contains the current state of the draft.

The net package contains code that actually sends requests to a networked Unity client and maintains the state of the draft over the user's lifetime.

  • Interface Summary 
    Interface Description
    DraftBehaviour
    Describes a behaviour during a draft.
  • Class Summary 
    Class Description
    DraftContext
    Stores data and logic relating to drafting cards.
    DraftLogic
    Implements a basic draft where the user is given a selection of champions from all DeckFormat.spellsource() champions, and 30 rounds of 3-card choices pulled from a weighted selection of DeckFormat.spellsource() catalogue cards.
    NullDraftBehaviour
    A behaviour which makes no choices, so its reply handlers are never called.
    PrivateDraftState
    Private information about the player's draft.
    PublicDraftState
    Public information about the player's draft.
  • Enum Summary 
    Enum Description
    DraftStatus
    Indicates different states of a draft.
  • Exception Summary 
    Exception Description
    DraftException
    Indicates the user made an error, typically an invalid or out-of-order choice, during drafting.
    InvalidDraftCardSelectionException
    Indicates the end user made an invalid card selection (the index was out of bounds).
    InvalidDraftStatusException
    Indicates the current state of the draft is invalid for the requested changes.