Fixed modularity issues
This commit is contained in:
parent
b628beafb9
commit
7fe086a477
2 changed files with 43 additions and 52 deletions
|
|
@ -1,20 +1,8 @@
|
|||
#include <raylib.h>
|
||||
#include <raymath.h>
|
||||
#include "components.h"
|
||||
|
||||
class IComponent {
|
||||
public:
|
||||
virtual ~IComponent() {}
|
||||
virtual void process() = 0;
|
||||
};
|
||||
|
||||
class Pacman : IComponent {
|
||||
const int speed = 64;
|
||||
private:
|
||||
Texture2D texture;
|
||||
Vector2 position;
|
||||
int facing;
|
||||
|
||||
Rectangle getTextureRect(){
|
||||
Rectangle Pacman::getTextureRect(){
|
||||
Rectangle result;
|
||||
result.x = 0;
|
||||
result.y = facing*16;
|
||||
|
|
@ -22,21 +10,20 @@ class Pacman : IComponent {
|
|||
result.width = 16;
|
||||
return result;
|
||||
}
|
||||
public:
|
||||
Pacman() {
|
||||
Pacman::Pacman() {
|
||||
this->texture = LoadTexture("assets/sprites/pacman.png");
|
||||
this->facing = 0;
|
||||
this->position = {0.,0.};
|
||||
}
|
||||
Pacman(Vector2 position) {
|
||||
Pacman::Pacman(Vector2 position) {
|
||||
this->texture = LoadTexture("assets/sprites/pacman.png");
|
||||
this->facing = 0;
|
||||
this->position = position;
|
||||
}
|
||||
~Pacman() {
|
||||
Pacman::~Pacman() {
|
||||
UnloadTexture(this->texture);
|
||||
}
|
||||
virtual void process() {
|
||||
void Pacman::process() {
|
||||
float delta = GetFrameTime();
|
||||
|
||||
// Input handling
|
||||
|
|
@ -53,4 +40,3 @@ class Pacman : IComponent {
|
|||
// Drawing
|
||||
DrawTextureRec(this->texture, this->getTextureRect(), this->position, WHITE);
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
#ifndef COMPONENTS_H
|
||||
#define COMPONENTS_H
|
||||
|
||||
#include <raylib.h>
|
||||
#include <raymath.h>
|
||||
|
||||
|
|
@ -21,3 +24,5 @@ class Pacman : IComponent {
|
|||
~Pacman();
|
||||
virtual void process();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue