Arcade
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events
GameAPI.BudgetBoy.Game Class Reference

Class to inherit when implementing a game targeting the BudgetBoy platform. More...

Inheritance diagram for GameAPI.BudgetBoy.Game:
GameAPI.GameBase< TControls, TGraphics, TAudio, TFirmware > GameAPI.GameBase GameAPI.Sandboxing.Remotable GameAPI.IGame GameAPI.Sandboxing.IRemotable

Public Member Functions

 Game ()
 
Stage SetStage (Stage stage)
 Switch to an existing Stage. More...
 
TStage SetStage< TStage > ()
 Switch to a new Stage of the given type. More...
 
- Public Member Functions inherited from GameAPI.GameBase
delegate void LoadGameAsyncCallback (IGame game)
 
void PushPreUpdate (Action action)
 
void Reset ()
 Manually unpauses and resets the game. More...
 
void RenderPausedFrame ()
 Renders the last frame shown before the game became paused. More...
 
- Public Member Functions inherited from GameAPI.Sandboxing.Remotable
void Dispose ()
 

Public Attributes

const int MinimumUpdateRate = 1
 The smallest allowed BudgetBoy game update frequency, in Hertz. More...
 
const int MaximumUpdateRate = 60
 The largest allowed BudgetBoy game update frequency, in Hertz. More...
 
- Public Attributes inherited from GameAPI.GameBase
const int SavedStateSizeLimit = 65535
 Maximum size of a game save state, in bytes. More...
 

Protected Member Functions

virtual void OnLoadPalette (PaletteBuilder builder)
 Override this to specify your own custom palette. Calling the base implementation will invoke AddNESPalette() on the PaletteBuilder. More...
 
virtual void OnSetStage (Stage stage)
 Called when the game is switching to a new Stage. More...
 
override void OnUpdate ()
 Called at regular intervals, specified by UpdateRate, just before a frame is drawn. More...
 
override void OnRender ()
 Called at regular intervals, specified by UpdateRate, when a frame is being drawn. More...
 
override void OnRenderPauseScreen (double timeUntilReset)
 Called in the place of OnRender() when the game is paused, with timeUntilReset in seconds. More...
 
- Protected Member Functions inherited from GameAPI.GameBase< TControls, TGraphics, TAudio, TFirmware >
override void OnDispose ()
 
- Protected Member Functions inherited from GameAPI.GameBase
virtual void OnRegisterResourceTypes (ResourceManager library)
 Used to register custom resource types to be used by the game. More...
 
virtual void OnInitialize ()
 Called when the game is about to start. More...
 
virtual void OnLoadResources (Resources volume)
 Called when game resources are available to be loaded. More...
 
virtual void OnPause ()
 Called when the game is paused. More...
 
virtual void OnReset ()
 Called when the game resets and first begins. More...
 
virtual void OnResume ()
 Called when the game is resumed from a paused state. More...
 
virtual void OnSaveState (BinaryWriter writer)
 Allows game state to be transferred between players so that they can pass control to each other when overridden along with OnLoadState(). More...
 
virtual void OnLoadState (BinaryReader reader)
 Allows game state to be transferred between players so that they can pass control to each other when overridden along with OnSaveState(). More...
 

Properties

Stage CurrentStage [get]
 Gets the Stage currently in use. More...
 
- Properties inherited from GameAPI.GameBase< TControls, TGraphics, TAudio, TFirmware >
TControls Controls [get]
 Access the controls hardware interface for this game instance. More...
 
TGraphics Graphics [get]
 Access the graphics hardware interface for this game instance. More...
 
TAudio Audio [get]
 Access the audio hardware interface for this game instance. More...
 
TFirmware Firmware [get]
 
override int LastFrameSize [get]
 Number of bytes required to stream the previous frame. More...
 
- Properties inherited from GameAPI.GameBase
IGameInfo GameInfo [get]
 Gets a structure containing general information about the game. More...
 
IGraphicsInfo GraphicsInfo [get]
 Gets a structure containing information about the graphical specifications of the game. More...
 
int UpdateRate [get]
 Gets the number of times this game updates per second. More...
 
TimeSpan TimeStep [get]
 Gets the period between game updates in seconds. More...
 
bool IsPaused [get]
 If true, the game is in a paused state and is not updating. More...
 
ulong Tick [get, set]
 Gets the number of updates since the game first began. More...
 
double Time [get]
 Gets the estimated number of seconds since the game first began. More...
 
abstract int LastFrameSize [get]
 Gets the number of bytes needed to stream the previous frame. More...
 
bool CanTransferState [get]
 If true, this game has implemented game state transmission between clients. More...
 
bool ResetWhenChangePlayer [get]
 If true, this game hasn't implemented game state transmission and so must reset when changing player. More...
 
- Properties inherited from GameAPI.IGame
bool IsPaused [get]
 
IGameInfo GameInfo [get]
 
IGraphicsInfo GraphicsInfo [get]
 

Additional Inherited Members

- Static Public Member Functions inherited from GameAPI.GameBase
static void RegisterAPIAssembly (Assembly asm)
 
static void FromAssemblyAsync (string path, string[] refPaths, Sandbox sandbox, LoadGameAsyncCallback callback)
 
static IGame FromAssembly (string path, string[] refPaths, Sandbox sandbox)
 
static void FromCSSourcesAsync (string baseDir, Sandbox sandbox, LoadGameAsyncCallback callback)
 
static IGame FromCSSources (string baseDir, Sandbox sandbox)
 
static void FromPackageAsync< TCabinet > (Sandbox sandbox, Stream stream, TCabinet cabinet, LoadGameAsyncCallback callback)
 
static IGame FromPackage< TCabinet > (Sandbox sandbox, Stream stream, TCabinet cabinet=null)
 
- Events inherited from GameAPI.GameBase
EventHandler Paused
 
EventHandler Restarted
 
EventHandler Resumed
 
- Events inherited from GameAPI.IGame
EventHandler Restarted
 

Detailed Description

Class to inherit when implementing a game targeting the BudgetBoy platform.

Constructor & Destructor Documentation

GameAPI.BudgetBoy.Game.Game ( )
inline

Member Function Documentation

virtual void GameAPI.BudgetBoy.Game.OnLoadPalette ( PaletteBuilder  builder)
inlineprotectedvirtual

Override this to specify your own custom palette. Calling the base implementation will invoke AddNESPalette() on the PaletteBuilder.

Parameters
builderPaletteBuilder used to construct a custom palette.
override void GameAPI.BudgetBoy.Game.OnRender ( )
inlineprotectedvirtual

Called at regular intervals, specified by UpdateRate, when a frame is being drawn.

Reimplemented from GameAPI.GameBase.

override void GameAPI.BudgetBoy.Game.OnRenderPauseScreen ( double  timeUntilReset)
inlineprotectedvirtual

Called in the place of OnRender() when the game is paused, with timeUntilReset in seconds.

Reimplemented from GameAPI.GameBase.

virtual void GameAPI.BudgetBoy.Game.OnSetStage ( Stage  stage)
inlineprotectedvirtual

Called when the game is switching to a new Stage.

Parameters
stageNew Stage being switched to.
override void GameAPI.BudgetBoy.Game.OnUpdate ( )
inlineprotectedvirtual

Called at regular intervals, specified by UpdateRate, just before a frame is drawn.

Reimplemented from GameAPI.GameBase.

Stage GameAPI.BudgetBoy.Game.SetStage ( Stage  stage)
inline

Switch to an existing Stage.

Parameters
stageThe new Stage to use.
TStage GameAPI.BudgetBoy.Game.SetStage< TStage > ( )
inline

Switch to a new Stage of the given type.

Template Parameters
TStageStage type to instantiate and switch to.
Type Constraints
TStage :Stage 
TStage :new() 

Member Data Documentation

const int GameAPI.BudgetBoy.Game.MaximumUpdateRate = 60

The largest allowed BudgetBoy game update frequency, in Hertz.

const int GameAPI.BudgetBoy.Game.MinimumUpdateRate = 1

The smallest allowed BudgetBoy game update frequency, in Hertz.

Property Documentation

Stage GameAPI.BudgetBoy.Game.CurrentStage
get

Gets the Stage currently in use.