EmulatorComponent.h 608 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. namespace TLAC::Components
  3. {
  4. class ComponentsManager;
  5. class EmulatorComponent
  6. {
  7. public:
  8. EmulatorComponent();
  9. ~EmulatorComponent();
  10. virtual const char* GetDisplayName() = 0;
  11. virtual void Initialize(ComponentsManager*) = 0;
  12. virtual void Update() = 0;
  13. virtual void UpdateInput() {};
  14. virtual void UpdatePostInput() {};
  15. virtual void UpdateDraw2D() {};
  16. virtual void OnFocusGain() {};
  17. virtual void OnFocusLost() {};
  18. void SetElapsedTime(float value);
  19. float GetElapsedTime();
  20. float GetFrameRate();
  21. float GetGameFrameRate();
  22. private:
  23. float elapsedTime;
  24. };
  25. }