Separated interfaces

This commit is contained in:
Rendo 2026-03-10 21:51:01 +05:00
commit 9b1acbbe28
3 changed files with 58 additions and 6 deletions

View file

@ -4,13 +4,26 @@
#include <raylib.h>
#include <raymath.h>
class IComponent {
class IProcessable {
public:
virtual ~IComponent() {}
virtual ~IProcessable() {}
// Called every frame
virtual void process() = 0;
};
class IReadible {
public:
virtual ~IReadible() {}
// Called when the level is set up
virtual void ready() = 0;
};
class Pacman : IComponent {
class IDrawable {
public:
virtual ~IDrawable() {}
virtual void draw() = 0;
};
class Pacman : public IProcessable, public IDrawable {
const int speed = 64;
private:
Texture2D texture;
@ -23,6 +36,17 @@ class Pacman : IComponent {
Pacman(Vector2 position);
~Pacman();
virtual void process();
virtual void draw();
};
class Wall : public IReadible, public IDrawable {
private:
Texture2D texture;
public:
Wall();
~Wall();
virtual void ready();
virtual void draw();
};
#endif