CPGameInfo

org.cosplay.CPGameInfo
final case class CPGameInfo(id: String, name: String, semVer: String, initDim: Option[CPDim], termBg: CPColor, minDim: Option[CPDim])

Descriptor of the game.

Value parameters

id

Unique ID of the game. If not provided, the default value will be a randomly generated globally unique ID. For production games this ID must be stable. Changing the name of the game is akin to introduction of a new game. It is essentially an internal technical "sister" ID of the game's name.

initDim

Optional initial game dimension. It is used only by emuterm built-in terminal emulator to set the initial terminal emulator dimension. It is ignored by the native terminal. If not provided, terminal emulator will use its default dimension.

minDim

Optional minimal native terminal window size. This is only checked for the native terminal. If the native terminal size is smaller - an exception is thrown before game is started. For terminal emulator it is ignored.

name

Public, display name of the game. This parameter is required and does not have default value. Note that for production games this name must be stable as it is used in various places in the engine. Changing the name of the game is akin to introduction of a new game.

semVer

Semantic version of the game. See https://semver.org/ for details. Default value is 1.0.0

termBg

Optional background color for the terminal. The default value is 0x111111 RGB color.

Attributes

Source
CPGameInfo.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product