Loading...
Searching...
No Matches
Manager.h
Go to the documentation of this file.
1//
2// Created by Dave Smith on 3/11/25.
3//
4
5#ifndef MANAGER_H
6#define MANAGER_H
7
8#pragma once
9
10namespace ml
11{
32 class Manager
33 {
34 public:
35 virtual ~Manager() = default;
36
48 virtual void fireInputEvents(const std::optional<sf::Event>& event) = 0;
49
56 virtual void fireUpdateEvents() = 0;
57
65 virtual void run() = 0;
66
74 virtual void draw() = 0;
75 };
76
77} // namespace ml
78
79#endif // MANAGER_H
Abstract base class for all Malena managers.
Definition Manager.h:33
virtual void fireInputEvents(const std::optional< sf::Event > &event)=0
Distribute an SFML input event to this subsystem.
virtual void fireUpdateEvents()=0
Fire the per-frame update event across all subscribers.
virtual void run()=0
Execute subsystem-specific per-frame work.
virtual void draw()=0
Render the subsystem's visual output to the window.
virtual ~Manager()=default
Definition Component.h:18