Make Entity::Update call UpdateComponents by default instead of an event

This commit is contained in:
SeanOMik 2020-07-04 16:42:11 -05:00
parent f639894a0d
commit 5bedd85584
No known key found for this signature in database
GPG Key ID: FA4D55AC05268A88
3 changed files with 7 additions and 14 deletions

View File

@ -84,10 +84,6 @@ public:
shape.move(offset); shape.move(offset);
} }
void Update(const float& delta_time) override {
}
void Render(sf::RenderTarget* target) override { void Render(sf::RenderTarget* target) override {
target->draw(shape); target->draw(shape);
} }

View File

@ -28,19 +28,19 @@ namespace simpleengine {
virtual void Move(const float& delta_time, const float& dir_x, const float& dir_y) {}; virtual void Move(const float& delta_time, const float& dir_x, const float& dir_y) {};
virtual void Move(const float& delta_time, const sf::Vector2f& offset) {}; virtual void Move(const float& delta_time, const sf::Vector2f& offset) {};
virtual void Move(const sf::Vector2f& offset) {}; virtual void Move(const sf::Vector2f& offset) {};
virtual void Update(const float& delta_time) = 0;
virtual void Render(sf::RenderTarget* target) = 0; virtual void Render(sf::RenderTarget* target) = 0;
virtual void Update(const float& delta_time) {
UpdateComponents(delta_time);
};
// Called when the entity is about to be destroyed. // Called when the entity is about to be destroyed.
// Make sure to call this in your extending Entity. // Make sure to call this in your extending Entity.
virtual void Destroying(); virtual void Destroying();
void DestroyLater(); // In most cases, this will be ran next EntityEvent::Update() void DestroyLater(); // In most cases, this will be ran next EntityEvent::Update()
const bool& IsGettingDestroyed() const; const bool& IsGettingDestroyed() const;
// If your event does not extend from EntityEvent, you will need to execute this yourself inside Event::Update.
void UpdateComponents(const float& delta_time); void UpdateComponents(const float& delta_time);
void AddComponent(std::unique_ptr<Component> component); void AddComponent(std::unique_ptr<Component> component);
std::shared_ptr<Entity> GetShared() { std::shared_ptr<Entity> GetShared() {

View File

@ -18,16 +18,13 @@ namespace simpleengine {
} }
void CheckForQuit() override { void CheckForQuit() override {
if (entity->IsGettingDestroyed()) {
quit = true;
}
} }
void Update(const float& delta_time) override { void Update(const float& delta_time) override {
entity->Update(delta_time); entity->Update(delta_time);
entity->UpdateComponents(delta_time);
if (entity->IsGettingDestroyed()) {
quit = true;
}
} }
void Render(sf::RenderTarget* target) override { void Render(sf::RenderTarget* target) override {