Arcade Shooter
Public Member Functions | Protected Member Functions | List of all members
ShooterLibrary::PlayerShip Class Referenceabstract

Base class for player ships. More...

#include <PlayerShip.h>

Inheritance diagram for ShooterLibrary::PlayerShip:
ShooterLibrary::Ship ShooterLibrary::GameObject Sample::PlayerShip

Public Member Functions

 PlayerShip (const uint8_t playerIndex)
 Instantiate a player ship object. More...
 
virtual void Update (const GameTime *pGameTime)
 Called when the game determines it is time to draw a frame. More...
 
virtual void Draw (SpriteBatch *pSpriteBatch)=0
 Called when the game determines it is time to draw a frame. More...
 
virtual void HandleInput (const InputState *pInput)
 Called when the game has determined that player input needs to be processed. More...
 
virtual void SetDesiredDirection (const Vector2 direction)
 Set the desired player direction. More...
 
virtual std::string ToString () const
 Gets a string representation of the player ship. More...
 
virtual Vector2 GetHalfDimensions () const =0
 Gets the half dimensions of the game object. More...
 
virtual CollisionType GetCollisionType () const
 Gets the collision type mask. More...
 
virtual void ConfineToScreen (const bool isConfined=true)
 Confines the player ship to the screen. More...
 
virtual void SetPlayerIndex (const uint8_t index)
 Sets the index of the player that controls the ship. More...
 
virtual uint8_t GetPlayerIndex () const
 Gets the index of the player that controls the ship. More...
 
- Public Member Functions inherited from ShooterLibrary::Ship
virtual void Hit (const float damage)
 Hits the ship, dealing damage to it. More...
 
virtual bool IsInvulnurable () const
 Determines if the ship takes damage. More...
 
virtual void SetInvulnurable (bool isInvulnurable=true)
 Sets whether or not the ship takes damage. More...
 
virtual void AttachWeapon (Weapon *pWeapon, Vector2 position)
 Attaches a weapon to the ship. More...
 
- Public Member Functions inherited from ShooterLibrary::GameObject
virtual void SetDeactivateCallback (OnDeactivate callback)
 Sets the callback function for when the menu item is selected. More...
 
virtual void Update (const GameTime *pGameTime)
 Updates the game object. More...
 
virtual void Draw (SpriteBatch *pSpriteBatch)=0
 Renders the game object. More...
 
virtual bool IsActive () const
 Determines if the game object is active. More...
 
virtual void Activate ()
 Activates the game object.
 
virtual void Deactivate ()
 Deactivates the game object.
 
virtual Vector2GetPosition ()
 Gets the position of the game object. More...
 
virtual Vector2GetPreviousPosition ()
 Gets the previous position of the game object. More...
 
virtual uint32_t GetIndex () const
 Gets the index of the game object. More...
 
virtual float GetCollisionRadius () const
 Gets the collision radius. More...
 
virtual bool HasMask (CollisionType mask) const
 Determines if the object contains part of a collision bit-mask. More...
 
virtual bool IsMask (CollisionType mask) const
 Determines if the object matches a collision bit-mask. More...
 
virtual bool IsDrawnByLevel () const
 Determines if the level should draw the game object. More...
 

Protected Member Functions

virtual void SetResponsiveness (const float responsiveness)
 Set the responsiveness of the player ship. More...
 
virtual float GetResponsiveness () const
 Get the responsiveness of the player ship. More...
 
virtual Vector2 GetDesiredDirection () const
 Get the desired player direction. More...
 
- Protected Member Functions inherited from ShooterLibrary::Ship
virtual void Initialize ()
 Initializes the ship.
 
virtual float GetSpeed () const
 Gets the speed of the projectile in pixels per second.
 
virtual void SetSpeed (const float speed)
 Sets the speed of the ship. More...
 
virtual void SetMaxHitPoints (const float hitPoints)
 Sets the maximum hit points of the ship. More...
 
virtual void FireWeapons (TriggerType type=TriggerType::ALL)
 Fires the ship's weapons. More...
 
virtual WeaponGetWeapon (const int index)
 Gets the weapon at the specified index. More...
 
- Protected Member Functions inherited from ShooterLibrary::GameObject
virtual void SetCollisionRadius (const int radius)
 Sets the collision radius for the object. More...
 
virtual void SetPosition (const float x, const float y)
 Sets the screen position of the object. More...
 
virtual void SetPosition (const Vector2 &position)
 Sets the screen position of the object. More...
 
virtual void TranslatePosition (const float x, const float y)
 Offsets the current screen position of the object. More...
 
virtual void TranslatePosition (const Vector2 &offset)
 Offsets the current screen position of the object. More...
 
virtual bool IsOnScreen () const
 Determines if the game object is on the screen. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ShooterLibrary::GameObject
static void SetCurrentLevel (Level *pLevel)
 Sets the current game level. More...
 
static LevelGetCurrentLevel ()
 Gets the current level. More...
 

Detailed Description

Base class for player ships.

Constructor & Destructor Documentation

◆ PlayerShip()

ShooterLibrary::PlayerShip::PlayerShip ( const uint8_t  playerIndex)

Instantiate a player ship object.

Parameters
playerIndexThe controlling player's index.

Member Function Documentation

◆ ConfineToScreen()

virtual void ShooterLibrary::PlayerShip::ConfineToScreen ( const bool  isConfined = true)
inlinevirtual

Confines the player ship to the screen.

Parameters
isConfinedDetermines if the ship is confined or not.

◆ Draw()

virtual void ShooterLibrary::PlayerShip::Draw ( SpriteBatch *  pSpriteBatch)
pure virtual

Called when the game determines it is time to draw a frame.

Parameters
pSpriteBatchThe game's sprite batch, used for rendering.

Implements ShooterLibrary::Ship.

Implemented in Sample::PlayerShip.

◆ GetCollisionType()

virtual CollisionType ShooterLibrary::PlayerShip::GetCollisionType ( ) const
inlinevirtual

Gets the collision type mask.

Returns
Returns bit-mask value for the collision type.
See also
CollisionTypes
CollisionManager

Implements ShooterLibrary::Ship.

◆ GetDesiredDirection()

virtual Vector2 ShooterLibrary::PlayerShip::GetDesiredDirection ( ) const
inlineprotectedvirtual

Get the desired player direction.

Returns
Returns the desired direction.

◆ GetHalfDimensions()

virtual Vector2 ShooterLibrary::PlayerShip::GetHalfDimensions ( ) const
pure virtual

Gets the half dimensions of the game object.

Returns
Returns the half dimensions of the object.

Reimplemented from ShooterLibrary::GameObject.

Implemented in Sample::PlayerShip.

◆ GetPlayerIndex()

virtual uint8_t ShooterLibrary::PlayerShip::GetPlayerIndex ( ) const
inlinevirtual

Gets the index of the player that controls the ship.

Returns
Returns the controlling player's index.

◆ GetResponsiveness()

virtual float ShooterLibrary::PlayerShip::GetResponsiveness ( ) const
inlineprotectedvirtual

Get the responsiveness of the player ship.

Returns
Returns the responsiveness value.

◆ HandleInput()

virtual void ShooterLibrary::PlayerShip::HandleInput ( const InputState *  pInput)
virtual

Called when the game has determined that player input needs to be processed.

Parameters
pInputThe current state of all player input devices.

Reimplemented in Sample::PlayerShip.

◆ SetDesiredDirection()

virtual void ShooterLibrary::PlayerShip::SetDesiredDirection ( const Vector2  direction)
inlinevirtual

Set the desired player direction.

Parameters
directionThe desired direction.

◆ SetPlayerIndex()

virtual void ShooterLibrary::PlayerShip::SetPlayerIndex ( const uint8_t  index)
inlinevirtual

Sets the index of the player that controls the ship.

Parameters
indexThe controlling player's index.

◆ SetResponsiveness()

void ShooterLibrary::PlayerShip::SetResponsiveness ( const float  responsiveness)
protectedvirtual

Set the responsiveness of the player ship.

Parameters
responsivenessA value from zero (not responsive) to one (instantly responsive) that affects how the ship handles.

◆ ToString()

virtual std::string ShooterLibrary::PlayerShip::ToString ( ) const
inlinevirtual

Gets a string representation of the player ship.

Returns
Returns a string displaying the type of object.

Reimplemented from ShooterLibrary::Ship.

◆ Update()

virtual void ShooterLibrary::PlayerShip::Update ( const GameTime *  pGameTime)
virtual

Called when the game determines it is time to draw a frame.

Parameters
pGameTimeTiming values including time since last update.

Reimplemented from ShooterLibrary::Ship.

Reimplemented in Sample::PlayerShip.


The documentation for this class was generated from the following files: