55 lines
1.9 KiB
C
55 lines
1.9 KiB
C
|
/*********************************************************************
|
||
|
* \file SHSystem.h
|
||
|
* \author Daniel Chua Yee Chen
|
||
|
* \brief Declaration for the SHSytem abstract base class
|
||
|
*
|
||
|
* \copyright Copyright (c) 2021 DigiPen Institute of Technology. Reproduction
|
||
|
or disclosure of this file or its contents without the prior written
|
||
|
consent of DigiPen Institute of Technology is prohibited.
|
||
|
*********************************************************************/
|
||
|
|
||
|
#ifndef SH_SYSTEM_H
|
||
|
#define SH_SYSTEM_H
|
||
|
|
||
|
namespace SHADE
|
||
|
{
|
||
|
class SHSystem
|
||
|
{
|
||
|
protected:
|
||
|
/*!*************************************************************************
|
||
|
* \brief
|
||
|
* Protected default constructor for SHSytem class
|
||
|
***************************************************************************/
|
||
|
SHSystem()= default;
|
||
|
|
||
|
public:
|
||
|
/*!*************************************************************************
|
||
|
* \brief
|
||
|
* Destructor for SHSytem class
|
||
|
***************************************************************************/
|
||
|
virtual ~SHSystem() = default;
|
||
|
|
||
|
/*!*************************************************************************
|
||
|
* \brief
|
||
|
* Pure virtual Init function. Derived class must implement this
|
||
|
***************************************************************************/
|
||
|
virtual void Init() = 0;
|
||
|
|
||
|
/*!*************************************************************************
|
||
|
* \brief
|
||
|
* Pure virtual Run function. Derived class must implement this
|
||
|
* \param dt
|
||
|
* Delta time
|
||
|
***************************************************************************/
|
||
|
virtual void Run(float dt) = 0;
|
||
|
|
||
|
/*!*************************************************************************
|
||
|
* \brief
|
||
|
* Pure virtual Exit function. Derived class must implement this
|
||
|
***************************************************************************/
|
||
|
virtual void Exit() = 0;
|
||
|
|
||
|
};
|
||
|
}
|
||
|
|
||
|
#endif
|