PGR Copakond OpenGL Engine - Bowling
Loading...
Searching...
No Matches
copakond::BowlingScene Class Reference

Main playable scene containing the bowling alley environment and game loop. More...

#include <bowlingScene.h>

Inheritance diagram for copakond::BowlingScene:
copakond::Scene

Public Member Functions

 BowlingScene (const char *sceneName, Input *input, Shader *shader, int winWidth, int winHeight)
 ~BowlingScene () override
void init () override
void update (float deltaTime) override
void physics_update (float deltaTime) override
 Fixed-step physics update loop for resolving collisions and forces.
void onMouseButtonEvent (int button, int state, int x, int y) override
void onMenuEvent (int option) override
void onMouseWheelEvent (int wheel, int direction, int x, int y) override
void onKeyboardEvent (unsigned char key, int x, int y, bool isDown) override
BowlingGamegetGame ()
std::vector< int > getBowlingBallIds ()
float * getClock ()
Public Member Functions inherited from copakond::Scene
 Scene (const char *sceneName, Input *engineInput, Shader *engineShader, int winWidth, int winHeight)
virtual ~Scene ()=default
const std::vector< Mesh * > & getMeshes () const
const std::vector< Light * > & getLights () const
const std::vector< Spline * > & getSplines () const
const std::vector< CollisionShape * > & getColliders () const
SkyboxgetSkybox () const
LightgetSun () const
CameragetCamera ()
ShadergetShader () const
InputgetInput () const
float updateTime ()
 Calculates delta time since the last frame.
float getSkyboxBlendingCoeff ()
const char * getSceneName ()
virtual void onMouseMoveEvent (int x, int y)
virtual void onScreenResizeEvent (int width, int height)
 Handles viewport and projection matrix updates on window resize.

Additional Inherited Members

Protected Member Functions inherited from copakond::Scene
void addToScene (Mesh *mesh)
void addToScene (Light *light)
void addToScene (Spline *spline)
Protected Attributes inherited from copakond::Scene
const char * WIN_TITLE
Inputinput
Shadershader
Cameracamera
std::vector< Mesh * > meshes = std::vector<Mesh*>()
std::vector< Light * > lights = std::vector<Light*>()
std::vector< Spline * > splines = std::vector<Spline*>()
std::vector< CollisionShape * > colliders = std::vector<CollisionShape*>()
Lightsun = nullptr
Skyboxskybox = nullptr
uint64_t time = 0
int winWidth = 0
int winHeight = 0
float skyboxBlendingCoeff = 0.0f

Detailed Description

Main playable scene containing the bowling alley environment and game loop.

Constructor & Destructor Documentation

◆ BowlingScene()

copakond::BowlingScene::BowlingScene ( const char * sceneName,
Input * input,
Shader * shader,
int winWidth,
int winHeight )

◆ ~BowlingScene()

copakond::BowlingScene::~BowlingScene ( )
override

Member Function Documentation

◆ getBowlingBallIds()

std::vector< int > copakond::BowlingScene::getBowlingBallIds ( )
inline

◆ getClock()

float * copakond::BowlingScene::getClock ( )
inline

◆ getGame()

BowlingGame * copakond::BowlingScene::getGame ( )
inline

◆ init()

void copakond::BowlingScene::init ( )
overridevirtual

Reimplemented from copakond::Scene.

◆ onKeyboardEvent()

void copakond::BowlingScene::onKeyboardEvent ( unsigned char key,
int x,
int y,
bool isDown )
overridevirtual

Reimplemented from copakond::Scene.

◆ onMenuEvent()

void copakond::BowlingScene::onMenuEvent ( int option)
overridevirtual

Reimplemented from copakond::Scene.

◆ onMouseButtonEvent()

void copakond::BowlingScene::onMouseButtonEvent ( int button,
int state,
int x,
int y )
overridevirtual

Reimplemented from copakond::Scene.

◆ onMouseWheelEvent()

void copakond::BowlingScene::onMouseWheelEvent ( int wheel,
int direction,
int x,
int y )
overridevirtual

Reimplemented from copakond::Scene.

◆ physics_update()

void copakond::BowlingScene::physics_update ( float deltaTime)
overridevirtual

Fixed-step physics update loop for resolving collisions and forces.

Reimplemented from copakond::Scene.

◆ update()

void copakond::BowlingScene::update ( float deltaTime)
overridevirtual

Reimplemented from copakond::Scene.


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