TurtleBrains  0.3.5
High quality, portable, C++ framework for rapid 2D game development.
TurtleBrains::Game::TransitionScene Class Referenceabstract
Inheritance diagram for TurtleBrains::Game::TransitionScene:
TurtleBrains::Game::GameScene TurtleBrains::Game::EntityManager TurtleBrains::Graphics::GraphicList TurtleBrains::Graphics::Graphic TurtleBrains::Core::Noncopyable

Public Member Functions

bool IsTransitionStarted (void) const
 
virtual bool IsTransitionFinished (void) const =0
 
- Public Member Functions inherited from TurtleBrains::Game::GameScene
 GameScene (void)
 
virtual ~GameScene (void)=0
 
- Public Member Functions inherited from TurtleBrains::Game::EntityManager
 EntityManager (void)
 
virtual ~EntityManager (void)
 
void ClearEntities (void)
 
void AddEntity (Entity *entity)
 
void AddEntity (Entity &entity)
 
void RemoveEntity (Entity *entity)
 
void RemoveEntities (const EntityType &byType=Entity::kInvalidType)
 
void EntityTypeChanged (Entity &entity, const EntityTypeContainer &oldTypes)
 
EntityList GetAllEntities (void)
 
EntityList GetEntitiesByType (const EntityType &byType)
 
EntityList GetEntitiesAt (const tbMath::Vector2 &point, const EntityType &byType=Entity::kInvalidType, bool onlyCollidableEntities=false)
 
EntityList GetEntitiesWithin (const tbMath::Vector2 &center, const float radius, const EntityType &byType=Entity::kInvalidType, bool onlyCollidableEntities=false)
 
EntityList GetEntitiesWithin (const tbMath::Vector2 &center, const float width, const float height, const EntityType &byType=Entity::kInvalidType, bool onlyCollidableEntities=false)
 
void Simulate (void)
 
- Public Member Functions inherited from TurtleBrains::Graphics::GraphicList
 GraphicList (void)
 
virtual ~GraphicList (void)
 
void ClearGraphics (void)
 
void AddGraphic (Graphic *graphic)
 
void AddGraphic (std::unique_ptr< Graphic > &&graphic)
 
void AddGraphic (Graphic &graphic)
 
void RemoveGraphic (Graphic *graphic)
 
void SetOrigin (const AnchorLocation &anchor, const float offsetX, const float offsetY)
 
void SetOrigin (const AnchorLocation &anchor, const tbMath::Vector2 &offset=tbMath::Vector2::Zero())
 
void SetOrigin (const float originX, const float originY)
 
void SetOrigin (const tbMath::Vector2 &origin)
 
virtual void SetColor (const tbGraphics::Color &newColor) override
 
virtual PixelSpace GetPixelWidth (void) const override
 
virtual PixelSpace GetPixelHeight (void) const override
 
void RecalculateWidthAndHeight (void)
 
- Public Member Functions inherited from TurtleBrains::Graphics::Graphic
 Graphic (void)
 
 Graphic (const Graphic &other)=default
 
virtual ~Graphic (void)=default
 
Graphicoperator= (const Graphic &other)=default
 
bool IsActive (void) const
 
void SetActive (const bool isActive)
 
void Update (const float deltaTime)
 
bool IsVisible (void) const
 
void SetVisible (const bool isVisible)
 
void Render (void) const
 
const tbMath::Vector2GetPosition (void) const
 
void SetPosition (const float x, const float y)
 
void SetPosition (const tbMath::Vector2 &position)
 
const tbMath::Vector2GetOrigin (void) const
 
void SetOrigin (const AnchorLocation &anchor, const float offsetX, const float offsetY)
 
void SetOrigin (const AnchorLocation &anchor, const tbMath::Vector2 &offset=tbMath::Vector2::Zero())
 
void SetOrigin (const float originX, const float originY)
 
void SetOrigin (const tbMath::Vector2 &origin)
 
float GetDepth (void) const
 
void SetDepth (const float newDepth)
 
const tbMath::Vector2GetScale (void) const
 
void SetScale (const float scale)
 
void SetScale (const tbMath::Vector2 &scale)
 
void SetScale (const float scaleX, const float scaleY)
 
tbMath::Angle GetRotation (void) const
 
void SetRotation (const tbMath::Angle &angle)
 
void SetScroll (const float scroll)
 
void SetScroll (const float scrollX, const float scrollY)
 
bool IsRelative (void) const
 
const ColorGetColor (void) const
 
float GetWidth (void) const
 
float GetHeight (void) const
 
float GetScaledWidth (void) const
 
float GetScaledHeight (void) const
 
tbMath::Vector2 GetAnchorPosition (const tbGraphics::AnchorLocation &anchor, const float offsetX, const float offsetY) const
 
tbMath::Vector2 GetAnchorPosition (const tbGraphics::AnchorLocation &anchor, const tbMath::Vector2 &offset=tbMath::Vector2::Zero()) const
 
bool UnstableIsPointContained (const tbMath::Vector2 &point) const
 

Protected Member Functions

virtual void OnSimulate (void) override
 
virtual void OnUpdate (const float deltaTime) override
 
virtual void OnRender (void) const override
 
virtual void OnOpen (void) override
 
virtual void OnClose (void) override
 
tbGraphics::Sprite RenderBeforeScene (void) const
 
tbGraphics::Sprite RenderAfterScene (void) const
 
- Protected Member Functions inherited from TurtleBrains::Game::GameScene
virtual void OnRuntimeReload (void)
 
- Protected Member Functions inherited from TurtleBrains::Graphics::Graphic
virtual void ApplyTransform (void) const
 
virtual void PopTransform (void) const
 

Friends

class GameScene
 

Additional Inherited Members

- Public Types inherited from TurtleBrains::Game::EntityManager
typedef std::list< Entity * > EntityList
 
- Static Public Member Functions inherited from TurtleBrains::Game::GameScene
static bool IsTransitionPlaying (void)
 
static void ChangeToScene (GameScene &gameScene)
 
static void ChangeToScene (GameScene &gameScene, std::unique_ptr< TransitionScene > &&transitionScene)
 
static void PerformFrame (const float deltaTime)
 
static void PerformFrame (GameScene &gameScene, const float deltaTime)
 

Member Function Documentation

◆ OnClose()

virtual void TurtleBrains::Game::TransitionScene::OnClose ( void  )
overrideprotectedvirtual

This will be called when the scene has ended and is no longer active in any manner, all resources should be cleaned up until the scene is opened again.

Reimplemented from TurtleBrains::Game::GameScene.

◆ OnOpen()

virtual void TurtleBrains::Game::TransitionScene::OnOpen ( void  )
overrideprotectedvirtual

This will be called just before the scene is actually activated so that any resources can be created or acquired for the scene to display correctly. This OnOpen() should be called to reset the accumulated simulation time just in case there had been some time remaining from a previous activation.

Reimplemented from TurtleBrains::Game::GameScene.

◆ OnRender()

virtual void TurtleBrains::Game::TransitionScene::OnRender ( void  ) const
overrideprotectedvirtual
Note
Special considerations here! PAY ATTENTION. You will want to call TransitionScene::OnRender() to render the before/after scene targets. This however does NOT call the GameScene::Render() which would render any Graphics added to the TransitionScene; since these may want to be AFTER the targets are handled by a child of TranstitionScene implementation. All this is to say the derived classes may need to call BOTH TransitionScene::OnRender() { do stuff with targets } then GameScene::OnRender().

Reimplemented from TurtleBrains::Game::GameScene.

◆ OnSimulate()

virtual void TurtleBrains::Game::TransitionScene::OnSimulate ( void  )
overrideprotectedvirtual

Called zero to N times per frame as simulated time accumulates. This is where game logic should live as OnSimulate() is called at a fixed rate. By default will be called at 100hz, 100 times per second with a fixed time step of 10ms or 0.01f seconds. This rate can be changed with the SetSimulateStepsPerSecond() function.

Reimplemented from TurtleBrains::Game::GameScene.

◆ OnUpdate()

virtual void TurtleBrains::Game::TransitionScene::OnUpdate ( const float  deltaTime)
overrideprotectedvirtual

Called once per frame every frame to check for any Input events or update things that are dependent on the frame / wall timer. Game logic does not generally belong in the Update function as OnSimulate() is the fixed time step for more deterministic gameplay.

Parameters
deltaTimeThe number of seconds that has passed on the wall clock since the last frame called OnUpdate(). This value will be capped, so if the frame-rate is really bad deltaTime could be lower than the actual wall-time.

Reimplemented from TurtleBrains::Game::GameScene.