42 lines
856 B
C++
42 lines
856 B
C++
|
#pragma once
|
||
|
|
||
|
#include "tinyengine/ecs/system.hpp"
|
||
|
#include "tinyengine/tinyengine.hpp"
|
||
|
#include "game/global.hpp"
|
||
|
#include "game/component.hpp"
|
||
|
#include "game/entity.hpp"
|
||
|
|
||
|
class PhysicalSystem: public UpdateSystem {
|
||
|
public:
|
||
|
void Update(float dt) override;
|
||
|
|
||
|
private:
|
||
|
void physicalStep(Entity* entity, float dt, MoveCmpt&, MotionCmpt&);
|
||
|
};
|
||
|
|
||
|
class ColliRectCorrectSystem: public UpdateSystem {
|
||
|
public:
|
||
|
void Update(float dt) override;
|
||
|
|
||
|
private:
|
||
|
void correctColliRect(MoveCmpt&, CollisionCmpt&);
|
||
|
};
|
||
|
|
||
|
class CleanupSystem: public UpdateSystem {
|
||
|
public:
|
||
|
void Update(float dt) override;
|
||
|
};
|
||
|
|
||
|
class BulletCooldownSystem: public UpdateSystem {
|
||
|
public:
|
||
|
void Update(float dt) override;
|
||
|
};
|
||
|
|
||
|
class RenderEntitySystem: public RenderSystem {
|
||
|
public:
|
||
|
void Render() override;
|
||
|
|
||
|
private:
|
||
|
void renderEntity(Entity* entity, const RenderCmpt&);
|
||
|
};
|