template<typename Property, class PropertyManager>
bn::cyclic_duration_by_template_action class

Modifies the property by delta when the action is updated a given number of times. When the property is over the given maximum, it goes back to the given minimum and vice versa.

Template parameters
Property Property to modify.
PropertyManager Reads and writes the property to modify.

Constructors, destructors, conversion operators

cyclic_duration_by_template_action(int duration_updates, const Property& delta_property, const Property& min_property, const Property& after_max_property) protected
Constructor.

Public functions

void reset()
Resets the property to its initial state.
void update()
Adds delta_property to the property when the given amount of update calls are done.
auto duration_updates() const -> int
Returns how much times the action has to be updated before updating the property.

Protected functions

auto delta_property() const -> const Property&
Returns how much to add to the property when the action is updated the given number of times.
void set_min_property(const Property& min_property)
Sets the minimum property.
void set_after_max_property(const Property& after_max_property)
Sets the immediate amount after the maximum property.

Function documentation

template<typename Property, class PropertyManager>
bn::cyclic_duration_by_template_action<Property, PropertyManager>::cyclic_duration_by_template_action(int duration_updates, const Property& delta_property, const Property& min_property, const Property& after_max_property) protected

Constructor.

Parameters
duration_updates How much times the action has to be updated before updating the property.
delta_property How much to add to the property when the action is updated duration_updates times.
min_property Minimum property.
after_max_property Immediate amount after the maximum property.

template<typename Property, class PropertyManager>
void bn::cyclic_duration_by_template_action<Property, PropertyManager>::update()

Adds delta_property to the property when the given amount of update calls are done.

When the property reaches the maximum, it goes back to the minimum and vice versa.