feat: delta time is no longer const &
parent
502fc20fb0
commit
8b233db1b6
|
@ -15,7 +15,7 @@ void Level::deinstantiate() {
|
|||
this->root.reset();
|
||||
}
|
||||
|
||||
void Level::propagate_tick(double const &delta_time) {
|
||||
void Level::propagate_tick(double delta_time) {
|
||||
this->root->propagate_tick(delta_time);
|
||||
this->root->propagate_post_tick();
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ public:
|
|||
void instantiate();
|
||||
virtual Node::OwnedPtr construct() = 0;
|
||||
void deinstantiate();
|
||||
void propagate_tick(double const &delta_time);
|
||||
void propagate_tick(double delta_time);
|
||||
void propagate_draw(SDL_Renderer *render);
|
||||
|
||||
Node *get_root();
|
||||
|
|
|
@ -125,7 +125,7 @@ std::optional<Node::OwnedPtr> Node::remove_child(Node *node) {
|
|||
}
|
||||
}
|
||||
|
||||
void Node::propagate_tick(double const &delta_time) {
|
||||
void Node::propagate_tick(double delta_time) {
|
||||
if(this->tick) {
|
||||
if(!this->has_ticked) {
|
||||
this->has_ticked = true;
|
||||
|
@ -171,6 +171,15 @@ void Node::propagate_draw(SDL_Renderer *render, ce::Transform const &view_transf
|
|||
}
|
||||
}
|
||||
|
||||
void Node::propagate_draw_ui(SDL_Renderer *render, ce::Transform const &ui_transform) {
|
||||
this->_draw_ui(render, ui_transform);
|
||||
if(this->visible) {
|
||||
this->_draw_ui(render, ui_transform);
|
||||
for(ChildrenVector::value_type &pair : this->children)
|
||||
pair.second->propagate_draw_ui(render, ui_transform);
|
||||
}
|
||||
}
|
||||
|
||||
bool Node::rename_child(std::string const &old_name, std::string const &new_name) {
|
||||
// extract ownership of node and erase old name
|
||||
for(ChildrenVector::iterator itr{this->children.begin()}; itr != this->children.end(); ++itr) {
|
||||
|
|
|
@ -37,9 +37,10 @@ public:
|
|||
public:
|
||||
virtual void _added() {} //!< called the moment after the object is added as a child to another node
|
||||
virtual void _first_tick() {} //!< called the first frame this object is active
|
||||
virtual void _tick(double const &delta_time [[maybe_unused]]) {} //!< called every frame
|
||||
virtual void _tick(double delta_time [[maybe_unused]]) {} //!< called every frame
|
||||
virtual void _removed() {} //!< called the moment before the object is removed as a child to another node
|
||||
virtual void _draw(SDL_Renderer *render [[maybe_unused]], ce::Transform const &view_transform [[maybe_unused]]) {}
|
||||
virtual void _draw_ui(SDL_Renderer *render [[maybe_unused]], ce::Transform const &ui_transform [[maybe_unused]]) {}
|
||||
virtual void _update_transform() {}
|
||||
public:
|
||||
template <class TNode> TNode *get_child(std::string const &name); //!< get a non-owning pointer to a child
|
||||
|
@ -62,11 +63,12 @@ private:
|
|||
void set_level(ce::Level *level);
|
||||
void set_is_inside_tree(bool value);
|
||||
std::optional<Node::OwnedPtr> remove_child(Node *child); //!< remove a child, the caller now owns the pointer
|
||||
void propagate_tick(double const &delta_time);
|
||||
void propagate_tick(double delta_time);
|
||||
void propagate_post_tick();
|
||||
void propagate_added();
|
||||
void propagate_removed();
|
||||
void propagate_draw(SDL_Renderer *render, ce::Transform const &view_transform);
|
||||
void propagate_draw_ui(SDL_Renderer *renderer, ce::Transform const &ui_transform);
|
||||
bool rename_child(std::string const &old_name, std::string const &new_name);
|
||||
};
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@ void Player::_tick(double const &delta) {
|
|||
ACCELERATION * delta
|
||||
);
|
||||
ce::Transform trans{this->get_global_transform().translated(this->velocity * delta)};
|
||||
void Player::_tick(double delta) {
|
||||
trans.position.x = std::clamp(trans.position.x, -LIMITS.x, LIMITS.x);
|
||||
trans.position.y = std::clamp(trans.position.y, -LIMITS.y, LIMITS.y);
|
||||
this->set_global_transform(trans);
|
||||
|
|
|
@ -23,7 +23,7 @@ class Player : public ce::CollidableNode {
|
|||
float invincibility{0.f};
|
||||
public:
|
||||
Player();
|
||||
virtual void _tick(double const &delta) override;
|
||||
virtual void _tick(double delta) override;
|
||||
void _input_horizontal_movement(ce::InputValue value);
|
||||
void _input_vertical_movement(ce::InputValue value);
|
||||
void _on_overlap_enter(ce::CollisionShape *, ce::CollidableNode *node, ce::CollisionShape*);
|
||||
|
|
|
@ -20,7 +20,7 @@ ScrollingGround::ScrollingGround()
|
|||
);
|
||||
}
|
||||
|
||||
void ScrollingGround::_tick(double const &delta) {
|
||||
void ScrollingGround::_tick(double delta) {
|
||||
ce::Transform trans;
|
||||
for(size_t i{0u}; i < NUM_SPRITES; ++i) {
|
||||
trans = this->sprites[i]->get_global_transform()
|
||||
|
|
|
@ -11,7 +11,7 @@ class ScrollingGround : public ce::Node2D {
|
|||
ce::Sprite *sprites[2]{nullptr, nullptr};
|
||||
public:
|
||||
ScrollingGround();
|
||||
virtual void _tick(double const &delta) override;
|
||||
virtual void _tick(double delta) override;
|
||||
};
|
||||
|
||||
#endif // !SCROLLING_GROUND_HPP
|
||||
|
|
|
@ -15,7 +15,7 @@ void TestNode::_first_tick() {
|
|||
this->sprite->set_global_transform(st);
|
||||
}
|
||||
|
||||
void TestNode::_tick(double const &delta) {
|
||||
void TestNode::_tick(double delta) {
|
||||
ce::Node2D::_tick(delta);
|
||||
ce::Transform trans{this->get_transform()};
|
||||
trans.position.x = 500 + std::sin(SDL_GetTicks64() * 0.001) * 100.f;
|
||||
|
|
|
@ -12,7 +12,7 @@ private:
|
|||
public:
|
||||
TestNode();
|
||||
virtual void _first_tick() override;
|
||||
virtual void _tick(double const &delta) override;
|
||||
virtual void _tick(double delta) override;
|
||||
virtual void _draw(SDL_Renderer *render, ce::Transform const &view_transform) override;
|
||||
};
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@ Truck::Truck(bool left)
|
|||
}));
|
||||
}
|
||||
|
||||
void Truck::_tick(double const &delta) {
|
||||
wave_time += delta * FREQUENCY;
|
||||
ce::Transform const transform{this->get_global_transform()
|
||||
.translated(ce::Vecf{
|
||||
|
@ -24,6 +23,7 @@ void Truck::_tick(double const &delta) {
|
|||
} * float(delta))
|
||||
};
|
||||
this->set_global_transform(transform);
|
||||
void Truck::_tick(double delta) {
|
||||
if(transform.position.y > 4.5f)
|
||||
this->flag_for_deletion();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue