Documentation
¶
Overview ¶
Package environment provides context for an emulation.
Index ¶
Constants ¶
const MainEmulation = Label("")
MainEmulation is the label used for the main emulation
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Environment ¶
type Environment struct {
// label distinguishes between different types of emulation (thumbnailer, etc.)
Label Label
// the television attached to the console
TV Television
// any randomisation required by the emulation should be retreived through
// this structure
Random *random.Random
// the emulation preferences
Prefs *preferences.Preferences
}
Environment is used to provide context for an emulation. Particularly useful when using multiple emulations
func NewEnvironment ¶
func NewEnvironment(tv *television.Television, prefs *preferences.Preferences) (*Environment, error)
NewEnvironment is the preferred method of initialisation for the Environment type.
The two arguments must be supplied. In the case of the prefs field it can by nil and a new Preferences instance will be created. Providing a non-nil value allows the preferences of more than one VCS emulation to be synchronised.
func (*Environment) IsEmulation ¶
func (env *Environment) IsEmulation(label Label) bool
IsEmulation checks the emulation label and returns true if it matches
func (*Environment) Normalise ¶
func (env *Environment) Normalise()
Normalise ensures the environment is in an known default state. Useful for regression testing where the initial state must be the same for every run of the test.
type Television ¶ added in v0.26.0
type Television interface {
GetSpecID() string
SetRotation(specification.Rotation)
}
Television interface exposing a minimum amount of the real television implementation